ccgo_linux_arm.go 1.7 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138
  1. // Code generated for linux/arm by 'generator -D__sync_fetch_and_add(var, val)=__sync_fetch_and_add_impl(&(var), val) --predef int __sync_fetch_and_add_impl(int *p, int val); --predef int __sync_bool_compare_and_swap(void *p, void *old, void *new); --predef int initstate_r(unsigned int seed, char statebuf[], __SIZE_TYPE__ statelen, struct random_data *buf); --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 -ignore-unsupported-alignment -ignore-link-errors -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libexpat/include/linux/arm -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libfreetype/include/linux/arm -lexpat -lfreetype -o libfontconfig.go --package-name libfontconfig src/.libs/libfontconfig.a', DO NOT EDIT.
  2. //go:build linux && arm
  3. package libfontconfig
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. "modernc.org/libexpat"
  9. "modernc.org/libfreetype"
  10. )
  11. var _ reflect.Type
  12. var _ unsafe.Pointer
  13. const m_ALIGNOF_DOUBLE = 8
  14. const m_ALIGNOF_VOID_P = 4
  15. const m_ARG_MAX = 131072
  16. const m_BC_BASE_MAX = 99
  17. const m_BC_DIM_MAX = 2048
  18. const m_BC_SCALE_MAX = 99
  19. const m_BC_STRING_MAX = 1000
  20. const m_BIG_ENDIAN = "__BIG_ENDIAN"
  21. const m_BUFSIZ = 1024
  22. const m_BYTE_ORDER = "__BYTE_ORDER"
  23. const m_CHARCLASS_NAME_MAX = 14
  24. const m_CHAR_BIT = 8
  25. const m_CHAR_MAX = 255
  26. const m_CHAR_MIN = 0
  27. const m_CLOCKS_PER_SEC = 1000000
  28. const m_CLOCK_BOOTTIME = 7
  29. const m_CLOCK_BOOTTIME_ALARM = 9
  30. const m_CLOCK_MONOTONIC = 1
  31. const m_CLOCK_MONOTONIC_COARSE = 6
  32. const m_CLOCK_MONOTONIC_RAW = 4
  33. const m_CLOCK_PROCESS_CPUTIME_ID = 2
  34. const m_CLOCK_REALTIME = 0
  35. const m_CLOCK_REALTIME_ALARM = 8
  36. const m_CLOCK_REALTIME_COARSE = 5
  37. const m_CLOCK_SGI_CYCLE = 10
  38. const m_CLOCK_TAI = 11
  39. const m_CLOCK_THREAD_CPUTIME_ID = 3
  40. const m_COLL_WEIGHTS_MAX = 2
  41. const m_CONFIGDIR = "/etc/fonts/conf.d"
  42. const m_DBL_DECIMAL_DIG = 17
  43. const m_DBL_DIG = 15
  44. const m_DBL_EPSILON = 2.22044604925031308085e-16
  45. const m_DBL_HAS_SUBNORM = 1
  46. const m_DBL_MANT_DIG = 53
  47. const m_DBL_MAX = 1.79769313486231570815e+308
  48. const m_DBL_MAX_10_EXP = 308
  49. const m_DBL_MAX_EXP = 1024
  50. const m_DBL_MIN = 2.22507385850720138309e-308
  51. const m_DBL_TRUE_MIN = 4.94065645841246544177e-324
  52. const m_DECIMAL_DIG = 17
  53. const m_DELAYTIMER_MAX = 0x7fffffff
  54. const m_E2BIG = 7
  55. const m_EACCES = 13
  56. const m_EADDRINUSE = 98
  57. const m_EADDRNOTAVAIL = 99
  58. const m_EADV = 68
  59. const m_EAFNOSUPPORT = 97
  60. const m_EAGAIN = 11
  61. const m_EALREADY = 114
  62. const m_EBADE = 52
  63. const m_EBADF = 9
  64. const m_EBADFD = 77
  65. const m_EBADMSG = 74
  66. const m_EBADR = 53
  67. const m_EBADRQC = 56
  68. const m_EBADSLT = 57
  69. const m_EBFONT = 59
  70. const m_EBUSY = 16
  71. const m_ECANCELED = 125
  72. const m_ECHILD = 10
  73. const m_ECHRNG = 44
  74. const m_ECOMM = 70
  75. const m_ECONNABORTED = 103
  76. const m_ECONNREFUSED = 111
  77. const m_ECONNRESET = 104
  78. const m_EDEADLK = 35
  79. const m_EDEADLOCK = "EDEADLK"
  80. const m_EDESTADDRREQ = 89
  81. const m_EDOM = 33
  82. const m_EDOTDOT = 73
  83. const m_EDQUOT = 122
  84. const m_EEXIST = 17
  85. const m_EFAULT = 14
  86. const m_EFBIG = 27
  87. const m_EHOSTDOWN = 112
  88. const m_EHOSTUNREACH = 113
  89. const m_EHWPOISON = 133
  90. const m_EIDRM = 43
  91. const m_EILSEQ = 84
  92. const m_EINPROGRESS = 115
  93. const m_EINTR = 4
  94. const m_EINVAL = 22
  95. const m_EIO = 5
  96. const m_EISCONN = 106
  97. const m_EISDIR = 21
  98. const m_EISNAM = 120
  99. const m_EKEYEXPIRED = 127
  100. const m_EKEYREJECTED = 129
  101. const m_EKEYREVOKED = 128
  102. const m_EL2HLT = 51
  103. const m_EL2NSYNC = 45
  104. const m_EL3HLT = 46
  105. const m_EL3RST = 47
  106. const m_ELIBACC = 79
  107. const m_ELIBBAD = 80
  108. const m_ELIBEXEC = 83
  109. const m_ELIBMAX = 82
  110. const m_ELIBSCN = 81
  111. const m_ELNRNG = 48
  112. const m_ELOOP = 40
  113. const m_EMEDIUMTYPE = 124
  114. const m_EMFILE = 24
  115. const m_EMLINK = 31
  116. const m_EMSGSIZE = 90
  117. const m_EMULTIHOP = 72
  118. const m_ENABLE_NLS = 1
  119. const m_ENAMETOOLONG = 36
  120. const m_ENAVAIL = 119
  121. const m_ENETDOWN = 100
  122. const m_ENETRESET = 102
  123. const m_ENETUNREACH = 101
  124. const m_ENFILE = 23
  125. const m_ENOANO = 55
  126. const m_ENOBUFS = 105
  127. const m_ENOCSI = 50
  128. const m_ENODATA = 61
  129. const m_ENODEV = 19
  130. const m_ENOENT = 2
  131. const m_ENOEXEC = 8
  132. const m_ENOKEY = 126
  133. const m_ENOLCK = 37
  134. const m_ENOLINK = 67
  135. const m_ENOMEDIUM = 123
  136. const m_ENOMEM = 12
  137. const m_ENOMSG = 42
  138. const m_ENONET = 64
  139. const m_ENOPKG = 65
  140. const m_ENOPROTOOPT = 92
  141. const m_ENOSPC = 28
  142. const m_ENOSR = 63
  143. const m_ENOSTR = 60
  144. const m_ENOSYS = 38
  145. const m_ENOTBLK = 15
  146. const m_ENOTCONN = 107
  147. const m_ENOTDIR = 20
  148. const m_ENOTEMPTY = 39
  149. const m_ENOTNAM = 118
  150. const m_ENOTRECOVERABLE = 131
  151. const m_ENOTSOCK = 88
  152. const m_ENOTSUP = "EOPNOTSUPP"
  153. const m_ENOTTY = 25
  154. const m_ENOTUNIQ = 76
  155. const m_ENXIO = 6
  156. const m_EOPNOTSUPP = 95
  157. const m_EOVERFLOW = 75
  158. const m_EOWNERDEAD = 130
  159. const m_EPERM = 1
  160. const m_EPFNOSUPPORT = 96
  161. const m_EPIPE = 32
  162. const m_EPROTO = 71
  163. const m_EPROTONOSUPPORT = 93
  164. const m_EPROTOTYPE = 91
  165. const m_ERANGE = 34
  166. const m_EREMCHG = 78
  167. const m_EREMOTE = 66
  168. const m_EREMOTEIO = 121
  169. const m_ERESTART = 85
  170. const m_ERFKILL = 132
  171. const m_EROFS = 30
  172. const m_ESHUTDOWN = 108
  173. const m_ESOCKTNOSUPPORT = 94
  174. const m_ESPIPE = 29
  175. const m_ESRCH = 3
  176. const m_ESRMNT = 69
  177. const m_ESTALE = 116
  178. const m_ESTRPIPE = 86
  179. const m_ETIME = 62
  180. const m_ETIMEDOUT = 110
  181. const m_ETOOMANYREFS = 109
  182. const m_ETXTBSY = 26
  183. const m_EUCLEAN = 117
  184. const m_EUNATCH = 49
  185. const m_EUSERS = 87
  186. const m_EWOULDBLOCK = "EAGAIN"
  187. const m_EXDEV = 18
  188. const m_EXFULL = 54
  189. const m_EXIT_FAILURE = 1
  190. const m_EXIT_SUCCESS = 0
  191. const m_EXPR_NEST_MAX = 32
  192. const m_FCSS_ALLOW_DUPLICATES = 1
  193. const m_FCSS_DEFAULT = 0
  194. const m_FCSS_GROW_BY_64 = 2
  195. const m_FC_ADD_FONTS = "yes"
  196. const m_FC_ANTIALIAS = "antialias"
  197. const m_FC_ASPECT = "aspect"
  198. const m_FC_ATOMIC_INT_FORMAT = "d"
  199. const m_FC_AUTOHINT = "autohint"
  200. const m_FC_CACHEDIR = "/usr/var/cache/fontconfig"
  201. const m_FC_CACHE_MAGIC_ALLOC = 0xFC02FC05
  202. const m_FC_CACHE_MAGIC_MMAP = 0xFC02FC04
  203. const m_FC_CACHE_VERSION_NUMBER = 8
  204. const m_FC_CAPABILITY = "capability"
  205. const m_FC_CASE_FOLD_EVEN_ODD = 1
  206. const m_FC_CASE_FOLD_FULL = 2
  207. const m_FC_CASE_FOLD_RANGE = 0
  208. const m_FC_CHARCELL = 110
  209. const m_FC_CHARSET = "charset"
  210. const m_FC_CHARWIDTH = "charwidth"
  211. const m_FC_CHAR_HEIGHT = "charheight"
  212. const m_FC_CHAR_WIDTH = "FC_CHARWIDTH"
  213. const m_FC_COLOR = "color"
  214. const m_FC_CONFIG_PATH = "fonts.conf"
  215. const m_FC_DBG_CACHE = 16
  216. const m_FC_DBG_CACHEV = 32
  217. const m_FC_DBG_CONFIG = 1024
  218. const m_FC_DBG_EDIT = 4
  219. const m_FC_DBG_FONTSET = 8
  220. const m_FC_DBG_LANGSET = 2048
  221. const m_FC_DBG_MATCH = 1
  222. const m_FC_DBG_MATCH2 = 4096
  223. const m_FC_DBG_MATCHV = 2
  224. const m_FC_DBG_PARSE = 64
  225. const m_FC_DBG_SCAN = 128
  226. const m_FC_DBG_SCANV = 256
  227. const m_FC_DECORATIVE = "decorative"
  228. const m_FC_DEFAULT_FONTS = "<dir>/usr/share/fonts</dir>"
  229. const m_FC_DIR_SEPARATOR = '/'
  230. const m_FC_DIR_SEPARATOR_S = "/"
  231. const m_FC_DPI = "dpi"
  232. const m_FC_DUAL = 90
  233. const m_FC_EMBEDDED_BITMAP = "embeddedbitmap"
  234. const m_FC_EMBOLDEN = "embolden"
  235. const m_FC_EXT_OBJ_INDEX = 1024
  236. const m_FC_FAMILY = "family"
  237. const m_FC_FAMILYLANG = "familylang"
  238. const m_FC_FILE = "file"
  239. const m_FC_FONTFORMAT = "fontformat"
  240. const m_FC_FONTVERSION = "fontversion"
  241. const m_FC_FONT_FEATURES = "fontfeatures"
  242. const m_FC_FONT_HAS_HINT = "fonthashint"
  243. const m_FC_FONT_VARIATIONS = "fontvariations"
  244. const m_FC_FOUNDRY = "foundry"
  245. const m_FC_FT_FACE = "ftface"
  246. const m_FC_FULLNAME = "fullname"
  247. const m_FC_FULLNAMELANG = "fullnamelang"
  248. const m_FC_GLOBAL_ADVANCE = "globaladvance"
  249. const m_FC_GPERF_SIZE_T = "size_t"
  250. const m_FC_HASH = "hash"
  251. const m_FC_HINTING = "hinting"
  252. const m_FC_HINT_FULL = 3
  253. const m_FC_HINT_MEDIUM = 2
  254. const m_FC_HINT_NONE = 0
  255. const m_FC_HINT_SLIGHT = 1
  256. const m_FC_HINT_STYLE = "hintstyle"
  257. const m_FC_INDEX = "index"
  258. const m_FC_LANG = "lang"
  259. const m_FC_LCD_DEFAULT = 1
  260. const m_FC_LCD_FILTER = "lcdfilter"
  261. const m_FC_LCD_LEGACY = 3
  262. const m_FC_LCD_LIGHT = 2
  263. const m_FC_LCD_NONE = 0
  264. const m_FC_MAJOR = 2
  265. const m_FC_MATRIX = "matrix"
  266. const m_FC_MAX_FILE_LEN = 4096
  267. const m_FC_MINOR = 14
  268. const m_FC_MINSPACE = "minspace"
  269. const m_FC_MONO = 100
  270. const m_FC_MUTEX_IMPL_INIT = 0
  271. const m_FC_NAMELANG = "namelang"
  272. const m_FC_NO_MT = 1
  273. const m_FC_ORDER = "order"
  274. const m_FC_OUTLINE = "outline"
  275. const m_FC_PATH_MAX = "PATH_MAX"
  276. const m_FC_PIXEL_SIZE = "pixelsize"
  277. const m_FC_POSTSCRIPT_NAME = "postscriptname"
  278. const m_FC_PRGNAME = "prgname"
  279. const m_FC_PROPORTIONAL = 0
  280. const m_FC_RASTERIZER = "rasterizer"
  281. const m_FC_REVISION = 1
  282. const m_FC_RGBA = "rgba"
  283. const m_FC_RGBA_BGR = 2
  284. const m_FC_RGBA_NONE = 5
  285. const m_FC_RGBA_RGB = 1
  286. const m_FC_RGBA_UNKNOWN = 0
  287. const m_FC_RGBA_VBGR = 4
  288. const m_FC_RGBA_VRGB = 3
  289. const m_FC_SCALABLE = "scalable"
  290. const m_FC_SCALE = "scale"
  291. const m_FC_SEARCH_PATH_SEPARATOR = ':'
  292. const m_FC_SIZE = "size"
  293. const m_FC_SLANT = "slant"
  294. const m_FC_SLANT_ITALIC = 100
  295. const m_FC_SLANT_OBLIQUE = 110
  296. const m_FC_SLANT_ROMAN = 0
  297. const m_FC_SOURCE = "source"
  298. const m_FC_SPACING = "spacing"
  299. const m_FC_STMT_START = "do"
  300. const m_FC_STYLE = "style"
  301. const m_FC_STYLELANG = "stylelang"
  302. const m_FC_SYMBOL = "symbol"
  303. const m_FC_TEMPLATEDIR = "/usr/share/fontconfig/conf.avail"
  304. const m_FC_UINT64_FORMAT = "llu"
  305. const m_FC_UTF8_MAX_LEN = 6
  306. const m_FC_VARIABLE = "variable"
  307. const m_FC_VERTICAL_LAYOUT = "verticallayout"
  308. const m_FC_WEIGHT = "weight"
  309. const m_FC_WEIGHT_BLACK = 210
  310. const m_FC_WEIGHT_BOLD = 200
  311. const m_FC_WEIGHT_BOOK = 75
  312. const m_FC_WEIGHT_DEMIBOLD = 180
  313. const m_FC_WEIGHT_DEMILIGHT = 55
  314. const m_FC_WEIGHT_EXTRABLACK = 215
  315. const m_FC_WEIGHT_EXTRABOLD = 205
  316. const m_FC_WEIGHT_EXTRALIGHT = 40
  317. const m_FC_WEIGHT_HEAVY = "FC_WEIGHT_BLACK"
  318. const m_FC_WEIGHT_LIGHT = 50
  319. const m_FC_WEIGHT_MEDIUM = 100
  320. const m_FC_WEIGHT_NORMAL = "FC_WEIGHT_REGULAR"
  321. const m_FC_WEIGHT_REGULAR = 80
  322. const m_FC_WEIGHT_SEMIBOLD = "FC_WEIGHT_DEMIBOLD"
  323. const m_FC_WEIGHT_SEMILIGHT = "FC_WEIGHT_DEMILIGHT"
  324. const m_FC_WEIGHT_THIN = 0
  325. const m_FC_WEIGHT_ULTRABLACK = "FC_WEIGHT_EXTRABLACK"
  326. const m_FC_WEIGHT_ULTRABOLD = "FC_WEIGHT_EXTRABOLD"
  327. const m_FC_WEIGHT_ULTRALIGHT = "FC_WEIGHT_EXTRALIGHT"
  328. const m_FC_WIDTH = "width"
  329. const m_FC_WIDTH_CONDENSED = 75
  330. const m_FC_WIDTH_EXPANDED = 125
  331. const m_FC_WIDTH_EXTRACONDENSED = 63
  332. const m_FC_WIDTH_EXTRAEXPANDED = 150
  333. const m_FC_WIDTH_NORMAL = 100
  334. const m_FC_WIDTH_SEMICONDENSED = 87
  335. const m_FC_WIDTH_SEMIEXPANDED = 113
  336. const m_FC_WIDTH_ULTRACONDENSED = 50
  337. const m_FC_WIDTH_ULTRAEXPANDED = 200
  338. const m_FD_SETSIZE = 1024
  339. const m_FILENAME_MAX = 4096
  340. const m_FILESIZEBITS = 64
  341. const m_FLT_DECIMAL_DIG = 9
  342. const m_FLT_DIG = 6
  343. const m_FLT_EPSILON = 1.1920928955078125e-07
  344. const m_FLT_EVAL_METHOD = 0
  345. const m_FLT_HAS_SUBNORM = 1
  346. const m_FLT_MANT_DIG = 24
  347. const m_FLT_MAX = 3.40282346638528859812e+38
  348. const m_FLT_MAX_10_EXP = 38
  349. const m_FLT_MAX_EXP = 128
  350. const m_FLT_MIN = 1.17549435082228750797e-38
  351. const m_FLT_RADIX = 2
  352. const m_FLT_TRUE_MIN = 1.40129846432481707092e-45
  353. const m_FONTCONFIG_PATH = "/etc/fonts"
  354. const m_FOPEN_MAX = 1000
  355. const m_FP_ILOGB0 = "FP_ILOGBNAN"
  356. const m_FP_INFINITE = 1
  357. const m_FP_NAN = 0
  358. const m_FP_NORMAL = 4
  359. const m_FP_SUBNORMAL = 3
  360. const m_FP_ZERO = 2
  361. const m_F_LOCK = 1
  362. const m_F_OK = 0
  363. const m_F_TEST = 3
  364. const m_F_TLOCK = 2
  365. const m_F_ULOCK = 0
  366. const m_FcBlanksAdd = "IA__FcBlanksAdd"
  367. const m_FcBlanksCreate = "IA__FcBlanksCreate"
  368. const m_FcBlanksDestroy = "IA__FcBlanksDestroy"
  369. const m_FcBlanksIsMember = "IA__FcBlanksIsMember"
  370. const m_FcCacheCopySet = "IA__FcCacheCopySet"
  371. const m_FcCacheCreateTagFile = "IA__FcCacheCreateTagFile"
  372. const m_FcCacheNumFont = "IA__FcCacheNumFont"
  373. const m_FcCacheNumSubdir = "IA__FcCacheNumSubdir"
  374. const m_FcCharSetAddChar = "IA__FcCharSetAddChar"
  375. const m_FcCharSetCopy = "IA__FcCharSetCopy"
  376. const m_FcCharSetCount = "IA__FcCharSetCount"
  377. const m_FcCharSetCoverage = "IA__FcCharSetCoverage"
  378. const m_FcCharSetCreate = "IA__FcCharSetCreate"
  379. const m_FcCharSetDelChar = "IA__FcCharSetDelChar"
  380. const m_FcCharSetDestroy = "IA__FcCharSetDestroy"
  381. const m_FcCharSetEqual = "IA__FcCharSetEqual"
  382. const m_FcCharSetFirstPage = "IA__FcCharSetFirstPage"
  383. const m_FcCharSetHasChar = "IA__FcCharSetHasChar"
  384. const m_FcCharSetIntersect = "IA__FcCharSetIntersect"
  385. const m_FcCharSetIntersectCount = "IA__FcCharSetIntersectCount"
  386. const m_FcCharSetIsSubset = "IA__FcCharSetIsSubset"
  387. const m_FcCharSetMerge = "IA__FcCharSetMerge"
  388. const m_FcCharSetNew = "IA__FcCharSetNew"
  389. const m_FcCharSetNextPage = "IA__FcCharSetNextPage"
  390. const m_FcCharSetSubtract = "IA__FcCharSetSubtract"
  391. const m_FcCharSetSubtractCount = "IA__FcCharSetSubtractCount"
  392. const m_FcCharSetUnion = "IA__FcCharSetUnion"
  393. const m_FcConfigAppFontAddDir = "IA__FcConfigAppFontAddDir"
  394. const m_FcConfigAppFontAddFile = "IA__FcConfigAppFontAddFile"
  395. const m_FcConfigAppFontClear = "IA__FcConfigAppFontClear"
  396. const m_FcConfigBuildFonts = "IA__FcConfigBuildFonts"
  397. const m_FcConfigCreate = "IA__FcConfigCreate"
  398. const m_FcConfigDestroy = "IA__FcConfigDestroy"
  399. const m_FcConfigEnableHome = "IA__FcConfigEnableHome"
  400. const m_FcConfigFileInfoIterGet = "IA__FcConfigFileInfoIterGet"
  401. const m_FcConfigFileInfoIterInit = "IA__FcConfigFileInfoIterInit"
  402. const m_FcConfigFileInfoIterNext = "IA__FcConfigFileInfoIterNext"
  403. const m_FcConfigFilename = "IA__FcConfigFilename"
  404. const m_FcConfigGetBlanks = "IA__FcConfigGetBlanks"
  405. const m_FcConfigGetCache = "IA__FcConfigGetCache"
  406. const m_FcConfigGetCacheDirs = "IA__FcConfigGetCacheDirs"
  407. const m_FcConfigGetConfigDirs = "IA__FcConfigGetConfigDirs"
  408. const m_FcConfigGetConfigFiles = "IA__FcConfigGetConfigFiles"
  409. const m_FcConfigGetCurrent = "IA__FcConfigGetCurrent"
  410. const m_FcConfigGetFilename = "IA__FcConfigGetFilename"
  411. const m_FcConfigGetFontDirs = "IA__FcConfigGetFontDirs"
  412. const m_FcConfigGetFonts = "IA__FcConfigGetFonts"
  413. const m_FcConfigGetRescanInterval = "IA__FcConfigGetRescanInterval"
  414. const m_FcConfigGetRescanInverval = "IA__FcConfigGetRescanInverval"
  415. const m_FcConfigGetSysRoot = "IA__FcConfigGetSysRoot"
  416. const m_FcConfigHome = "IA__FcConfigHome"
  417. const m_FcConfigParseAndLoad = "IA__FcConfigParseAndLoad"
  418. const m_FcConfigParseAndLoadFromMemory = "IA__FcConfigParseAndLoadFromMemory"
  419. const m_FcConfigReference = "IA__FcConfigReference"
  420. const m_FcConfigSetCurrent = "IA__FcConfigSetCurrent"
  421. const m_FcConfigSetRescanInterval = "IA__FcConfigSetRescanInterval"
  422. const m_FcConfigSetRescanInverval = "IA__FcConfigSetRescanInverval"
  423. const m_FcConfigSetSysRoot = "IA__FcConfigSetSysRoot"
  424. const m_FcConfigSubstitute = "IA__FcConfigSubstitute"
  425. const m_FcConfigSubstituteWithPat = "IA__FcConfigSubstituteWithPat"
  426. const m_FcConfigUptoDate = "IA__FcConfigUptoDate"
  427. const m_FcDefaultSubstitute = "IA__FcDefaultSubstitute"
  428. const m_FcDirCacheClean = "IA__FcDirCacheClean"
  429. const m_FcDirCacheCreateUUID = "IA__FcDirCacheCreateUUID"
  430. const m_FcDirCacheDeleteUUID = "IA__FcDirCacheDeleteUUID"
  431. const m_FcDirCacheLoad = "IA__FcDirCacheLoad"
  432. const m_FcDirCacheLoadFile = "IA__FcDirCacheLoadFile"
  433. const m_FcDirCacheRead = "IA__FcDirCacheRead"
  434. const m_FcDirCacheRescan = "IA__FcDirCacheRescan"
  435. const m_FcDirCacheUnlink = "IA__FcDirCacheUnlink"
  436. const m_FcDirCacheUnload = "IA__FcDirCacheUnload"
  437. const m_FcDirCacheValid = "IA__FcDirCacheValid"
  438. const m_FcDirSave = "IA__FcDirSave"
  439. const m_FcDirScan = "IA__FcDirScan"
  440. const m_FcDontCare = 2
  441. const m_FcFalse = 0
  442. const m_FcFileIsDir = "IA__FcFileIsDir"
  443. const m_FcFileScan = "IA__FcFileScan"
  444. const m_FcFini = "IA__FcFini"
  445. const m_FcFontList = "IA__FcFontList"
  446. const m_FcFontMatch = "IA__FcFontMatch"
  447. const m_FcFontRenderPrepare = "IA__FcFontRenderPrepare"
  448. const m_FcFontSetAdd = "IA__FcFontSetAdd"
  449. const m_FcFontSetCreate = "IA__FcFontSetCreate"
  450. const m_FcFontSetDestroy = "IA__FcFontSetDestroy"
  451. const m_FcFontSetList = "IA__FcFontSetList"
  452. const m_FcFontSetMatch = "IA__FcFontSetMatch"
  453. const m_FcFontSetPrint = "IA__FcFontSetPrint"
  454. const m_FcFontSetSort = "IA__FcFontSetSort"
  455. const m_FcFontSetSortDestroy = "IA__FcFontSetSortDestroy"
  456. const m_FcFontSort = "IA__FcFontSort"
  457. const m_FcFreeTypeQuery = "IA__FcFreeTypeQuery"
  458. const m_FcFreeTypeQueryAll = "IA__FcFreeTypeQueryAll"
  459. const m_FcGetDefaultLangs = "IA__FcGetDefaultLangs"
  460. const m_FcGetLangs = "IA__FcGetLangs"
  461. const m_FcGetVersion = "IA__FcGetVersion"
  462. const m_FcInit = "IA__FcInit"
  463. const m_FcInitBringUptoDate = "IA__FcInitBringUptoDate"
  464. const m_FcInitLoadConfig = "IA__FcInitLoadConfig"
  465. const m_FcInitLoadConfigAndFonts = "IA__FcInitLoadConfigAndFonts"
  466. const m_FcInitReinitialize = "IA__FcInitReinitialize"
  467. const m_FcLangGetCharSet = "IA__FcLangGetCharSet"
  468. const m_FcLangNormalize = "IA__FcLangNormalize"
  469. const m_FcLangSetAdd = "IA__FcLangSetAdd"
  470. const m_FcLangSetCompare = "IA__FcLangSetCompare"
  471. const m_FcLangSetContains = "IA__FcLangSetContains"
  472. const m_FcLangSetCopy = "IA__FcLangSetCopy"
  473. const m_FcLangSetCreate = "IA__FcLangSetCreate"
  474. const m_FcLangSetDel = "IA__FcLangSetDel"
  475. const m_FcLangSetDestroy = "IA__FcLangSetDestroy"
  476. const m_FcLangSetEqual = "IA__FcLangSetEqual"
  477. const m_FcLangSetGetLangs = "IA__FcLangSetGetLangs"
  478. const m_FcLangSetHasLang = "IA__FcLangSetHasLang"
  479. const m_FcLangSetHash = "IA__FcLangSetHash"
  480. const m_FcLangSetSubtract = "IA__FcLangSetSubtract"
  481. const m_FcLangSetUnion = "IA__FcLangSetUnion"
  482. const m_FcMatrixCopy = "IA__FcMatrixCopy"
  483. const m_FcMatrixEqual = "IA__FcMatrixEqual"
  484. const m_FcMatrixMultiply = "IA__FcMatrixMultiply"
  485. const m_FcMatrixRotate = "IA__FcMatrixRotate"
  486. const m_FcMatrixScale = "IA__FcMatrixScale"
  487. const m_FcMatrixShear = "IA__FcMatrixShear"
  488. const m_FcNameConstant = "IA__FcNameConstant"
  489. const m_FcNameGetConstant = "IA__FcNameGetConstant"
  490. const m_FcNameGetObjectType = "IA__FcNameGetObjectType"
  491. const m_FcNameParse = "IA__FcNameParse"
  492. const m_FcNameRegisterConstants = "IA__FcNameRegisterConstants"
  493. const m_FcNameRegisterObjectTypes = "IA__FcNameRegisterObjectTypes"
  494. const m_FcNameUnparse = "IA__FcNameUnparse"
  495. const m_FcNameUnregisterConstants = "IA__FcNameUnregisterConstants"
  496. const m_FcNameUnregisterObjectTypes = "IA__FcNameUnregisterObjectTypes"
  497. const m_FcObjectSetAdd = "IA__FcObjectSetAdd"
  498. const m_FcObjectSetBuild = "IA__FcObjectSetBuild"
  499. const m_FcObjectSetCreate = "IA__FcObjectSetCreate"
  500. const m_FcObjectSetDestroy = "IA__FcObjectSetDestroy"
  501. const m_FcObjectSetVaBuild = "IA__FcObjectSetVaBuild"
  502. const m_FcPatternAdd = "IA__FcPatternAdd"
  503. const m_FcPatternAddBool = "IA__FcPatternAddBool"
  504. const m_FcPatternAddCharSet = "IA__FcPatternAddCharSet"
  505. const m_FcPatternAddDouble = "IA__FcPatternAddDouble"
  506. const m_FcPatternAddInteger = "IA__FcPatternAddInteger"
  507. const m_FcPatternAddLangSet = "IA__FcPatternAddLangSet"
  508. const m_FcPatternAddMatrix = "IA__FcPatternAddMatrix"
  509. const m_FcPatternAddRange = "IA__FcPatternAddRange"
  510. const m_FcPatternAddString = "IA__FcPatternAddString"
  511. const m_FcPatternAddWeak = "IA__FcPatternAddWeak"
  512. const m_FcPatternBuild = "IA__FcPatternBuild"
  513. const m_FcPatternCreate = "IA__FcPatternCreate"
  514. const m_FcPatternDel = "IA__FcPatternDel"
  515. const m_FcPatternDestroy = "IA__FcPatternDestroy"
  516. const m_FcPatternDuplicate = "IA__FcPatternDuplicate"
  517. const m_FcPatternEqual = "IA__FcPatternEqual"
  518. const m_FcPatternEqualSubset = "IA__FcPatternEqualSubset"
  519. const m_FcPatternFilter = "IA__FcPatternFilter"
  520. const m_FcPatternFindIter = "IA__FcPatternFindIter"
  521. const m_FcPatternFormat = "IA__FcPatternFormat"
  522. const m_FcPatternGet = "IA__FcPatternGet"
  523. const m_FcPatternGetBool = "IA__FcPatternGetBool"
  524. const m_FcPatternGetCharSet = "IA__FcPatternGetCharSet"
  525. const m_FcPatternGetDouble = "IA__FcPatternGetDouble"
  526. const m_FcPatternGetInteger = "IA__FcPatternGetInteger"
  527. const m_FcPatternGetLangSet = "IA__FcPatternGetLangSet"
  528. const m_FcPatternGetMatrix = "IA__FcPatternGetMatrix"
  529. const m_FcPatternGetRange = "IA__FcPatternGetRange"
  530. const m_FcPatternGetString = "IA__FcPatternGetString"
  531. const m_FcPatternGetWithBinding = "IA__FcPatternGetWithBinding"
  532. const m_FcPatternHash = "IA__FcPatternHash"
  533. const m_FcPatternIterEqual = "IA__FcPatternIterEqual"
  534. const m_FcPatternIterGetObject = "IA__FcPatternIterGetObject"
  535. const m_FcPatternIterGetValue = "IA__FcPatternIterGetValue"
  536. const m_FcPatternIterIsValid = "IA__FcPatternIterIsValid"
  537. const m_FcPatternIterNext = "IA__FcPatternIterNext"
  538. const m_FcPatternIterStart = "IA__FcPatternIterStart"
  539. const m_FcPatternIterValueCount = "IA__FcPatternIterValueCount"
  540. const m_FcPatternObjectCount = "IA__FcPatternObjectCount"
  541. const m_FcPatternPrint = "IA__FcPatternPrint"
  542. const m_FcPatternReference = "IA__FcPatternReference"
  543. const m_FcPatternRemove = "IA__FcPatternRemove"
  544. const m_FcPatternVaBuild = "IA__FcPatternVaBuild"
  545. const m_FcRangeCopy = "IA__FcRangeCopy"
  546. const m_FcRangeCreateDouble = "IA__FcRangeCreateDouble"
  547. const m_FcRangeCreateInteger = "IA__FcRangeCreateInteger"
  548. const m_FcRangeDestroy = "IA__FcRangeDestroy"
  549. const m_FcRangeGetDouble = "IA__FcRangeGetDouble"
  550. const m_FcStrBasename = "IA__FcStrBasename"
  551. const m_FcStrBuildFilename = "IA__FcStrBuildFilename"
  552. const m_FcStrCmp = "IA__FcStrCmp"
  553. const m_FcStrCmpIgnoreCase = "IA__FcStrCmpIgnoreCase"
  554. const m_FcStrCopy = "IA__FcStrCopy"
  555. const m_FcStrCopyFilename = "IA__FcStrCopyFilename"
  556. const m_FcStrDirname = "IA__FcStrDirname"
  557. const m_FcStrDowncase = "IA__FcStrDowncase"
  558. const m_FcStrFree = "IA__FcStrFree"
  559. const m_FcStrListCreate = "IA__FcStrListCreate"
  560. const m_FcStrListDone = "IA__FcStrListDone"
  561. const m_FcStrListFirst = "IA__FcStrListFirst"
  562. const m_FcStrListNext = "IA__FcStrListNext"
  563. const m_FcStrPlus = "IA__FcStrPlus"
  564. const m_FcStrSetAdd = "IA__FcStrSetAdd"
  565. const m_FcStrSetAddFilename = "IA__FcStrSetAddFilename"
  566. const m_FcStrSetCreate = "IA__FcStrSetCreate"
  567. const m_FcStrSetDel = "IA__FcStrSetDel"
  568. const m_FcStrSetDestroy = "IA__FcStrSetDestroy"
  569. const m_FcStrSetEqual = "IA__FcStrSetEqual"
  570. const m_FcStrSetMember = "IA__FcStrSetMember"
  571. const m_FcStrStr = "IA__FcStrStr"
  572. const m_FcStrStrIgnoreCase = "IA__FcStrStrIgnoreCase"
  573. const m_FcTrue = 1
  574. const m_FcUcs4ToUtf8 = "IA__FcUcs4ToUtf8"
  575. const m_FcUtf16Len = "IA__FcUtf16Len"
  576. const m_FcUtf16ToUcs4 = "IA__FcUtf16ToUcs4"
  577. const m_FcUtf8Len = "IA__FcUtf8Len"
  578. const m_FcUtf8ToUcs4 = "IA__FcUtf8ToUcs4"
  579. const m_FcValueDestroy = "IA__FcValueDestroy"
  580. const m_FcValueEqual = "IA__FcValueEqual"
  581. const m_FcValuePrint = "IA__FcValuePrint"
  582. const m_FcValueSave = "IA__FcValueSave"
  583. const m_FcWeightFromOpenType = "IA__FcWeightFromOpenType"
  584. const m_FcWeightFromOpenTypeDouble = "IA__FcWeightFromOpenTypeDouble"
  585. const m_FcWeightToOpenType = "IA__FcWeightToOpenType"
  586. const m_FcWeightToOpenTypeDouble = "IA__FcWeightToOpenTypeDouble"
  587. const m_GETTEXT_PACKAGE = "fontconfig"
  588. const m_HAVE_CONFIG_H = 1
  589. const m_HAVE_DCGETTEXT = 1
  590. const m_HAVE_DIRENT_H = 1
  591. const m_HAVE_DLFCN_H = 1
  592. const m_HAVE_FCNTL_H = 1
  593. const m_HAVE_FSTATFS = 1
  594. const m_HAVE_FSTATVFS = 1
  595. const m_HAVE_FT_DONE_MM_VAR = 1
  596. const m_HAVE_FT_GET_BDF_PROPERTY = 1
  597. const m_HAVE_FT_GET_PS_FONT_INFO = 1
  598. const m_HAVE_FT_GET_X11_FONT_FORMAT = 1
  599. const m_HAVE_FT_HAS_PS_GLYPH_NAMES = 1
  600. const m_HAVE_GETOPT = 1
  601. const m_HAVE_GETOPT_LONG = 1
  602. const m_HAVE_GETPAGESIZE = 1
  603. const m_HAVE_GETTEXT = 1
  604. const m_HAVE_GNUC_ATTRIBUTE = 1
  605. const m_HAVE_INTEL_ATOMIC_PRIMITIVES = 1
  606. const m_HAVE_INTTYPES_H = 1
  607. const m_HAVE_LINK = 1
  608. const m_HAVE_LRAND48 = 1
  609. const m_HAVE_LSTAT = 1
  610. const m_HAVE_MKDTEMP = 1
  611. const m_HAVE_MKOSTEMP = 1
  612. const m_HAVE_MKSTEMP = 1
  613. const m_HAVE_MMAP = 1
  614. const m_HAVE_POSIX_FADVISE = 1
  615. const m_HAVE_PTHREAD = 1
  616. const m_HAVE_PTHREAD_PRIO_INHERIT = 1
  617. const m_HAVE_RAND = 1
  618. const m_HAVE_RANDOM = 1
  619. const m_HAVE_RANDOM_R = 1
  620. const m_HAVE_RAND_R = 1
  621. const m_HAVE_READLINK = 1
  622. const m_HAVE_STDATOMIC_PRIMITIVES = 1
  623. const m_HAVE_STDINT_H = 1
  624. const m_HAVE_STDIO_H = 1
  625. const m_HAVE_STDLIB_H = 1
  626. const m_HAVE_STRERROR = 1
  627. const m_HAVE_STRERROR_R = 1
  628. const m_HAVE_STRINGS_H = 1
  629. const m_HAVE_STRING_H = 1
  630. const m_HAVE_STRUCT_DIRENT_D_TYPE = 1
  631. const m_HAVE_STRUCT_STATFS_F_FLAGS = 1
  632. const m_HAVE_STRUCT_STAT_ST_MTIM = 1
  633. const m_HAVE_SYS_MOUNT_H = 1
  634. const m_HAVE_SYS_PARAM_H = 1
  635. const m_HAVE_SYS_STATFS_H = 1
  636. const m_HAVE_SYS_STATVFS_H = 1
  637. const m_HAVE_SYS_STAT_H = 1
  638. const m_HAVE_SYS_TYPES_H = 1
  639. const m_HAVE_SYS_VFS_H = 1
  640. const m_HAVE_UNISTD_H = 1
  641. const m_HAVE_VPRINTF = 1
  642. const m_HAVE_WARNING_CPP_DIRECTIVE = 1
  643. const m_HAVE_WCHAR_H = 1
  644. const m_HAVE_XML_SETDOCTYPEDECLHANDLER = 1
  645. const m_HOST_NAME_MAX = 255
  646. const m_HUGE = 3.40282346638528859812e+38
  647. const m_HUGE_VALF = "INFINITY"
  648. const m_INT16_MAX = 0x7fff
  649. const m_INT32_MAX = 0x7fffffff
  650. const m_INT64_MAX = 0x7fffffffffffffff
  651. const m_INT8_MAX = 0x7f
  652. const m_INTMAX_MAX = "INT64_MAX"
  653. const m_INTMAX_MIN = "INT64_MIN"
  654. const m_INTPTR_MAX = "INT32_MAX"
  655. const m_INTPTR_MIN = "INT32_MIN"
  656. const m_INT_FAST16_MAX = "INT32_MAX"
  657. const m_INT_FAST16_MIN = "INT32_MIN"
  658. const m_INT_FAST32_MAX = "INT32_MAX"
  659. const m_INT_FAST32_MIN = "INT32_MIN"
  660. const m_INT_FAST64_MAX = "INT64_MAX"
  661. const m_INT_FAST64_MIN = "INT64_MIN"
  662. const m_INT_FAST8_MAX = "INT8_MAX"
  663. const m_INT_FAST8_MIN = "INT8_MIN"
  664. const m_INT_LEAST16_MAX = "INT16_MAX"
  665. const m_INT_LEAST16_MIN = "INT16_MIN"
  666. const m_INT_LEAST32_MAX = "INT32_MAX"
  667. const m_INT_LEAST32_MIN = "INT32_MIN"
  668. const m_INT_LEAST64_MAX = "INT64_MAX"
  669. const m_INT_LEAST64_MIN = "INT64_MIN"
  670. const m_INT_LEAST8_MAX = "INT8_MAX"
  671. const m_INT_LEAST8_MIN = "INT8_MIN"
  672. const m_INT_MAX = 2147483647
  673. const m_IOV_MAX = 1024
  674. const m_LCK_NAME = ".LCK"
  675. const m_LDBL_DECIMAL_DIG = "DECIMAL_DIG"
  676. const m_LDBL_DIG = 15
  677. const m_LDBL_EPSILON = 2.22044604925031308085e-16
  678. const m_LDBL_HAS_SUBNORM = 1
  679. const m_LDBL_MANT_DIG = 53
  680. const m_LDBL_MAX = 1.79769313486231570815e+308
  681. const m_LDBL_MAX_10_EXP = 308
  682. const m_LDBL_MAX_EXP = 1024
  683. const m_LDBL_MIN = 2.22507385850720138309e-308
  684. const m_LDBL_TRUE_MIN = 4.94065645841246544177e-324
  685. const m_LINE_MAX = 4096
  686. const m_LITTLE_ENDIAN = "__LITTLE_ENDIAN"
  687. const m_LLONG_MAX = 0x7fffffffffffffff
  688. const m_LOGIN_NAME_MAX = 256
  689. const m_LONG_BIT = 32
  690. const m_LONG_MAX = "__LONG_MAX"
  691. const m_LT_OBJDIR = ".libs/"
  692. const m_L_INCR = 1
  693. const m_L_SET = 0
  694. const m_L_XTND = 2
  695. const m_L_ctermid = 20
  696. const m_L_cuserid = 20
  697. const m_L_tmpnam = 20
  698. const m_MATH_ERREXCEPT = 2
  699. const m_MATH_ERRNO = 1
  700. const m_MB_LEN_MAX = 4
  701. const m_MQ_PRIO_MAX = 32768
  702. const m_M_1_PI = 0.31830988618379067154
  703. const m_M_2_PI = 0.63661977236758134308
  704. const m_M_2_SQRTPI = 1.12837916709551257390
  705. const m_M_E = 2.7182818284590452354
  706. const m_M_LN10 = 2.30258509299404568402
  707. const m_M_LN2 = 0.69314718055994530942
  708. const m_M_LOG10E = 0.43429448190325182765
  709. const m_M_LOG2E = 1.4426950408889634074
  710. const m_M_PI = 3.14159265358979323846
  711. const m_M_PI_2 = 1.57079632679489661923
  712. const m_M_PI_4 = 0.78539816339744830962
  713. const m_M_SQRT1_2 = 0.70710678118654752440
  714. const m_M_SQRT2 = 1.41421356237309504880
  715. const m_NAME_MAX = 255
  716. const m_NDEBUG = 1
  717. const m_NEW_NAME = ".NEW"
  718. const m_NGROUPS_MAX = 32
  719. const m_NL_ARGMAX = 9
  720. const m_NL_LANGMAX = 32
  721. const m_NL_MSGMAX = 32767
  722. const m_NL_NMAX = 16
  723. const m_NL_SETMAX = 255
  724. const m_NL_TEXTMAX = 2048
  725. const m_NZERO = 20
  726. const m_PACKAGE = "fontconfig"
  727. const m_PACKAGE_BUGREPORT = "https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new"
  728. const m_PACKAGE_NAME = "fontconfig"
  729. const m_PACKAGE_STRING = "fontconfig 2.14.1"
  730. const m_PACKAGE_TARNAME = "fontconfig"
  731. const m_PACKAGE_URL = ""
  732. const m_PACKAGE_VERSION = "2.14.1"
  733. const m_PATH_MAX = 4096
  734. const m_PDP_ENDIAN = "__PDP_ENDIAN"
  735. const m_PIPE_BUF = 4096
  736. const m_POSIX_CLOSE_RESTART = 0
  737. const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
  738. const m_PTHREAD_KEYS_MAX = 128
  739. const m_PTHREAD_STACK_MIN = 2048
  740. const m_PTRDIFF_MAX = "INT32_MAX"
  741. const m_PTRDIFF_MIN = "INT32_MIN"
  742. const m_P_tmpdir = "/tmp"
  743. const m_RAND_MAX = 0x7fffffff
  744. const m_RE_DUP_MAX = 255
  745. const m_R_OK = 4
  746. const m_SCHAR_MAX = 127
  747. const m_SEEK_DATA = 3
  748. const m_SEEK_HOLE = 4
  749. const m_SEM_NSEMS_MAX = 256
  750. const m_SEM_VALUE_MAX = 0x7fffffff
  751. const m_SHRT_MAX = 0x7fff
  752. const m_SIG_ATOMIC_MAX = "INT32_MAX"
  753. const m_SIG_ATOMIC_MIN = "INT32_MIN"
  754. const m_SIZEOF_VOID_P = 4
  755. const m_SIZE_MAX = "UINT32_MAX"
  756. const m_SSIZE_MAX = "LONG_MAX"
  757. const m_STATX_ALL = 0xfff
  758. const m_STATX_ATIME = 0x20
  759. const m_STATX_BASIC_STATS = 0x7ff
  760. const m_STATX_BLOCKS = 0x400
  761. const m_STATX_BTIME = 0x800
  762. const m_STATX_CTIME = 0x80
  763. const m_STATX_GID = 0x10
  764. const m_STATX_INO = 0x100
  765. const m_STATX_MODE = 2
  766. const m_STATX_MTIME = 0x40
  767. const m_STATX_NLINK = 4
  768. const m_STATX_SIZE = 0x200
  769. const m_STATX_TYPE = 1
  770. const m_STATX_UID = 8
  771. const m_STDC_HEADERS = 1
  772. const m_STDERR_FILENO = 2
  773. const m_STDIN_FILENO = 0
  774. const m_STDOUT_FILENO = 1
  775. const m_SYMLOOP_MAX = 40
  776. const m_S_IEXEC = "S_IXUSR"
  777. const m_S_IFBLK = 0060000
  778. const m_S_IFCHR = 0020000
  779. const m_S_IFDIR = 0040000
  780. const m_S_IFIFO = 0010000
  781. const m_S_IFLNK = 0120000
  782. const m_S_IFMT = 0170000
  783. const m_S_IFREG = 0100000
  784. const m_S_IFSOCK = 0140000
  785. const m_S_IREAD = "S_IRUSR"
  786. const m_S_IRGRP = 0040
  787. const m_S_IROTH = 0004
  788. const m_S_IRUSR = 0400
  789. const m_S_IRWXG = 0070
  790. const m_S_IRWXO = 0007
  791. const m_S_IRWXU = 0700
  792. const m_S_ISGID = 02000
  793. const m_S_ISUID = 04000
  794. const m_S_ISVTX = 01000
  795. const m_S_IWGRP = 0020
  796. const m_S_IWOTH = 0002
  797. const m_S_IWRITE = "S_IWUSR"
  798. const m_S_IWUSR = 0200
  799. const m_S_IXGRP = 0010
  800. const m_S_IXOTH = 0001
  801. const m_S_IXUSR = 0100
  802. const m_TIMER_ABSTIME = 1
  803. const m_TIME_UTC = 1
  804. const m_TMP_MAX = 10000
  805. const m_TMP_NAME = ".TMP-XXXXXX"
  806. const m_TTY_NAME_MAX = 32
  807. const m_TZNAME_MAX = 6
  808. const m_UCHAR_MAX = 255
  809. const m_UINT16_MAX = 0xffff
  810. const m_UINT32_MAX = "0xffffffffu"
  811. const m_UINT64_MAX = "0xffffffffffffffffu"
  812. const m_UINT8_MAX = 0xff
  813. const m_UINTMAX_MAX = "UINT64_MAX"
  814. const m_UINTPTR_MAX = "UINT32_MAX"
  815. const m_UINT_FAST16_MAX = "UINT32_MAX"
  816. const m_UINT_FAST32_MAX = "UINT32_MAX"
  817. const m_UINT_FAST64_MAX = "UINT64_MAX"
  818. const m_UINT_FAST8_MAX = "UINT8_MAX"
  819. const m_UINT_LEAST16_MAX = "UINT16_MAX"
  820. const m_UINT_LEAST32_MAX = "UINT32_MAX"
  821. const m_UINT_LEAST64_MAX = "UINT64_MAX"
  822. const m_UINT_LEAST8_MAX = "UINT8_MAX"
  823. const m_UINT_MAX = 0xffffffff
  824. const m_USE_ICONV = 0
  825. const m_USHRT_MAX = 0xffff
  826. const m_UTIME_NOW = 0x3fffffff
  827. const m_UTIME_OMIT = 0x3ffffffe
  828. const m_VERSION = "2.14.1"
  829. const m_WINT_MAX = "UINT32_MAX"
  830. const m_WINT_MIN = 0
  831. const m_WNOHANG = 1
  832. const m_WORD_BIT = 32
  833. const m_WUNTRACED = 2
  834. const m_W_OK = 2
  835. const m_X_OK = 1
  836. const m__ALL_SOURCE = 1
  837. const m__CS_GNU_LIBC_VERSION = 2
  838. const m__CS_GNU_LIBPTHREAD_VERSION = 3
  839. const m__CS_PATH = 0
  840. const m__CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
  841. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
  842. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
  843. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
  844. const m__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
  845. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
  846. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
  847. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
  848. const m__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
  849. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
  850. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
  851. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 1126
  852. const m__CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
  853. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
  854. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
  855. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
  856. const m__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
  857. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
  858. const m__CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
  859. const m__CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
  860. const m__CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
  861. const m__CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
  862. const m__CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
  863. const m__CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
  864. const m__CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
  865. const m__CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
  866. const m__CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
  867. const m__CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
  868. const m__CS_POSIX_V7_LP64_OFF64_LIBS = 1142
  869. const m__CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
  870. const m__CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
  871. const m__CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
  872. const m__CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
  873. const m__CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
  874. const m__CS_POSIX_V7_THREADS_CFLAGS = 1150
  875. const m__CS_POSIX_V7_THREADS_LDFLAGS = 1151
  876. const m__CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
  877. const m__CS_V6_ENV = 1148
  878. const m__CS_V7_ENV = 1149
  879. const m__DARWIN_C_SOURCE = 1
  880. const m__FILE_OFFSET_BITS = 64
  881. const m__FONTCONFIG_SRC_FCSTDINT_H = 1
  882. const m__GENERATED_STDINT_H = "fontconfig 2.14.1"
  883. const m__GNU_SOURCE = 1
  884. const m__HPUX_ALT_XOPEN_SOCKET_API = 1
  885. const m__IOFBF = 0
  886. const m__IOLBF = 1
  887. const m__IONBF = 2
  888. const m__NETBSD_SOURCE = 1
  889. const m__OPENBSD_SOURCE = 1
  890. const m__PC_2_SYMLINKS = 20
  891. const m__PC_ALLOC_SIZE_MIN = 18
  892. const m__PC_ASYNC_IO = 10
  893. const m__PC_CHOWN_RESTRICTED = 6
  894. const m__PC_FILESIZEBITS = 13
  895. const m__PC_LINK_MAX = 0
  896. const m__PC_MAX_CANON = 1
  897. const m__PC_MAX_INPUT = 2
  898. const m__PC_NAME_MAX = 3
  899. const m__PC_NO_TRUNC = 7
  900. const m__PC_PATH_MAX = 4
  901. const m__PC_PIPE_BUF = 5
  902. const m__PC_PRIO_IO = 11
  903. const m__PC_REC_INCR_XFER_SIZE = 14
  904. const m__PC_REC_MAX_XFER_SIZE = 15
  905. const m__PC_REC_MIN_XFER_SIZE = 16
  906. const m__PC_REC_XFER_ALIGN = 17
  907. const m__PC_SOCK_MAXBUF = 12
  908. const m__PC_SYMLINK_MAX = 19
  909. const m__PC_SYNC_IO = 9
  910. const m__PC_VDISABLE = 8
  911. const m__POSIX2_BC_BASE_MAX = 99
  912. const m__POSIX2_BC_DIM_MAX = 2048
  913. const m__POSIX2_BC_SCALE_MAX = 99
  914. const m__POSIX2_BC_STRING_MAX = 1000
  915. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  916. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  917. const m__POSIX2_C_BIND = "_POSIX_VERSION"
  918. const m__POSIX2_EXPR_NEST_MAX = 32
  919. const m__POSIX2_LINE_MAX = 2048
  920. const m__POSIX2_RE_DUP_MAX = 255
  921. const m__POSIX2_VERSION = "_POSIX_VERSION"
  922. const m__POSIX_ADVISORY_INFO = "_POSIX_VERSION"
  923. const m__POSIX_AIO_LISTIO_MAX = 2
  924. const m__POSIX_AIO_MAX = 1
  925. const m__POSIX_ARG_MAX = 4096
  926. const m__POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
  927. const m__POSIX_BARRIERS = "_POSIX_VERSION"
  928. const m__POSIX_CHILD_MAX = 25
  929. const m__POSIX_CHOWN_RESTRICTED = 1
  930. const m__POSIX_CLOCKRES_MIN = 20000000
  931. const m__POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
  932. const m__POSIX_CPUTIME = "_POSIX_VERSION"
  933. const m__POSIX_DELAYTIMER_MAX = 32
  934. const m__POSIX_FSYNC = "_POSIX_VERSION"
  935. const m__POSIX_HOST_NAME_MAX = 255
  936. const m__POSIX_IPV6 = "_POSIX_VERSION"
  937. const m__POSIX_JOB_CONTROL = 1
  938. const m__POSIX_LINK_MAX = 8
  939. const m__POSIX_LOGIN_NAME_MAX = 9
  940. const m__POSIX_MAPPED_FILES = "_POSIX_VERSION"
  941. const m__POSIX_MAX_CANON = 255
  942. const m__POSIX_MAX_INPUT = 255
  943. const m__POSIX_MEMLOCK = "_POSIX_VERSION"
  944. const m__POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
  945. const m__POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
  946. const m__POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
  947. const m__POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
  948. const m__POSIX_MQ_OPEN_MAX = 8
  949. const m__POSIX_MQ_PRIO_MAX = 32
  950. const m__POSIX_NAME_MAX = 14
  951. const m__POSIX_NGROUPS_MAX = 8
  952. const m__POSIX_NO_TRUNC = 1
  953. const m__POSIX_OPEN_MAX = 20
  954. const m__POSIX_PATH_MAX = 256
  955. const m__POSIX_PIPE_BUF = 512
  956. const m__POSIX_PTHREAD_SEMANTICS = 1
  957. const m__POSIX_RAW_SOCKETS = "_POSIX_VERSION"
  958. const m__POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
  959. const m__POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
  960. const m__POSIX_REGEXP = 1
  961. const m__POSIX_RE_DUP_MAX = 255
  962. const m__POSIX_RTSIG_MAX = 8
  963. const m__POSIX_SAVED_IDS = 1
  964. const m__POSIX_SEMAPHORES = "_POSIX_VERSION"
  965. const m__POSIX_SEM_NSEMS_MAX = 256
  966. const m__POSIX_SEM_VALUE_MAX = 32767
  967. const m__POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
  968. const m__POSIX_SHELL = 1
  969. const m__POSIX_SIGQUEUE_MAX = 32
  970. const m__POSIX_SPAWN = "_POSIX_VERSION"
  971. const m__POSIX_SPIN_LOCKS = "_POSIX_VERSION"
  972. const m__POSIX_SSIZE_MAX = 32767
  973. const m__POSIX_SS_REPL_MAX = 4
  974. const m__POSIX_STREAM_MAX = 8
  975. const m__POSIX_SYMLINK_MAX = 255
  976. const m__POSIX_SYMLOOP_MAX = 8
  977. const m__POSIX_THREADS = "_POSIX_VERSION"
  978. const m__POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
  979. const m__POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
  980. const m__POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
  981. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  982. const m__POSIX_THREAD_KEYS_MAX = 128
  983. const m__POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
  984. const m__POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
  985. const m__POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
  986. const m__POSIX_THREAD_THREADS_MAX = 64
  987. const m__POSIX_TIMEOUTS = "_POSIX_VERSION"
  988. const m__POSIX_TIMERS = "_POSIX_VERSION"
  989. const m__POSIX_TIMER_MAX = 32
  990. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  991. const m__POSIX_TRACE_NAME_MAX = 8
  992. const m__POSIX_TRACE_SYS_MAX = 8
  993. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  994. const m__POSIX_TTY_NAME_MAX = 9
  995. const m__POSIX_TZNAME_MAX = 6
  996. const m__POSIX_V6_ILP32_OFFBIG = 1
  997. const m__POSIX_V7_ILP32_OFFBIG = 1
  998. const m__POSIX_VDISABLE = 0
  999. const m__POSIX_VERSION = 200809
  1000. const m__REDIR_TIME64 = 1
  1001. const m__SC_2_CHAR_TERM = 95
  1002. const m__SC_2_C_BIND = 47
  1003. const m__SC_2_C_DEV = 48
  1004. const m__SC_2_FORT_DEV = 49
  1005. const m__SC_2_FORT_RUN = 50
  1006. const m__SC_2_LOCALEDEF = 52
  1007. const m__SC_2_PBS = 168
  1008. const m__SC_2_PBS_ACCOUNTING = 169
  1009. const m__SC_2_PBS_CHECKPOINT = 175
  1010. const m__SC_2_PBS_LOCATE = 170
  1011. const m__SC_2_PBS_MESSAGE = 171
  1012. const m__SC_2_PBS_TRACK = 172
  1013. const m__SC_2_SW_DEV = 51
  1014. const m__SC_2_UPE = 97
  1015. const m__SC_2_VERSION = 46
  1016. const m__SC_ADVISORY_INFO = 132
  1017. const m__SC_AIO_LISTIO_MAX = 23
  1018. const m__SC_AIO_MAX = 24
  1019. const m__SC_AIO_PRIO_DELTA_MAX = 25
  1020. const m__SC_ARG_MAX = 0
  1021. const m__SC_ASYNCHRONOUS_IO = 12
  1022. const m__SC_ATEXIT_MAX = 87
  1023. const m__SC_AVPHYS_PAGES = 86
  1024. const m__SC_BARRIERS = 133
  1025. const m__SC_BC_BASE_MAX = 36
  1026. const m__SC_BC_DIM_MAX = 37
  1027. const m__SC_BC_SCALE_MAX = 38
  1028. const m__SC_BC_STRING_MAX = 39
  1029. const m__SC_CHILD_MAX = 1
  1030. const m__SC_CLK_TCK = 2
  1031. const m__SC_CLOCK_SELECTION = 137
  1032. const m__SC_COLL_WEIGHTS_MAX = 40
  1033. const m__SC_CPUTIME = 138
  1034. const m__SC_DELAYTIMER_MAX = 26
  1035. const m__SC_EXPR_NEST_MAX = 42
  1036. const m__SC_FSYNC = 15
  1037. const m__SC_GETGR_R_SIZE_MAX = 69
  1038. const m__SC_GETPW_R_SIZE_MAX = 70
  1039. const m__SC_HOST_NAME_MAX = 180
  1040. const m__SC_IOV_MAX = 60
  1041. const m__SC_IPV6 = 235
  1042. const m__SC_JOB_CONTROL = 7
  1043. const m__SC_LINE_MAX = 43
  1044. const m__SC_LOGIN_NAME_MAX = 71
  1045. const m__SC_MAPPED_FILES = 16
  1046. const m__SC_MEMLOCK = 17
  1047. const m__SC_MEMLOCK_RANGE = 18
  1048. const m__SC_MEMORY_PROTECTION = 19
  1049. const m__SC_MESSAGE_PASSING = 20
  1050. const m__SC_MINSIGSTKSZ = 249
  1051. const m__SC_MONOTONIC_CLOCK = 149
  1052. const m__SC_MQ_OPEN_MAX = 27
  1053. const m__SC_MQ_PRIO_MAX = 28
  1054. const m__SC_NGROUPS_MAX = 3
  1055. const m__SC_NPROCESSORS_CONF = 83
  1056. const m__SC_NPROCESSORS_ONLN = 84
  1057. const m__SC_NZERO = 109
  1058. const m__SC_OPEN_MAX = 4
  1059. const m__SC_PAGESIZE = 30
  1060. const m__SC_PAGE_SIZE = 30
  1061. const m__SC_PASS_MAX = 88
  1062. const m__SC_PHYS_PAGES = 85
  1063. const m__SC_PRIORITIZED_IO = 13
  1064. const m__SC_PRIORITY_SCHEDULING = 10
  1065. const m__SC_RAW_SOCKETS = 236
  1066. const m__SC_READER_WRITER_LOCKS = 153
  1067. const m__SC_REALTIME_SIGNALS = 9
  1068. const m__SC_REGEXP = 155
  1069. const m__SC_RE_DUP_MAX = 44
  1070. const m__SC_RTSIG_MAX = 31
  1071. const m__SC_SAVED_IDS = 8
  1072. const m__SC_SEMAPHORES = 21
  1073. const m__SC_SEM_NSEMS_MAX = 32
  1074. const m__SC_SEM_VALUE_MAX = 33
  1075. const m__SC_SHARED_MEMORY_OBJECTS = 22
  1076. const m__SC_SHELL = 157
  1077. const m__SC_SIGQUEUE_MAX = 34
  1078. const m__SC_SIGSTKSZ = 250
  1079. const m__SC_SPAWN = 159
  1080. const m__SC_SPIN_LOCKS = 154
  1081. const m__SC_SPORADIC_SERVER = 160
  1082. const m__SC_SS_REPL_MAX = 241
  1083. const m__SC_STREAMS = 174
  1084. const m__SC_STREAM_MAX = 5
  1085. const m__SC_SYMLOOP_MAX = 173
  1086. const m__SC_SYNCHRONIZED_IO = 14
  1087. const m__SC_THREADS = 67
  1088. const m__SC_THREAD_ATTR_STACKADDR = 77
  1089. const m__SC_THREAD_ATTR_STACKSIZE = 78
  1090. const m__SC_THREAD_CPUTIME = 139
  1091. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 73
  1092. const m__SC_THREAD_KEYS_MAX = 74
  1093. const m__SC_THREAD_PRIORITY_SCHEDULING = 79
  1094. const m__SC_THREAD_PRIO_INHERIT = 80
  1095. const m__SC_THREAD_PRIO_PROTECT = 81
  1096. const m__SC_THREAD_PROCESS_SHARED = 82
  1097. const m__SC_THREAD_ROBUST_PRIO_INHERIT = 247
  1098. const m__SC_THREAD_ROBUST_PRIO_PROTECT = 248
  1099. const m__SC_THREAD_SAFE_FUNCTIONS = 68
  1100. const m__SC_THREAD_SPORADIC_SERVER = 161
  1101. const m__SC_THREAD_STACK_MIN = 75
  1102. const m__SC_THREAD_THREADS_MAX = 76
  1103. const m__SC_TIMEOUTS = 164
  1104. const m__SC_TIMERS = 11
  1105. const m__SC_TIMER_MAX = 35
  1106. const m__SC_TRACE = 181
  1107. const m__SC_TRACE_EVENT_FILTER = 182
  1108. const m__SC_TRACE_EVENT_NAME_MAX = 242
  1109. const m__SC_TRACE_INHERIT = 183
  1110. const m__SC_TRACE_LOG = 184
  1111. const m__SC_TRACE_NAME_MAX = 243
  1112. const m__SC_TRACE_SYS_MAX = 244
  1113. const m__SC_TRACE_USER_EVENT_MAX = 245
  1114. const m__SC_TTY_NAME_MAX = 72
  1115. const m__SC_TYPED_MEMORY_OBJECTS = 165
  1116. const m__SC_TZNAME_MAX = 6
  1117. const m__SC_UIO_MAXIOV = 60
  1118. const m__SC_V6_ILP32_OFF32 = 176
  1119. const m__SC_V6_ILP32_OFFBIG = 177
  1120. const m__SC_V6_LP64_OFF64 = 178
  1121. const m__SC_V6_LPBIG_OFFBIG = 179
  1122. const m__SC_V7_ILP32_OFF32 = 237
  1123. const m__SC_V7_ILP32_OFFBIG = 238
  1124. const m__SC_V7_LP64_OFF64 = 239
  1125. const m__SC_V7_LPBIG_OFFBIG = 240
  1126. const m__SC_VERSION = 29
  1127. const m__SC_XBS5_ILP32_OFF32 = 125
  1128. const m__SC_XBS5_ILP32_OFFBIG = 126
  1129. const m__SC_XBS5_LP64_OFF64 = 127
  1130. const m__SC_XBS5_LPBIG_OFFBIG = 128
  1131. const m__SC_XOPEN_CRYPT = 92
  1132. const m__SC_XOPEN_ENH_I18N = 93
  1133. const m__SC_XOPEN_LEGACY = 129
  1134. const m__SC_XOPEN_REALTIME = 130
  1135. const m__SC_XOPEN_REALTIME_THREADS = 131
  1136. const m__SC_XOPEN_SHM = 94
  1137. const m__SC_XOPEN_STREAMS = 246
  1138. const m__SC_XOPEN_UNIX = 91
  1139. const m__SC_XOPEN_VERSION = 89
  1140. const m__SC_XOPEN_XCU_VERSION = 90
  1141. const m__SC_XOPEN_XPG2 = 98
  1142. const m__SC_XOPEN_XPG3 = 99
  1143. const m__SC_XOPEN_XPG4 = 100
  1144. const m__STDC_PREDEF_H = 1
  1145. const m__STDINT_HAVE_STDINT_H = 1
  1146. const m__TANDEM_SOURCE = 1
  1147. const m__XOPEN_ENH_I18N = 1
  1148. const m__XOPEN_IOV_MAX = 16
  1149. const m__XOPEN_NAME_MAX = 255
  1150. const m__XOPEN_PATH_MAX = 1024
  1151. const m__XOPEN_UNIX = 1
  1152. const m__XOPEN_VERSION = 700
  1153. const m___ACCUM_EPSILON__ = "0x1P-15K"
  1154. const m___ACCUM_FBIT__ = 15
  1155. const m___ACCUM_IBIT__ = 16
  1156. const m___ACCUM_MAX__ = "0X7FFFFFFFP-15K"
  1157. const m___APCS_32__ = 1
  1158. const m___ARMEL__ = 1
  1159. const m___ARM_32BIT_STATE = 1
  1160. const m___ARM_ARCH = 6
  1161. const m___ARM_ARCH_6__ = 1
  1162. const m___ARM_ARCH_ISA_ARM = 1
  1163. const m___ARM_ARCH_ISA_THUMB = 1
  1164. const m___ARM_EABI__ = 1
  1165. const m___ARM_FEATURE_CLZ = 1
  1166. const m___ARM_FEATURE_COPROC = 15
  1167. const m___ARM_FEATURE_DSP = 1
  1168. const m___ARM_FEATURE_LDREX = 4
  1169. const m___ARM_FEATURE_QBIT = 1
  1170. const m___ARM_FEATURE_SAT = 1
  1171. const m___ARM_FEATURE_SIMD32 = 1
  1172. const m___ARM_FEATURE_UNALIGNED = 1
  1173. const m___ARM_FP = 12
  1174. const m___ARM_PCS_VFP = 1
  1175. const m___ARM_SIZEOF_MINIMAL_ENUM = 4
  1176. const m___ARM_SIZEOF_WCHAR_T = 4
  1177. const m___ATOMIC_ACQUIRE = 2
  1178. const m___ATOMIC_ACQ_REL = 4
  1179. const m___ATOMIC_CONSUME = 1
  1180. const m___ATOMIC_RELAXED = 0
  1181. const m___ATOMIC_RELEASE = 3
  1182. const m___ATOMIC_SEQ_CST = 5
  1183. const m___BIGGEST_ALIGNMENT__ = 8
  1184. const m___BIG_ENDIAN = 4321
  1185. const m___BYTE_ORDER = 1234
  1186. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1187. const m___CCGO__ = 1
  1188. const m___CHAR_BIT__ = 8
  1189. const m___CHAR_UNSIGNED__ = 1
  1190. const m___DA_FBIT__ = 31
  1191. const m___DA_IBIT__ = 32
  1192. const m___DBL_DECIMAL_DIG__ = 17
  1193. const m___DBL_DIG__ = 15
  1194. const m___DBL_HAS_DENORM__ = 1
  1195. const m___DBL_HAS_INFINITY__ = 1
  1196. const m___DBL_HAS_QUIET_NAN__ = 1
  1197. const m___DBL_IS_IEC_60559__ = 2
  1198. const m___DBL_MANT_DIG__ = 53
  1199. const m___DBL_MAX_10_EXP__ = 308
  1200. const m___DBL_MAX_EXP__ = 1024
  1201. const m___DECIMAL_DIG__ = 17
  1202. const m___DEC_EVAL_METHOD__ = 2
  1203. const m___DQ_FBIT__ = 63
  1204. const m___DQ_IBIT__ = 0
  1205. const m___ELF__ = 1
  1206. const m___EXTENSIONS__ = 1
  1207. const m___FINITE_MATH_ONLY__ = 0
  1208. const m___FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1209. const m___FLT32X_DECIMAL_DIG__ = 17
  1210. const m___FLT32X_DENORM_MIN__ = 4.9406564584124654e-324
  1211. const m___FLT32X_DIG__ = 15
  1212. const m___FLT32X_EPSILON__ = 2.2204460492503131e-16
  1213. const m___FLT32X_HAS_DENORM__ = 1
  1214. const m___FLT32X_HAS_INFINITY__ = 1
  1215. const m___FLT32X_HAS_QUIET_NAN__ = 1
  1216. const m___FLT32X_IS_IEC_60559__ = 2
  1217. const m___FLT32X_MANT_DIG__ = 53
  1218. const m___FLT32X_MAX_10_EXP__ = 308
  1219. const m___FLT32X_MAX_EXP__ = 1024
  1220. const m___FLT32X_MAX__ = 1.7976931348623157e+308
  1221. const m___FLT32X_MIN__ = 2.2250738585072014e-308
  1222. const m___FLT32X_NORM_MAX__ = 1.7976931348623157e+308
  1223. const m___FLT32_DECIMAL_DIG__ = 9
  1224. const m___FLT32_DENORM_MIN__ = 1.4012984643248171e-45
  1225. const m___FLT32_DIG__ = 6
  1226. const m___FLT32_EPSILON__ = 1.1920928955078125e-7
  1227. const m___FLT32_HAS_DENORM__ = 1
  1228. const m___FLT32_HAS_INFINITY__ = 1
  1229. const m___FLT32_HAS_QUIET_NAN__ = 1
  1230. const m___FLT32_IS_IEC_60559__ = 2
  1231. const m___FLT32_MANT_DIG__ = 24
  1232. const m___FLT32_MAX_10_EXP__ = 38
  1233. const m___FLT32_MAX_EXP__ = 128
  1234. const m___FLT32_MAX__ = 3.4028234663852886e+38
  1235. const m___FLT32_MIN__ = 1.1754943508222875e-38
  1236. const m___FLT32_NORM_MAX__ = 3.4028234663852886e+38
  1237. const m___FLT64_DECIMAL_DIG__ = 17
  1238. const m___FLT64_DENORM_MIN__ = 4.9406564584124654e-324
  1239. const m___FLT64_DIG__ = 15
  1240. const m___FLT64_EPSILON__ = 2.2204460492503131e-16
  1241. const m___FLT64_HAS_DENORM__ = 1
  1242. const m___FLT64_HAS_INFINITY__ = 1
  1243. const m___FLT64_HAS_QUIET_NAN__ = 1
  1244. const m___FLT64_IS_IEC_60559__ = 2
  1245. const m___FLT64_MANT_DIG__ = 53
  1246. const m___FLT64_MAX_10_EXP__ = 308
  1247. const m___FLT64_MAX_EXP__ = 1024
  1248. const m___FLT64_MAX__ = 1.7976931348623157e+308
  1249. const m___FLT64_MIN__ = 2.2250738585072014e-308
  1250. const m___FLT64_NORM_MAX__ = 1.7976931348623157e+308
  1251. const m___FLT_DECIMAL_DIG__ = 9
  1252. const m___FLT_DENORM_MIN__ = 1.4012984643248171e-45
  1253. const m___FLT_DIG__ = 6
  1254. const m___FLT_EPSILON__ = 1.1920928955078125e-7
  1255. const m___FLT_EVAL_METHOD_TS_18661_3__ = 0
  1256. const m___FLT_EVAL_METHOD__ = 0
  1257. const m___FLT_HAS_DENORM__ = 1
  1258. const m___FLT_HAS_INFINITY__ = 1
  1259. const m___FLT_HAS_QUIET_NAN__ = 1
  1260. const m___FLT_IS_IEC_60559__ = 2
  1261. const m___FLT_MANT_DIG__ = 24
  1262. const m___FLT_MAX_10_EXP__ = 38
  1263. const m___FLT_MAX_EXP__ = 128
  1264. const m___FLT_MAX__ = 3.4028234663852886e+38
  1265. const m___FLT_MIN__ = 1.1754943508222875e-38
  1266. const m___FLT_NORM_MAX__ = 3.4028234663852886e+38
  1267. const m___FLT_RADIX__ = 2
  1268. const m___FRACT_EPSILON__ = "0x1P-15R"
  1269. const m___FRACT_FBIT__ = 15
  1270. const m___FRACT_IBIT__ = 0
  1271. const m___FRACT_MAX__ = "0X7FFFP-15R"
  1272. const m___FUNCTION__ = "__func__"
  1273. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  1274. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 1
  1275. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 1
  1276. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1277. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 1
  1278. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  1279. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 1
  1280. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  1281. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  1282. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 1
  1283. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  1284. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1285. const m___GCC_CONSTRUCTIVE_SIZE = 64
  1286. const m___GCC_DESTRUCTIVE_SIZE = 64
  1287. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  1288. const m___GCC_IEC_559 = 2
  1289. const m___GCC_IEC_559_COMPLEX = 2
  1290. const m___GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
  1291. const m___GNUC_MINOR__ = 2
  1292. const m___GNUC_PATCHLEVEL__ = 0
  1293. const m___GNUC_STDC_INLINE__ = 1
  1294. const m___GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
  1295. const m___GNUC__ = 12
  1296. const m___GXX_ABI_VERSION = 1017
  1297. const m___GXX_TYPEINFO_EQUALITY_INLINE = 0
  1298. const m___HAVE_SPECULATION_SAFE_VALUE = 1
  1299. const m___HA_FBIT__ = 7
  1300. const m___HA_IBIT__ = 8
  1301. const m___HQ_FBIT__ = 15
  1302. const m___HQ_IBIT__ = 0
  1303. const m___INT16_MAX__ = 0x7fff
  1304. const m___INT32_MAX__ = 0x7fffffff
  1305. const m___INT32_TYPE__ = "int"
  1306. const m___INT64_MAX__ = 0x7fffffffffffffff
  1307. const m___INT8_MAX__ = 0x7f
  1308. const m___INTMAX_MAX__ = 0x7fffffffffffffff
  1309. const m___INTMAX_WIDTH__ = 64
  1310. const m___INTPTR_MAX__ = 0x7fffffff
  1311. const m___INTPTR_TYPE__ = "int"
  1312. const m___INTPTR_WIDTH__ = 32
  1313. const m___INT_FAST16_MAX__ = 0x7fffffff
  1314. const m___INT_FAST16_TYPE__ = "int"
  1315. const m___INT_FAST16_WIDTH__ = 32
  1316. const m___INT_FAST32_MAX__ = 0x7fffffff
  1317. const m___INT_FAST32_TYPE__ = "int"
  1318. const m___INT_FAST32_WIDTH__ = 32
  1319. const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
  1320. const m___INT_FAST64_WIDTH__ = 64
  1321. const m___INT_FAST8_MAX__ = 0x7f
  1322. const m___INT_FAST8_WIDTH__ = 8
  1323. const m___INT_LEAST16_MAX__ = 0x7fff
  1324. const m___INT_LEAST16_WIDTH__ = 16
  1325. const m___INT_LEAST32_MAX__ = 0x7fffffff
  1326. const m___INT_LEAST32_TYPE__ = "int"
  1327. const m___INT_LEAST32_WIDTH__ = 32
  1328. const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
  1329. const m___INT_LEAST64_WIDTH__ = 64
  1330. const m___INT_LEAST8_MAX__ = 0x7f
  1331. const m___INT_LEAST8_WIDTH__ = 8
  1332. const m___INT_MAX__ = 0x7fffffff
  1333. const m___INT_WIDTH__ = 32
  1334. const m___LACCUM_EPSILON__ = "0x1P-31LK"
  1335. const m___LACCUM_FBIT__ = 31
  1336. const m___LACCUM_IBIT__ = 32
  1337. const m___LACCUM_MAX__ = "0X7FFFFFFFFFFFFFFFP-31LK"
  1338. const m___LDBL_DECIMAL_DIG__ = 17
  1339. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  1340. const m___LDBL_DIG__ = 15
  1341. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  1342. const m___LDBL_HAS_DENORM__ = 1
  1343. const m___LDBL_HAS_INFINITY__ = 1
  1344. const m___LDBL_HAS_QUIET_NAN__ = 1
  1345. const m___LDBL_IS_IEC_60559__ = 2
  1346. const m___LDBL_MANT_DIG__ = 53
  1347. const m___LDBL_MAX_10_EXP__ = 308
  1348. const m___LDBL_MAX_EXP__ = 1024
  1349. const m___LDBL_MAX__ = 1.7976931348623157e+308
  1350. const m___LDBL_MIN__ = 2.2250738585072014e-308
  1351. const m___LDBL_NORM_MAX__ = 1.7976931348623157e+308
  1352. const m___LFRACT_EPSILON__ = "0x1P-31LR"
  1353. const m___LFRACT_FBIT__ = 31
  1354. const m___LFRACT_IBIT__ = 0
  1355. const m___LFRACT_MAX__ = "0X7FFFFFFFP-31LR"
  1356. const m___LITTLE_ENDIAN = 1234
  1357. const m___LLACCUM_EPSILON__ = "0x1P-31LLK"
  1358. const m___LLACCUM_FBIT__ = 31
  1359. const m___LLACCUM_IBIT__ = 32
  1360. const m___LLACCUM_MAX__ = "0X7FFFFFFFFFFFFFFFP-31LLK"
  1361. const m___LLFRACT_EPSILON__ = "0x1P-63LLR"
  1362. const m___LLFRACT_FBIT__ = 63
  1363. const m___LLFRACT_IBIT__ = 0
  1364. const m___LLFRACT_MAX__ = "0X7FFFFFFFFFFFFFFFP-63LLR"
  1365. const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
  1366. const m___LONG_LONG_WIDTH__ = 64
  1367. const m___LONG_MAX = 0x7fffffff
  1368. const m___LONG_MAX__ = 0x7fffffff
  1369. const m___LONG_WIDTH__ = 32
  1370. const m___NO_INLINE__ = 1
  1371. const m___ORDER_BIG_ENDIAN__ = 4321
  1372. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1373. const m___ORDER_PDP_ENDIAN__ = 3412
  1374. const m___PDP_ENDIAN = 3412
  1375. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1376. const m___PRETTY_FUNCTION__ = "__func__"
  1377. const m___PTRDIFF_MAX__ = 0x7fffffff
  1378. const m___PTRDIFF_TYPE__ = "int"
  1379. const m___PTRDIFF_WIDTH__ = 32
  1380. const m___QQ_FBIT__ = 7
  1381. const m___QQ_IBIT__ = 0
  1382. const m___SACCUM_EPSILON__ = "0x1P-7HK"
  1383. const m___SACCUM_FBIT__ = 7
  1384. const m___SACCUM_IBIT__ = 8
  1385. const m___SACCUM_MAX__ = "0X7FFFP-7HK"
  1386. const m___SA_FBIT__ = 15
  1387. const m___SA_IBIT__ = 16
  1388. const m___SCHAR_MAX__ = 0x7f
  1389. const m___SCHAR_WIDTH__ = 8
  1390. const m___SFRACT_EPSILON__ = "0x1P-7HR"
  1391. const m___SFRACT_FBIT__ = 7
  1392. const m___SFRACT_IBIT__ = 0
  1393. const m___SFRACT_MAX__ = "0X7FP-7HR"
  1394. const m___SHRT_MAX__ = 0x7fff
  1395. const m___SHRT_WIDTH__ = 16
  1396. const m___SIG_ATOMIC_MAX__ = 0x7fffffff
  1397. const m___SIG_ATOMIC_TYPE__ = "int"
  1398. const m___SIG_ATOMIC_WIDTH__ = 32
  1399. const m___SIZEOF_DOUBLE__ = 8
  1400. const m___SIZEOF_FLOAT__ = 4
  1401. const m___SIZEOF_INT__ = 4
  1402. const m___SIZEOF_LONG_DOUBLE__ = 8
  1403. const m___SIZEOF_LONG_LONG__ = 8
  1404. const m___SIZEOF_LONG__ = 4
  1405. const m___SIZEOF_POINTER__ = 4
  1406. const m___SIZEOF_PTRDIFF_T__ = 4
  1407. const m___SIZEOF_SHORT__ = 2
  1408. const m___SIZEOF_SIZE_T__ = 4
  1409. const m___SIZEOF_WCHAR_T__ = 4
  1410. const m___SIZEOF_WINT_T__ = 4
  1411. const m___SIZE_MAX__ = 0xffffffff
  1412. const m___SIZE_WIDTH__ = 32
  1413. const m___SQ_FBIT__ = 31
  1414. const m___SQ_IBIT__ = 0
  1415. const m___STDC_HOSTED__ = 1
  1416. const m___STDC_IEC_559_COMPLEX__ = 1
  1417. const m___STDC_IEC_559__ = 1
  1418. const m___STDC_IEC_60559_BFP__ = 201404
  1419. const m___STDC_IEC_60559_COMPLEX__ = 201404
  1420. const m___STDC_ISO_10646__ = 201706
  1421. const m___STDC_UTF_16__ = 1
  1422. const m___STDC_UTF_32__ = 1
  1423. const m___STDC_VERSION__ = 201710
  1424. const m___STDC_WANT_IEC_60559_ATTRIBS_EXT__ = 1
  1425. const m___STDC_WANT_IEC_60559_BFP_EXT__ = 1
  1426. const m___STDC_WANT_IEC_60559_DFP_EXT__ = 1
  1427. const m___STDC_WANT_IEC_60559_FUNCS_EXT__ = 1
  1428. const m___STDC_WANT_IEC_60559_TYPES_EXT__ = 1
  1429. const m___STDC_WANT_LIB_EXT2__ = 1
  1430. const m___STDC_WANT_MATH_SPEC_FUNCS__ = 1
  1431. const m___STDC__ = 1
  1432. const m___TA_FBIT__ = 63
  1433. const m___TA_IBIT__ = 64
  1434. const m___THUMB_INTERWORK__ = 1
  1435. const m___TQ_FBIT__ = 127
  1436. const m___TQ_IBIT__ = 0
  1437. const m___UACCUM_EPSILON__ = "0x1P-16UK"
  1438. const m___UACCUM_FBIT__ = 16
  1439. const m___UACCUM_IBIT__ = 16
  1440. const m___UACCUM_MAX__ = "0XFFFFFFFFP-16UK"
  1441. const m___UACCUM_MIN__ = "0.0UK"
  1442. const m___UDA_FBIT__ = 32
  1443. const m___UDA_IBIT__ = 32
  1444. const m___UDQ_FBIT__ = 64
  1445. const m___UDQ_IBIT__ = 0
  1446. const m___UFRACT_EPSILON__ = "0x1P-16UR"
  1447. const m___UFRACT_FBIT__ = 16
  1448. const m___UFRACT_IBIT__ = 0
  1449. const m___UFRACT_MAX__ = "0XFFFFP-16UR"
  1450. const m___UFRACT_MIN__ = "0.0UR"
  1451. const m___UHA_FBIT__ = 8
  1452. const m___UHA_IBIT__ = 8
  1453. const m___UHQ_FBIT__ = 16
  1454. const m___UHQ_IBIT__ = 0
  1455. const m___UINT16_MAX__ = 0xffff
  1456. const m___UINT32_MAX__ = 0xffffffff
  1457. const m___UINT64_MAX__ = "0xffffffffffffffffU"
  1458. const m___UINT8_MAX__ = 0xff
  1459. const m___UINTMAX_MAX__ = "0xffffffffffffffffU"
  1460. const m___UINTPTR_MAX__ = 0xffffffff
  1461. const m___UINT_FAST16_MAX__ = 0xffffffff
  1462. const m___UINT_FAST32_MAX__ = 0xffffffff
  1463. const m___UINT_FAST64_MAX__ = "0xffffffffffffffffU"
  1464. const m___UINT_FAST8_MAX__ = 0xff
  1465. const m___UINT_LEAST16_MAX__ = 0xffff
  1466. const m___UINT_LEAST32_MAX__ = 0xffffffff
  1467. const m___UINT_LEAST64_MAX__ = "0xffffffffffffffffU"
  1468. const m___UINT_LEAST8_MAX__ = 0xff
  1469. const m___ULACCUM_EPSILON__ = "0x1P-32ULK"
  1470. const m___ULACCUM_FBIT__ = 32
  1471. const m___ULACCUM_IBIT__ = 32
  1472. const m___ULACCUM_MAX__ = "0XFFFFFFFFFFFFFFFFP-32ULK"
  1473. const m___ULACCUM_MIN__ = "0.0ULK"
  1474. const m___ULFRACT_EPSILON__ = "0x1P-32ULR"
  1475. const m___ULFRACT_FBIT__ = 32
  1476. const m___ULFRACT_IBIT__ = 0
  1477. const m___ULFRACT_MAX__ = "0XFFFFFFFFP-32ULR"
  1478. const m___ULFRACT_MIN__ = "0.0ULR"
  1479. const m___ULLACCUM_EPSILON__ = "0x1P-32ULLK"
  1480. const m___ULLACCUM_FBIT__ = 32
  1481. const m___ULLACCUM_IBIT__ = 32
  1482. const m___ULLACCUM_MAX__ = "0XFFFFFFFFFFFFFFFFP-32ULLK"
  1483. const m___ULLACCUM_MIN__ = "0.0ULLK"
  1484. const m___ULLFRACT_EPSILON__ = "0x1P-64ULLR"
  1485. const m___ULLFRACT_FBIT__ = 64
  1486. const m___ULLFRACT_IBIT__ = 0
  1487. const m___ULLFRACT_MAX__ = "0XFFFFFFFFFFFFFFFFP-64ULLR"
  1488. const m___ULLFRACT_MIN__ = "0.0ULLR"
  1489. const m___UQQ_FBIT__ = 8
  1490. const m___UQQ_IBIT__ = 0
  1491. const m___USACCUM_EPSILON__ = "0x1P-8UHK"
  1492. const m___USACCUM_FBIT__ = 8
  1493. const m___USACCUM_IBIT__ = 8
  1494. const m___USACCUM_MAX__ = "0XFFFFP-8UHK"
  1495. const m___USACCUM_MIN__ = "0.0UHK"
  1496. const m___USA_FBIT__ = 16
  1497. const m___USA_IBIT__ = 16
  1498. const m___USE_GNU_GETTEXT = 1
  1499. const m___USE_TIME_BITS64 = 1
  1500. const m___USFRACT_EPSILON__ = "0x1P-8UHR"
  1501. const m___USFRACT_FBIT__ = 8
  1502. const m___USFRACT_IBIT__ = 0
  1503. const m___USFRACT_MAX__ = "0XFFP-8UHR"
  1504. const m___USFRACT_MIN__ = "0.0UHR"
  1505. const m___USQ_FBIT__ = 32
  1506. const m___USQ_IBIT__ = 0
  1507. const m___UTA_FBIT__ = 64
  1508. const m___UTA_IBIT__ = 64
  1509. const m___UTQ_FBIT__ = 128
  1510. const m___UTQ_IBIT__ = 0
  1511. const m___VERSION__ = "12.2.0"
  1512. const m___VFP_FP__ = 1
  1513. const m___WCHAR_MAX__ = 0xffffffff
  1514. const m___WCHAR_MIN__ = 0
  1515. const m___WCHAR_WIDTH__ = 32
  1516. const m___WINT_MAX__ = 0xffffffff
  1517. const m___WINT_MIN__ = 0
  1518. const m___WINT_WIDTH__ = 32
  1519. const m___arm__ = 1
  1520. const m___gnu_linux__ = 1
  1521. const m___inline = "inline"
  1522. const m___linux = 1
  1523. const m___linux__ = 1
  1524. const m___restrict = "restrict"
  1525. const m___restrict_arr = "restrict"
  1526. const m___tm_gmtoff = "tm_gmtoff"
  1527. const m___tm_zone = "tm_zone"
  1528. const m___unix = 1
  1529. const m___unix__ = 1
  1530. const m_alloca = "__builtin_alloca"
  1531. const m_linux = 1
  1532. const m_math_errhandling = 2
  1533. const m_static_assert = "_Static_assert"
  1534. const m_unix = 1
  1535. type t__builtin_va_list = uintptr
  1536. type t__predefined_size_t = uint32
  1537. type t__predefined_wchar_t = uint32
  1538. type t__predefined_ptrdiff_t = int32
  1539. type Tuintptr_t = uint32
  1540. type Tintptr_t = int32
  1541. type Tint8_t = int8
  1542. type Tint16_t = int16
  1543. type Tint32_t = int32
  1544. type Tint64_t = int64
  1545. type Tintmax_t = int64
  1546. type Tuint8_t = uint8
  1547. type Tuint16_t = uint16
  1548. type Tuint32_t = uint32
  1549. type Tuint64_t = uint64
  1550. type Tuintmax_t = uint64
  1551. type Tint_fast8_t = int8
  1552. type Tint_fast64_t = int64
  1553. type Tint_least8_t = int8
  1554. type Tint_least16_t = int16
  1555. type Tint_least32_t = int32
  1556. type Tint_least64_t = int64
  1557. type Tuint_fast8_t = uint8
  1558. type Tuint_fast64_t = uint64
  1559. type Tuint_least8_t = uint8
  1560. type Tuint_least16_t = uint16
  1561. type Tuint_least32_t = uint32
  1562. type Tuint_least64_t = uint64
  1563. type Tint_fast16_t = int32
  1564. type Tint_fast32_t = int32
  1565. type Tuint_fast16_t = uint32
  1566. type Tuint_fast32_t = uint32
  1567. type Twchar_t = uint32
  1568. type Tsize_t = uint32
  1569. type Tdiv_t = struct {
  1570. Fquot int32
  1571. Frem int32
  1572. }
  1573. type Tldiv_t = struct {
  1574. Fquot int32
  1575. Frem int32
  1576. }
  1577. type Tlldiv_t = struct {
  1578. F__ccgo_align [0]uint32
  1579. Fquot int64
  1580. Frem int64
  1581. }
  1582. type Tssize_t = int32
  1583. type Toff_t = int64
  1584. type Tva_list = uintptr
  1585. type t__isoc_va_list = uintptr
  1586. type Tfpos_t = struct {
  1587. F__ccgo_align [0]uint32
  1588. F__lldata [0]int64
  1589. F__align [0]float64
  1590. F__opaque [16]uint8
  1591. }
  1592. type T_G_fpos64_t = Tfpos_t
  1593. type Tcookie_io_functions_t = struct {
  1594. Fread uintptr
  1595. Fwrite uintptr
  1596. Fseek uintptr
  1597. Fclose1 uintptr
  1598. }
  1599. type T_IO_cookie_io_functions_t = Tcookie_io_functions_t
  1600. type Tlocale_t = uintptr
  1601. type Tfloat_t = float32
  1602. type Tdouble_t = float64
  1603. type Tpid_t = int32
  1604. type Tuid_t = uint32
  1605. type Tgid_t = uint32
  1606. type Tuseconds_t = uint32
  1607. type Tmax_align_t = struct {
  1608. F__ccgo_align [0]uint32
  1609. F__ll int64
  1610. F__ld float64
  1611. }
  1612. type Tptrdiff_t = int32
  1613. type Tregister_t = int32
  1614. type Ttime_t = int64
  1615. type Tsuseconds_t = int64
  1616. type Tu_int64_t = uint64
  1617. type Tmode_t = uint32
  1618. type Tnlink_t = uint32
  1619. type Tino_t = uint64
  1620. type Tdev_t = uint64
  1621. type Tblksize_t = int32
  1622. type Tblkcnt_t = int64
  1623. type Tfsblkcnt_t = uint64
  1624. type Tfsfilcnt_t = uint64
  1625. type Ttimer_t = uintptr
  1626. type Tclockid_t = int32
  1627. type Tclock_t = int32
  1628. type Tid_t = uint32
  1629. type Tkey_t = int32
  1630. type Tpthread_t = uintptr
  1631. type Tpthread_once_t = int32
  1632. type Tpthread_key_t = uint32
  1633. type Tpthread_spinlock_t = int32
  1634. type Tpthread_mutexattr_t = struct {
  1635. F__attr uint32
  1636. }
  1637. type Tpthread_condattr_t = struct {
  1638. F__attr uint32
  1639. }
  1640. type Tpthread_barrierattr_t = struct {
  1641. F__attr uint32
  1642. }
  1643. type Tpthread_rwlockattr_t = struct {
  1644. F__attr [2]uint32
  1645. }
  1646. type Tpthread_attr_t = struct {
  1647. F__u struct {
  1648. F__vi [0][9]int32
  1649. F__s [0][9]uint32
  1650. F__i [9]int32
  1651. }
  1652. }
  1653. type Tpthread_mutex_t = struct {
  1654. F__u struct {
  1655. F__vi [0][6]int32
  1656. F__p [0][6]uintptr
  1657. F__i [6]int32
  1658. }
  1659. F__ccgo_room int32
  1660. }
  1661. type Tpthread_cond_t = struct {
  1662. F__u struct {
  1663. F__vi [0][12]int32
  1664. F__p [0][12]uintptr
  1665. F__i [12]int32
  1666. }
  1667. }
  1668. type Tpthread_rwlock_t = struct {
  1669. F__u struct {
  1670. F__vi [0][8]int32
  1671. F__p [0][8]uintptr
  1672. F__i [8]int32
  1673. }
  1674. }
  1675. type Tpthread_barrier_t = struct {
  1676. F__u struct {
  1677. F__vi [0][5]int32
  1678. F__p [0][5]uintptr
  1679. F__i [5]int32
  1680. }
  1681. }
  1682. type Tu_int8_t = uint8
  1683. type Tu_int16_t = uint16
  1684. type Tu_int32_t = uint32
  1685. type Tcaddr_t = uintptr
  1686. type Tu_char = uint8
  1687. type Tu_short = uint16
  1688. type Tushort = uint16
  1689. type Tu_int = uint32
  1690. type Tuint = uint32
  1691. type Tu_long = uint32
  1692. type Tulong = uint32
  1693. type Tquad_t = int64
  1694. type Tu_quad_t = uint64
  1695. type Ttimeval = struct {
  1696. F__ccgo_align [0]uint32
  1697. Ftv_sec Ttime_t
  1698. Ftv_usec Tsuseconds_t
  1699. }
  1700. type Ttimespec = struct {
  1701. F__ccgo_align [0]uint32
  1702. Ftv_sec Ttime_t
  1703. Ftv_nsec int32
  1704. F__ccgo12 uint32
  1705. }
  1706. type Tsigset_t = struct {
  1707. F__bits [32]uint32
  1708. }
  1709. type t__sigset_t = Tsigset_t
  1710. type Tfd_mask = uint32
  1711. type Tfd_set = struct {
  1712. Ffds_bits [32]uint32
  1713. }
  1714. type Tstat = struct {
  1715. F__ccgo_align [0]uint32
  1716. Fst_dev Tdev_t
  1717. F__st_dev_padding int32
  1718. F__st_ino_truncated int32
  1719. Fst_mode Tmode_t
  1720. Fst_nlink Tnlink_t
  1721. Fst_uid Tuid_t
  1722. Fst_gid Tgid_t
  1723. Fst_rdev Tdev_t
  1724. F__st_rdev_padding int32
  1725. F__ccgo_align9 [4]byte
  1726. Fst_size Toff_t
  1727. Fst_blksize Tblksize_t
  1728. F__ccgo_align11 [4]byte
  1729. Fst_blocks Tblkcnt_t
  1730. F__st_atim32 struct {
  1731. Ftv_sec int32
  1732. Ftv_nsec int32
  1733. }
  1734. F__st_mtim32 struct {
  1735. Ftv_sec int32
  1736. Ftv_nsec int32
  1737. }
  1738. F__st_ctim32 struct {
  1739. Ftv_sec int32
  1740. Ftv_nsec int32
  1741. }
  1742. Fst_ino Tino_t
  1743. Fst_atim Ttimespec
  1744. Fst_mtim Ttimespec
  1745. Fst_ctim Ttimespec
  1746. }
  1747. type Tstatx_timestamp = struct {
  1748. F__ccgo_align [0]uint32
  1749. Ftv_sec Tint64_t
  1750. Ftv_nsec Tuint32_t
  1751. F__pad Tuint32_t
  1752. }
  1753. type Tstatx = struct {
  1754. F__ccgo_align [0]uint32
  1755. Fstx_mask Tuint32_t
  1756. Fstx_blksize Tuint32_t
  1757. Fstx_attributes Tuint64_t
  1758. Fstx_nlink Tuint32_t
  1759. Fstx_uid Tuint32_t
  1760. Fstx_gid Tuint32_t
  1761. Fstx_mode Tuint16_t
  1762. F__pad0 [1]Tuint16_t
  1763. Fstx_ino Tuint64_t
  1764. Fstx_size Tuint64_t
  1765. Fstx_blocks Tuint64_t
  1766. Fstx_attributes_mask Tuint64_t
  1767. Fstx_atime Tstatx_timestamp
  1768. Fstx_btime Tstatx_timestamp
  1769. Fstx_ctime Tstatx_timestamp
  1770. Fstx_mtime Tstatx_timestamp
  1771. Fstx_rdev_major Tuint32_t
  1772. Fstx_rdev_minor Tuint32_t
  1773. Fstx_dev_major Tuint32_t
  1774. Fstx_dev_minor Tuint32_t
  1775. F__pad1 [14]Tuint64_t
  1776. }
  1777. type Ttm = struct {
  1778. Ftm_sec int32
  1779. Ftm_min int32
  1780. Ftm_hour int32
  1781. Ftm_mday int32
  1782. Ftm_mon int32
  1783. Ftm_year int32
  1784. Ftm_wday int32
  1785. Ftm_yday int32
  1786. Ftm_isdst int32
  1787. Ftm_gmtoff int32
  1788. Ftm_zone uintptr
  1789. }
  1790. type Titimerspec = struct {
  1791. F__ccgo_align [0]uint32
  1792. Fit_interval Ttimespec
  1793. Fit_value Ttimespec
  1794. }
  1795. type TFcChar8 = uint8
  1796. type TFcChar16 = uint16
  1797. type TFcChar32 = uint32
  1798. type TFcBool = int32
  1799. type TFcType = int32
  1800. type __FcType = int32
  1801. const _FcTypeUnknown = -1
  1802. const _FcTypeVoid = 0
  1803. const _FcTypeInteger = 1
  1804. const _FcTypeDouble = 2
  1805. const _FcTypeString = 3
  1806. const _FcTypeBool = 4
  1807. const _FcTypeMatrix = 5
  1808. const _FcTypeCharSet = 6
  1809. const _FcTypeFTFace = 7
  1810. const _FcTypeLangSet = 8
  1811. const _FcTypeRange = 9
  1812. type TFcMatrix = struct {
  1813. F__ccgo_align [0]uint32
  1814. Fxx float64
  1815. Fxy float64
  1816. Fyx float64
  1817. Fyy float64
  1818. }
  1819. type T_FcMatrix = TFcMatrix
  1820. type TFcCharSet = struct {
  1821. Fref TFcRef
  1822. Fnum int32
  1823. Fleaves_offset Tintptr_t
  1824. Fnumbers_offset Tintptr_t
  1825. }
  1826. type T_FcCharSet = TFcCharSet
  1827. type TFcObjectType = struct {
  1828. Fobject uintptr
  1829. Ftype1 TFcType
  1830. }
  1831. type T_FcObjectType = TFcObjectType
  1832. type TFcConstant = struct {
  1833. Fname uintptr
  1834. Fobject uintptr
  1835. Fvalue int32
  1836. }
  1837. type T_FcConstant = TFcConstant
  1838. type TFcResult = int32
  1839. type __FcResult = int32
  1840. const _FcResultMatch = 0
  1841. const _FcResultNoMatch = 1
  1842. const _FcResultTypeMismatch = 2
  1843. const _FcResultNoId = 3
  1844. const _FcResultOutOfMemory = 4
  1845. type TFcValueBinding = int32
  1846. type __FcValueBinding = int32
  1847. const _FcValueBindingWeak = 0
  1848. const _FcValueBindingStrong = 1
  1849. const _FcValueBindingSame = 2
  1850. const _FcValueBindingEnd = 2147483647
  1851. type TFcPattern = struct {
  1852. Fnum int32
  1853. Fsize int32
  1854. Felts_offset Tintptr_t
  1855. Fref TFcRef
  1856. }
  1857. type T_FcPattern = TFcPattern
  1858. type TFcPatternIter = struct {
  1859. Fdummy1 uintptr
  1860. Fdummy2 uintptr
  1861. }
  1862. type T_FcPatternIter = TFcPatternIter
  1863. type TFcRange = struct {
  1864. F__ccgo_align [0]uint32
  1865. Fbegin float64
  1866. Fend float64
  1867. }
  1868. type T_FcRange = TFcRange
  1869. type TFcValue = struct {
  1870. F__ccgo_align [0]uint32
  1871. Ftype1 TFcType
  1872. F__ccgo_align1 [4]byte
  1873. Fu struct {
  1874. F__ccgo_align [0]uint32
  1875. Fi [0]int32
  1876. Fb [0]TFcBool
  1877. Fd [0]float64
  1878. Fm [0]uintptr
  1879. Fc [0]uintptr
  1880. Ff [0]uintptr
  1881. Fl [0]uintptr
  1882. Fr [0]uintptr
  1883. Fs uintptr
  1884. F__ccgo_pad9 [4]byte
  1885. }
  1886. }
  1887. type T_FcValue = TFcValue
  1888. type TFcFontSet = struct {
  1889. Fnfont int32
  1890. Fsfont int32
  1891. Ffonts uintptr
  1892. }
  1893. type T_FcFontSet = TFcFontSet
  1894. type TFcObjectSet = struct {
  1895. Fnobject int32
  1896. Fsobject int32
  1897. Fobjects uintptr
  1898. }
  1899. type T_FcObjectSet = TFcObjectSet
  1900. type TFcMatchKind = int32
  1901. type __FcMatchKind = int32
  1902. const _FcMatchPattern = 0
  1903. const _FcMatchFont = 1
  1904. const _FcMatchScan = 2
  1905. const _FcMatchKindEnd = 3
  1906. const _FcMatchKindBegin = 0
  1907. type TFcLangResult = int32
  1908. type __FcLangResult = int32
  1909. const _FcLangEqual = 0
  1910. const _FcLangDifferentCountry = 1
  1911. const _FcLangDifferentTerritory = 1
  1912. const _FcLangDifferentLang = 2
  1913. type TFcSetName = int32
  1914. type __FcSetName = int32
  1915. const _FcSetSystem = 0
  1916. const _FcSetApplication = 1
  1917. type TFcConfigFileInfoIter = struct {
  1918. Fdummy1 uintptr
  1919. Fdummy2 uintptr
  1920. Fdummy3 uintptr
  1921. }
  1922. type T_FcConfigFileInfoIter = TFcConfigFileInfoIter
  1923. type TFcAtomic = struct {
  1924. Ffile uintptr
  1925. Fnew1 uintptr
  1926. Flck uintptr
  1927. Ftmp uintptr
  1928. }
  1929. type T_FcAtomic = TFcAtomic
  1930. type TFcEndian = int32
  1931. const _FcEndianBig = 0
  1932. const _FcEndianLittle = 1
  1933. type TFcConfig = struct {
  1934. F__ccgo_align [0]uint32
  1935. FconfigDirs uintptr
  1936. FconfigMapDirs uintptr
  1937. FfontDirs uintptr
  1938. FcacheDirs uintptr
  1939. FconfigFiles uintptr
  1940. Fsubst [3]uintptr
  1941. FmaxObjects int32
  1942. FacceptGlobs uintptr
  1943. FrejectGlobs uintptr
  1944. FacceptPatterns uintptr
  1945. FrejectPatterns uintptr
  1946. Ffonts [2]uintptr
  1947. F__ccgo_align12 [4]byte
  1948. FrescanTime Ttime_t
  1949. FrescanInterval int32
  1950. Fref TFcRef
  1951. Fexpr_pool uintptr
  1952. FsysRoot uintptr
  1953. FavailConfigFiles uintptr
  1954. FrulesetList uintptr
  1955. }
  1956. type T_FcConfig = TFcConfig
  1957. type TFcStrList = struct {
  1958. Fset uintptr
  1959. Fn int32
  1960. }
  1961. type T_FcStrList = TFcStrList
  1962. type TFcStrSet = struct {
  1963. Fref TFcRef
  1964. Fnum int32
  1965. Fsize int32
  1966. Fstrs uintptr
  1967. Fcontrol uint32
  1968. }
  1969. type T_FcStrSet = TFcStrSet
  1970. type TFcCache = struct {
  1971. F__ccgo_align [0]uint32
  1972. Fmagic uint32
  1973. Fversion int32
  1974. Fsize Tintptr_t
  1975. Fdir Tintptr_t
  1976. Fdirs Tintptr_t
  1977. Fdirs_count int32
  1978. Fset Tintptr_t
  1979. Fchecksum int32
  1980. Fchecksum_nano Tint64_t
  1981. }
  1982. type T_FcCache = TFcCache
  1983. type Tfc_mutex_impl_t = int32
  1984. type TFcMutex = int32
  1985. type Tfc_atomic_int_t = int32
  1986. type TFcRef = struct {
  1987. Fcount Tfc_atomic_int_t
  1988. }
  1989. type T_FcRef = TFcRef
  1990. type T_static_assert_on_line_141_failed = [1]int32
  1991. type TFcValueListPtr = uintptr
  1992. type T_FcValueList = struct {
  1993. F__ccgo_align [0]uint32
  1994. Fnext uintptr
  1995. F__ccgo_align1 [4]byte
  1996. Fvalue TFcValue
  1997. Fbinding TFcValueBinding
  1998. F__ccgo_pad3 [4]byte
  1999. }
  2000. type TFcValueList = struct {
  2001. F__ccgo_align [0]uint32
  2002. Fnext uintptr
  2003. F__ccgo_align1 [4]byte
  2004. Fvalue TFcValue
  2005. Fbinding TFcValueBinding
  2006. F__ccgo_pad3 [4]byte
  2007. }
  2008. type TFcObject = int32
  2009. type TFcPatternEltPtr = uintptr
  2010. type T_FcPatternElt = struct {
  2011. Fobject TFcObject
  2012. Fvalues uintptr
  2013. }
  2014. type TFcPatternElt = struct {
  2015. Fobject TFcObject
  2016. Fvalues uintptr
  2017. }
  2018. type TFcOp = int32
  2019. type __FcOp = int32
  2020. const _FcOpInteger = 0
  2021. const _FcOpDouble = 1
  2022. const _FcOpString = 2
  2023. const _FcOpMatrix = 3
  2024. const _FcOpRange = 4
  2025. const _FcOpBool = 5
  2026. const _FcOpCharSet = 6
  2027. const _FcOpLangSet = 7
  2028. const _FcOpNil = 8
  2029. const _FcOpField = 9
  2030. const _FcOpConst = 10
  2031. const _FcOpAssign = 11
  2032. const _FcOpAssignReplace = 12
  2033. const _FcOpPrependFirst = 13
  2034. const _FcOpPrepend = 14
  2035. const _FcOpAppend = 15
  2036. const _FcOpAppendLast = 16
  2037. const _FcOpDelete = 17
  2038. const _FcOpDeleteAll = 18
  2039. const _FcOpQuest = 19
  2040. const _FcOpOr = 20
  2041. const _FcOpAnd = 21
  2042. const _FcOpEqual = 22
  2043. const _FcOpNotEqual = 23
  2044. const _FcOpContains = 24
  2045. const _FcOpListing = 25
  2046. const _FcOpNotContains = 26
  2047. const _FcOpLess = 27
  2048. const _FcOpLessEqual = 28
  2049. const _FcOpMore = 29
  2050. const _FcOpMoreEqual = 30
  2051. const _FcOpPlus = 31
  2052. const _FcOpMinus = 32
  2053. const _FcOpTimes = 33
  2054. const _FcOpDivide = 34
  2055. const _FcOpNot = 35
  2056. const _FcOpComma = 36
  2057. const _FcOpFloor = 37
  2058. const _FcOpCeil = 38
  2059. const _FcOpRound = 39
  2060. const _FcOpTrunc = 40
  2061. const _FcOpInvalid = 41
  2062. type TFcOpFlags = int32
  2063. type __FcOpFlags = int32
  2064. const _FcOpFlagIgnoreBlanks = 1
  2065. type TFcExprMatrix = struct {
  2066. Fxx uintptr
  2067. Fxy uintptr
  2068. Fyx uintptr
  2069. Fyy uintptr
  2070. }
  2071. type T_FcExprMatrix = TFcExprMatrix
  2072. type TFcExprName = struct {
  2073. Fobject TFcObject
  2074. Fkind TFcMatchKind
  2075. }
  2076. type T_FcExprName = TFcExprName
  2077. type TFcExpr = struct {
  2078. F__ccgo_align [0]uint32
  2079. Fop TFcOp
  2080. F__ccgo_align1 [4]byte
  2081. Fu struct {
  2082. F__ccgo_align [0]uint32
  2083. Fdval [0]float64
  2084. Fsval [0]uintptr
  2085. Fmexpr [0]uintptr
  2086. Fbval [0]TFcBool
  2087. Fcval [0]uintptr
  2088. Flval [0]uintptr
  2089. Frval [0]uintptr
  2090. Fname [0]TFcExprName
  2091. Fconstant [0]uintptr
  2092. Ftree [0]struct {
  2093. Fleft uintptr
  2094. Fright uintptr
  2095. }
  2096. Fival int32
  2097. F__ccgo_pad11 [4]byte
  2098. }
  2099. }
  2100. type T_FcExpr = TFcExpr
  2101. type TFcExprPage = struct {
  2102. F__ccgo_align [0]uint32
  2103. Fnext_page uintptr
  2104. Fnext uintptr
  2105. Fexprs [255]TFcExpr
  2106. }
  2107. type T_FcExprPage = TFcExprPage
  2108. type TFcQual = int32
  2109. type __FcQual = int32
  2110. const _FcQualAny = 0
  2111. const _FcQualAll = 1
  2112. const _FcQualFirst = 2
  2113. const _FcQualNotFirst = 3
  2114. type TFcTest = struct {
  2115. Fkind TFcMatchKind
  2116. Fqual TFcQual
  2117. Fobject TFcObject
  2118. Fop TFcOp
  2119. Fexpr uintptr
  2120. }
  2121. type T_FcTest = TFcTest
  2122. type TFcEdit = struct {
  2123. Fobject TFcObject
  2124. Fop TFcOp
  2125. Fexpr uintptr
  2126. Fbinding TFcValueBinding
  2127. }
  2128. type T_FcEdit = TFcEdit
  2129. type TFcDestroyFunc = uintptr
  2130. type TFcPtrListIter = struct {
  2131. Fdummy1 uintptr
  2132. Fdummy2 uintptr
  2133. Fdummy3 uintptr
  2134. }
  2135. type T_FcPtrListIter = TFcPtrListIter
  2136. type TFcRuleType = int32
  2137. type __FcRuleType = int32
  2138. const _FcRuleUnknown = 0
  2139. const _FcRuleTest = 1
  2140. const _FcRuleEdit = 2
  2141. type TFcRule = struct {
  2142. Fnext uintptr
  2143. Ftype1 TFcRuleType
  2144. Fu struct {
  2145. Fedit [0]uintptr
  2146. Ftest uintptr
  2147. }
  2148. }
  2149. type T_FcRule = TFcRule
  2150. type TFcRuleSet = struct {
  2151. Fref TFcRef
  2152. Fname uintptr
  2153. Fdescription uintptr
  2154. Fdomain uintptr
  2155. Fenabled TFcBool
  2156. Fsubst [3]uintptr
  2157. }
  2158. type T_FcRuleSet = TFcRuleSet
  2159. type TFcCharLeaf = struct {
  2160. Fmap1 [8]TFcChar32
  2161. }
  2162. type T_FcCharLeaf = TFcCharLeaf
  2163. type TFcStrBuf = struct {
  2164. Fbuf uintptr
  2165. Fallocated TFcBool
  2166. Ffailed TFcBool
  2167. Flen1 int32
  2168. Fsize int32
  2169. Fbuf_static [64]TFcChar8
  2170. }
  2171. type T_FcStrBuf = TFcStrBuf
  2172. type TFcHashFunc = uintptr
  2173. type TFcCompareFunc = uintptr
  2174. type TFcCopyFunc = uintptr
  2175. type TFcAlign = struct {
  2176. F__ccgo_align [0]uint32
  2177. Fi [0]int32
  2178. Fip [0]Tintptr_t
  2179. Fb [0]TFcBool
  2180. Fp [0]uintptr
  2181. Fd float64
  2182. }
  2183. type T_FcAlign = TFcAlign
  2184. type TFcSerializeBucket = struct {
  2185. Fobject uintptr
  2186. Fhash Tuintptr_t
  2187. Foffset Tintptr_t
  2188. }
  2189. type T_FcSerializeBucket = TFcSerializeBucket
  2190. type TFcSerialize = struct {
  2191. Fsize Tintptr_t
  2192. Fcs_freezer uintptr
  2193. Flinear uintptr
  2194. Fbuckets uintptr
  2195. Fbuckets_count Tsize_t
  2196. Fbuckets_used Tsize_t
  2197. Fbuckets_used_max Tsize_t
  2198. }
  2199. type T_FcSerialize = TFcSerialize
  2200. type TFcGlyphName = struct {
  2201. Fucs TFcChar32
  2202. Fname [1]TFcChar8
  2203. }
  2204. type T_FcGlyphName = TFcGlyphName
  2205. type TFcCaseFold = struct {
  2206. Fupper TFcChar32
  2207. F__ccgo4 uint16
  2208. Foffset int16
  2209. }
  2210. type T_FcCaseFold = TFcCaseFold
  2211. type TFcFileTime = struct {
  2212. F__ccgo_align [0]uint32
  2213. Ftime Ttime_t
  2214. Fset TFcBool
  2215. F__ccgo_pad2 [4]byte
  2216. }
  2217. type T_FcFileTime = TFcFileTime
  2218. type TFcStatFS = struct {
  2219. Fis_remote_fs TFcBool
  2220. Fis_mtime_broken TFcBool
  2221. }
  2222. type T_FcStatFS = TFcStatFS
  2223. type TFcValuePromotionBuffer = struct {
  2224. F__ccgo_align [0]uint32
  2225. Fu struct {
  2226. F__ccgo_align [0]uint32
  2227. Fi [0]int32
  2228. Fl [0]int32
  2229. Fc [0][256]uint8
  2230. Fd float64
  2231. F__ccgo_pad4 [248]byte
  2232. }
  2233. }
  2234. type T_FcValuePromotionBuffer = TFcValuePromotionBuffer
  2235. const _FC_INVALID_OBJECT = 0
  2236. const _FC_FAMILY_OBJECT = 1
  2237. const _FC_FAMILYLANG_OBJECT = 2
  2238. const _FC_STYLE_OBJECT = 3
  2239. const _FC_STYLELANG_OBJECT = 4
  2240. const _FC_FULLNAME_OBJECT = 5
  2241. const _FC_FULLNAMELANG_OBJECT = 6
  2242. const _FC_SLANT_OBJECT = 7
  2243. const _FC_WEIGHT_OBJECT = 8
  2244. const _FC_WIDTH_OBJECT = 9
  2245. const _FC_SIZE_OBJECT = 10
  2246. const _FC_ASPECT_OBJECT = 11
  2247. const _FC_PIXEL_SIZE_OBJECT = 12
  2248. const _FC_SPACING_OBJECT = 13
  2249. const _FC_FOUNDRY_OBJECT = 14
  2250. const _FC_ANTIALIAS_OBJECT = 15
  2251. const _FC_HINT_STYLE_OBJECT = 16
  2252. const _FC_HINTING_OBJECT = 17
  2253. const _FC_VERTICAL_LAYOUT_OBJECT = 18
  2254. const _FC_AUTOHINT_OBJECT = 19
  2255. const _FC_GLOBAL_ADVANCE_OBJECT = 20
  2256. const _FC_FILE_OBJECT = 21
  2257. const _FC_INDEX_OBJECT = 22
  2258. const _FC_RASTERIZER_OBJECT = 23
  2259. const _FC_OUTLINE_OBJECT = 24
  2260. const _FC_SCALABLE_OBJECT = 25
  2261. const _FC_DPI_OBJECT = 26
  2262. const _FC_RGBA_OBJECT = 27
  2263. const _FC_SCALE_OBJECT = 28
  2264. const _FC_MINSPACE_OBJECT = 29
  2265. const _FC_CHARWIDTH_OBJECT = 30
  2266. const _FC_CHAR_HEIGHT_OBJECT = 31
  2267. const _FC_MATRIX_OBJECT = 32
  2268. const _FC_CHARSET_OBJECT = 33
  2269. const _FC_LANG_OBJECT = 34
  2270. const _FC_FONTVERSION_OBJECT = 35
  2271. const _FC_CAPABILITY_OBJECT = 36
  2272. const _FC_FONTFORMAT_OBJECT = 37
  2273. const _FC_EMBOLDEN_OBJECT = 38
  2274. const _FC_EMBEDDED_BITMAP_OBJECT = 39
  2275. const _FC_DECORATIVE_OBJECT = 40
  2276. const _FC_LCD_FILTER_OBJECT = 41
  2277. const _FC_NAMELANG_OBJECT = 42
  2278. const _FC_FONT_FEATURES_OBJECT = 43
  2279. const _FC_PRGNAME_OBJECT = 44
  2280. const _FC_HASH_OBJECT = 45
  2281. const _FC_POSTSCRIPT_NAME_OBJECT = 46
  2282. const _FC_COLOR_OBJECT = 47
  2283. const _FC_SYMBOL_OBJECT = 48
  2284. const _FC_FONT_VARIATIONS_OBJECT = 49
  2285. const _FC_VARIABLE_OBJECT = 50
  2286. const _FC_FONT_HAS_HINT_OBJECT = 51
  2287. const _FC_ORDER_OBJECT = 52
  2288. const _FC_ONE_AFTER_MAX_BASE_OBJECT = 53
  2289. func XIA__FcAtomicCreate(tls *libc.TLS, file uintptr) (r uintptr) {
  2290. var atomic uintptr
  2291. var file_len, lck_len, new_len, tmp_len, total_len int32
  2292. _, _, _, _, _, _ = atomic, file_len, lck_len, new_len, tmp_len, total_len
  2293. file_len = libc.Int32FromUint32(libc.Xstrlen(tls, file))
  2294. new_len = libc.Int32FromUint32(libc.Uint32FromInt32(file_len) + uint32(5))
  2295. lck_len = libc.Int32FromUint32(libc.Uint32FromInt32(file_len) + uint32(5))
  2296. tmp_len = libc.Int32FromUint32(libc.Uint32FromInt32(file_len) + uint32(12))
  2297. total_len = libc.Int32FromUint32(libc.Uint32FromInt64(16) + libc.Uint32FromInt32(file_len) + libc.Uint32FromInt32(1) + libc.Uint32FromInt32(new_len) + libc.Uint32FromInt32(1) + libc.Uint32FromInt32(lck_len) + libc.Uint32FromInt32(1) + libc.Uint32FromInt32(tmp_len) + libc.Uint32FromInt32(1))
  2298. atomic = libc.Xmalloc(tls, libc.Uint32FromInt32(total_len))
  2299. if !(atomic != 0) {
  2300. return uintptr(0)
  2301. }
  2302. (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile = atomic + libc.UintptrFromInt32(1)*16
  2303. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, file)
  2304. (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 = (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile + uintptr(file_len) + uintptr(1)
  2305. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, file)
  2306. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, __ccgo_ts)
  2307. (*TFcAtomic)(unsafe.Pointer(atomic)).Flck = (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 + uintptr(new_len) + uintptr(1)
  2308. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, file)
  2309. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, __ccgo_ts+5)
  2310. (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp = (*TFcAtomic)(unsafe.Pointer(atomic)).Flck + uintptr(lck_len) + uintptr(1)
  2311. return atomic
  2312. }
  2313. var XFcAtomicCreate = XIA__FcAtomicCreate
  2314. func XIA__FcAtomicLock(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2315. bp := tls.Alloc(176)
  2316. defer tls.Free(176)
  2317. var f uintptr
  2318. var fd, ret int32
  2319. var no_link TFcBool
  2320. var now Ttime_t
  2321. var _ /* lck_stat at bp+0 */ Tstat
  2322. _, _, _, _, _ = f, fd, no_link, now, ret
  2323. fd = -int32(1)
  2324. f = uintptr(0)
  2325. no_link = m_FcFalse
  2326. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile)
  2327. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, __ccgo_ts+10)
  2328. fd = XFcMakeTempfile(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2329. if fd < 0 {
  2330. return m_FcFalse
  2331. }
  2332. f = libc.Xfdopen(tls, fd, __ccgo_ts+22)
  2333. if !(f != 0) {
  2334. libc.Xclose(tls, fd)
  2335. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2336. return m_FcFalse
  2337. }
  2338. ret = libc.Xfprintf(tls, f, __ccgo_ts+24, libc.VaList(bp+160, libc.Xgetpid(tls)))
  2339. if ret <= 0 {
  2340. libc.Xfclose(tls, f)
  2341. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2342. return m_FcFalse
  2343. }
  2344. if libc.Xfclose(tls, f) == -int32(1) {
  2345. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2346. return m_FcFalse
  2347. }
  2348. ret = libc.Xlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2349. if ret < 0 && (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EPERM) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EOPNOTSUPP) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EACCES)) {
  2350. /* the filesystem where atomic->lck points to may not supports
  2351. * the hard link. so better try to fallback
  2352. */
  2353. ret = libc.Xmkdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, uint32(0600))
  2354. no_link = int32(m_FcTrue)
  2355. }
  2356. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2357. if ret < 0 {
  2358. /*
  2359. * If the file is around and old (> 10 minutes),
  2360. * assume the lock is stale. This assumes that any
  2361. * machines sharing the same filesystem will have clocks
  2362. * reasonably close to each other.
  2363. */
  2364. if XFcStat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, bp) >= 0 {
  2365. now = libc.Xtime(tls, uintptr(0))
  2366. if int32(now-(*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec) > libc.Int32FromInt32(10)*libc.Int32FromInt32(60) {
  2367. if no_link != 0 {
  2368. if libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2369. return XIA__FcAtomicLock(tls, atomic)
  2370. }
  2371. } else {
  2372. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2373. return XIA__FcAtomicLock(tls, atomic)
  2374. }
  2375. }
  2376. }
  2377. }
  2378. return m_FcFalse
  2379. }
  2380. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2381. return int32(m_FcTrue)
  2382. }
  2383. var XFcAtomicLock = XIA__FcAtomicLock
  2384. func XIA__FcAtomicNewFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2385. return (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1
  2386. }
  2387. var XFcAtomicNewFile = XIA__FcAtomicNewFile
  2388. func XIA__FcAtomicOrigFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2389. return (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile
  2390. }
  2391. var XFcAtomicOrigFile = XIA__FcAtomicOrigFile
  2392. func XIA__FcAtomicReplaceOrig(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2393. if libc.Xrename(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile) < 0 {
  2394. return m_FcFalse
  2395. }
  2396. return int32(m_FcTrue)
  2397. }
  2398. var XFcAtomicReplaceOrig = XIA__FcAtomicReplaceOrig
  2399. func XIA__FcAtomicDeleteNew(tls *libc.TLS, atomic uintptr) {
  2400. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2401. }
  2402. var XFcAtomicDeleteNew = XIA__FcAtomicDeleteNew
  2403. func XIA__FcAtomicUnlock(tls *libc.TLS, atomic uintptr) {
  2404. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == -int32(1) {
  2405. libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2406. }
  2407. }
  2408. var XFcAtomicUnlock = XIA__FcAtomicUnlock
  2409. func XIA__FcAtomicDestroy(tls *libc.TLS, atomic uintptr) {
  2410. libc.Xfree(tls, atomic)
  2411. }
  2412. var XFcAtomicDestroy = XIA__FcAtomicDestroy
  2413. const m_AT_EACCESS = 0x200
  2414. const m_AT_EMPTY_PATH = 0x1000
  2415. const m_AT_NO_AUTOMOUNT = 0x800
  2416. const m_AT_RECURSIVE = 0x8000
  2417. const m_AT_REMOVEDIR = 0x200
  2418. const m_AT_STATX_DONT_SYNC = 0x4000
  2419. const m_AT_STATX_FORCE_SYNC = 0x2000
  2420. const m_AT_STATX_SYNC_AS_STAT = 0x0000
  2421. const m_AT_STATX_SYNC_TYPE = 0x6000
  2422. const m_AT_SYMLINK_FOLLOW = 0x400
  2423. const m_AT_SYMLINK_NOFOLLOW = 0x100
  2424. const m_DN_ACCESS = 0x00000001
  2425. const m_DN_ATTRIB = 0x00000020
  2426. const m_DN_CREATE = 0x00000004
  2427. const m_DN_DELETE = 0x00000008
  2428. const m_DN_MODIFY = 0x00000002
  2429. const m_DN_MULTISHOT = 0x80000000
  2430. const m_DN_RENAME = 0x00000010
  2431. const m_DT_BLK = 6
  2432. const m_DT_CHR = 2
  2433. const m_DT_DIR = 4
  2434. const m_DT_FIFO = 1
  2435. const m_DT_LNK = 10
  2436. const m_DT_REG = 8
  2437. const m_DT_SOCK = 12
  2438. const m_DT_UNKNOWN = 0
  2439. const m_DT_WHT = 14
  2440. const m_FALLOC_FL_KEEP_SIZE = 1
  2441. const m_FALLOC_FL_PUNCH_HOLE = 2
  2442. const m_FAPPEND = "O_APPEND"
  2443. const m_FASYNC = "O_ASYNC"
  2444. const m_FC_ARCH_ENDIAN = "le32d8"
  2445. const m_FC_ARCH_SIZE_ALIGN = "32d8"
  2446. const m_FC_CACHE_MAGIC_ALLOC1 = 4228054021
  2447. const m_FC_CACHE_MAGIC_MMAP1 = 4228054020
  2448. const m_FC_CACHE_MAX_LEVEL = 16
  2449. const m_FC_CACHE_MIN_MMAP = 1024
  2450. const m_FD_CLOEXEC = 1
  2451. const m_FFSYNC = "O_SYNC"
  2452. const m_FNDELAY = "O_NDELAY"
  2453. const m_FNONBLOCK = "O_NONBLOCK"
  2454. const m_F_ADD_SEALS = 1033
  2455. const m_F_CANCELLK = 1029
  2456. const m_F_DUPFD = 0
  2457. const m_F_DUPFD_CLOEXEC = 1030
  2458. const m_F_GETFD = 1
  2459. const m_F_GETFL = 3
  2460. const m_F_GETLEASE = 1025
  2461. const m_F_GETLK = 12
  2462. const m_F_GETOWN = 9
  2463. const m_F_GETOWNER_UIDS = 17
  2464. const m_F_GETOWN_EX = 16
  2465. const m_F_GETPIPE_SZ = 1032
  2466. const m_F_GETSIG = 11
  2467. const m_F_GET_FILE_RW_HINT = 1037
  2468. const m_F_GET_RW_HINT = 1035
  2469. const m_F_GET_SEALS = 1034
  2470. const m_F_NOTIFY = 1026
  2471. const m_F_OFD_GETLK = 36
  2472. const m_F_OFD_SETLK = 37
  2473. const m_F_OFD_SETLKW = 38
  2474. const m_F_OWNER_GID = 2
  2475. const m_F_OWNER_PGRP = 2
  2476. const m_F_OWNER_PID = 1
  2477. const m_F_OWNER_TID = 0
  2478. const m_F_RDLCK = 0
  2479. const m_F_SEAL_FUTURE_WRITE = 0x0010
  2480. const m_F_SEAL_GROW = 0x0004
  2481. const m_F_SEAL_SEAL = 0x0001
  2482. const m_F_SEAL_SHRINK = 0x0002
  2483. const m_F_SEAL_WRITE = 0x0008
  2484. const m_F_SETFD = 2
  2485. const m_F_SETFL = 4
  2486. const m_F_SETLEASE = 1024
  2487. const m_F_SETLK = 13
  2488. const m_F_SETLKW = 14
  2489. const m_F_SETOWN = 8
  2490. const m_F_SETOWN_EX = 15
  2491. const m_F_SETPIPE_SZ = 1031
  2492. const m_F_SETSIG = 10
  2493. const m_F_SET_FILE_RW_HINT = 1038
  2494. const m_F_SET_RW_HINT = 1036
  2495. const m_F_UNLCK = 2
  2496. const m_F_WRLCK = 1
  2497. const m_FcAtomicCreate = "IA__FcAtomicCreate"
  2498. const m_FcAtomicDeleteNew = "IA__FcAtomicDeleteNew"
  2499. const m_FcAtomicDestroy = "IA__FcAtomicDestroy"
  2500. const m_FcAtomicLock = "IA__FcAtomicLock"
  2501. const m_FcAtomicNewFile = "IA__FcAtomicNewFile"
  2502. const m_FcAtomicOrigFile = "IA__FcAtomicOrigFile"
  2503. const m_FcAtomicReplaceOrig = "IA__FcAtomicReplaceOrig"
  2504. const m_FcAtomicUnlock = "IA__FcAtomicUnlock"
  2505. const m_INT32_MAX1 = 2147483647
  2506. const m_ITIMER_PROF = 2
  2507. const m_ITIMER_REAL = 0
  2508. const m_ITIMER_VIRTUAL = 1
  2509. const m_LLONG_MAX1 = 9223372036854775807
  2510. const m_MADV_COLD = 20
  2511. const m_MADV_DODUMP = 17
  2512. const m_MADV_DOFORK = 11
  2513. const m_MADV_DONTDUMP = 16
  2514. const m_MADV_DONTFORK = 10
  2515. const m_MADV_DONTNEED = 4
  2516. const m_MADV_FREE = 8
  2517. const m_MADV_HUGEPAGE = 14
  2518. const m_MADV_HWPOISON = 100
  2519. const m_MADV_KEEPONFORK = 19
  2520. const m_MADV_MERGEABLE = 12
  2521. const m_MADV_NOHUGEPAGE = 15
  2522. const m_MADV_NORMAL = 0
  2523. const m_MADV_PAGEOUT = 21
  2524. const m_MADV_RANDOM = 1
  2525. const m_MADV_REMOVE = 9
  2526. const m_MADV_SEQUENTIAL = 2
  2527. const m_MADV_SOFT_OFFLINE = 101
  2528. const m_MADV_UNMERGEABLE = 13
  2529. const m_MADV_WILLNEED = 3
  2530. const m_MADV_WIPEONFORK = 18
  2531. const m_MAP_ANON = 0x20
  2532. const m_MAP_ANONYMOUS = "MAP_ANON"
  2533. const m_MAP_DENYWRITE = 0x0800
  2534. const m_MAP_EXECUTABLE = 0x1000
  2535. const m_MAP_FILE = 0
  2536. const m_MAP_FIXED = 0x10
  2537. const m_MAP_FIXED_NOREPLACE = 0x100000
  2538. const m_MAP_GROWSDOWN = 0x0100
  2539. const m_MAP_HUGETLB = 0x40000
  2540. const m_MAP_HUGE_MASK = 0x3f
  2541. const m_MAP_HUGE_SHIFT = 26
  2542. const m_MAP_LOCKED = 0x2000
  2543. const m_MAP_NONBLOCK = 0x10000
  2544. const m_MAP_NORESERVE = 0x4000
  2545. const m_MAP_POPULATE = 0x8000
  2546. const m_MAP_PRIVATE = 0x02
  2547. const m_MAP_SHARED = 1
  2548. const m_MAP_SHARED_VALIDATE = 0x03
  2549. const m_MAP_STACK = 0x20000
  2550. const m_MAP_SYNC = 0x80000
  2551. const m_MAP_TYPE = 0x0f
  2552. const m_MAX_HANDLE_SZ = 128
  2553. const m_MCL_CURRENT = 1
  2554. const m_MCL_FUTURE = 2
  2555. const m_MCL_ONFAULT = 4
  2556. const m_MFD_ALLOW_SEALING = 0x0002
  2557. const m_MFD_CLOEXEC = 0x0001
  2558. const m_MFD_HUGETLB = 0x0004
  2559. const m_MLOCK_ONFAULT = 0x01
  2560. const m_MREMAP_DONTUNMAP = 4
  2561. const m_MREMAP_FIXED = 2
  2562. const m_MREMAP_MAYMOVE = 1
  2563. const m_MS_ASYNC = 1
  2564. const m_MS_INVALIDATE = 2
  2565. const m_MS_SYNC = 4
  2566. const m_O_APPEND = 02000
  2567. const m_O_ASYNC = 020000
  2568. const m_O_BINARY = 0
  2569. const m_O_CLOEXEC = 02000000
  2570. const m_O_CREAT = 64
  2571. const m_O_DIRECT = 0200000
  2572. const m_O_DIRECTORY = 040000
  2573. const m_O_DSYNC = 010000
  2574. const m_O_EXCL = 0200
  2575. const m_O_EXEC = "O_PATH"
  2576. const m_O_LARGEFILE = 0400000
  2577. const m_O_NDELAY = "O_NONBLOCK"
  2578. const m_O_NOATIME = 01000000
  2579. const m_O_NOCTTY = 0400
  2580. const m_O_NOFOLLOW = 0100000
  2581. const m_O_NONBLOCK = 04000
  2582. const m_O_PATH = 010000000
  2583. const m_O_RDONLY = 0
  2584. const m_O_RDWR = 2
  2585. const m_O_RSYNC = 04010000
  2586. const m_O_SEARCH = "O_PATH"
  2587. const m_O_SYNC = 04010000
  2588. const m_O_TMPFILE = 020040000
  2589. const m_O_TRUNC = 01000
  2590. const m_O_TTY_INIT = 0
  2591. const m_O_WRONLY = 01
  2592. const m_POSIX_FADV_DONTNEED = 4
  2593. const m_POSIX_FADV_NOREUSE = 5
  2594. const m_POSIX_FADV_NORMAL = 0
  2595. const m_POSIX_FADV_RANDOM = 1
  2596. const m_POSIX_FADV_SEQUENTIAL = 2
  2597. const m_POSIX_FADV_WILLNEED = 3
  2598. const m_POSIX_MADV_DONTNEED = 4
  2599. const m_POSIX_MADV_NORMAL = 0
  2600. const m_POSIX_MADV_RANDOM = 1
  2601. const m_POSIX_MADV_SEQUENTIAL = 2
  2602. const m_POSIX_MADV_WILLNEED = 3
  2603. const m_PROT_EXEC = 4
  2604. const m_PROT_GROWSDOWN = 0x01000000
  2605. const m_PROT_GROWSUP = 0x02000000
  2606. const m_PROT_NONE = 0
  2607. const m_PROT_READ = 1
  2608. const m_PROT_WRITE = 2
  2609. const m_RWF_WRITE_LIFE_NOT_SET = 0
  2610. const m_RWH_WRITE_LIFE_EXTREME = 5
  2611. const m_RWH_WRITE_LIFE_LONG = 4
  2612. const m_RWH_WRITE_LIFE_MEDIUM = 3
  2613. const m_RWH_WRITE_LIFE_NONE = 1
  2614. const m_RWH_WRITE_LIFE_SHORT = 2
  2615. const m_SPLICE_F_GIFT = 8
  2616. const m_SPLICE_F_MORE = 4
  2617. const m_SPLICE_F_MOVE = 1
  2618. const m_SPLICE_F_NONBLOCK = 2
  2619. const m_SYNC_FILE_RANGE_WAIT_AFTER = 4
  2620. const m_SYNC_FILE_RANGE_WAIT_BEFORE = 1
  2621. const m_SYNC_FILE_RANGE_WRITE = 2
  2622. const m___LONG_MAX1 = 2147483647
  2623. const m_d_fileno = "d_ino"
  2624. const m_loff_t = "off_t"
  2625. type TMD5Context = struct {
  2626. Fbuf [4]TFcChar32
  2627. Fbits [2]TFcChar32
  2628. Fin [64]uint8
  2629. }
  2630. func _MD5Init(tls *libc.TLS, ctx uintptr) {
  2631. *(*TFcChar32)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  2632. *(*TFcChar32)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  2633. *(*TFcChar32)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  2634. *(*TFcChar32)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  2635. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = uint32(0)
  2636. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) = uint32(0)
  2637. }
  2638. func _MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len1 uint32) {
  2639. var p uintptr
  2640. var t, v1 TFcChar32
  2641. _, _, _ = p, t, v1
  2642. t = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  2643. v1 = t + len1<<libc.Int32FromInt32(3)
  2644. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = v1
  2645. if v1 < t {
  2646. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))++
  2647. }
  2648. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) += len1 >> int32(29)
  2649. t = t >> libc.Int32FromInt32(3) & uint32(0x3f)
  2650. if t != 0 {
  2651. p = ctx + 24 + uintptr(t)
  2652. t = uint32(64) - t
  2653. if len1 < t {
  2654. libc.Xmemcpy(tls, p, buf, len1)
  2655. return
  2656. }
  2657. libc.Xmemcpy(tls, p, buf, t)
  2658. _MD5Transform(tls, ctx, ctx+24)
  2659. buf += uintptr(t)
  2660. len1 -= t
  2661. }
  2662. for len1 >= uint32(64) {
  2663. libc.Xmemcpy(tls, ctx+24, buf, uint32(64))
  2664. _MD5Transform(tls, ctx, ctx+24)
  2665. buf += uintptr(64)
  2666. len1 -= uint32(64)
  2667. }
  2668. libc.Xmemcpy(tls, ctx+24, buf, len1)
  2669. }
  2670. func _MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  2671. var count uint32
  2672. var p, v1 uintptr
  2673. _, _, _ = count, p, v1
  2674. count = *(*TFcChar32)(unsafe.Pointer(ctx + 16)) >> libc.Int32FromInt32(3) & uint32(0x3F)
  2675. p = ctx + 24 + uintptr(count)
  2676. v1 = p
  2677. p++
  2678. *(*uint8)(unsafe.Pointer(v1)) = uint8(0x80)
  2679. count = libc.Uint32FromInt32(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) - count
  2680. if count < uint32(8) {
  2681. libc.Xmemset(tls, p, 0, count)
  2682. _MD5Transform(tls, ctx, ctx+24)
  2683. libc.Xmemset(tls, ctx+24, 0, uint32(56))
  2684. } else {
  2685. libc.Xmemset(tls, p, 0, count-uint32(8))
  2686. }
  2687. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 14*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  2688. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 15*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))
  2689. _MD5Transform(tls, ctx, ctx+24)
  2690. libc.Xmemcpy(tls, digest, ctx, uint32(16))
  2691. libc.Xmemset(tls, ctx, 0, uint32(88))
  2692. }
  2693. func _MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
  2694. var a, b, c, d TFcChar32
  2695. _, _, _, _ = a, b, c, d
  2696. a = *(*TFcChar32)(unsafe.Pointer(buf))
  2697. b = *(*TFcChar32)(unsafe.Pointer(buf + 1*4))
  2698. c = *(*TFcChar32)(unsafe.Pointer(buf + 2*4))
  2699. d = *(*TFcChar32)(unsafe.Pointer(buf + 3*4))
  2700. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xd76aa478)
  2701. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2702. a += b
  2703. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xe8c7b756)
  2704. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2705. d += a
  2706. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db)
  2707. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2708. c += d
  2709. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xc1bdceee)
  2710. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2711. b += c
  2712. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf57c0faf)
  2713. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2714. a += b
  2715. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a)
  2716. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2717. d += a
  2718. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa8304613)
  2719. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2720. c += d
  2721. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xfd469501)
  2722. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2723. b += c
  2724. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8)
  2725. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2726. a += b
  2727. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x8b44f7af)
  2728. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2729. d += a
  2730. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffff5bb1)
  2731. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2732. c += d
  2733. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x895cd7be)
  2734. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2735. b += c
  2736. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122)
  2737. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2738. a += b
  2739. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xfd987193)
  2740. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2741. d += a
  2742. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xa679438e)
  2743. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2744. c += d
  2745. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821)
  2746. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2747. b += c
  2748. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xf61e2562)
  2749. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2750. a += b
  2751. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xc040b340)
  2752. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2753. d += a
  2754. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51)
  2755. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2756. c += d
  2757. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xe9b6c7aa)
  2758. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2759. b += c
  2760. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xd62f105d)
  2761. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2762. a += b
  2763. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453)
  2764. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2765. d += a
  2766. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xd8a1e681)
  2767. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2768. c += d
  2769. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xe7d3fbc8)
  2770. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2771. b += c
  2772. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6)
  2773. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2774. a += b
  2775. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xc33707d6)
  2776. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2777. d += a
  2778. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xf4d50d87)
  2779. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2780. c += d
  2781. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed)
  2782. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2783. b += c
  2784. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xa9e3e905)
  2785. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2786. a += b
  2787. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xfcefa3f8)
  2788. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2789. d += a
  2790. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9)
  2791. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2792. c += d
  2793. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x8d2a4c8a)
  2794. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2795. b += c
  2796. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfffa3942)
  2797. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2798. a += b
  2799. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x8771f681)
  2800. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2801. d += a
  2802. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122)
  2803. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2804. c += d
  2805. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xfde5380c)
  2806. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2807. b += c
  2808. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xa4beea44)
  2809. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2810. a += b
  2811. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9)
  2812. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2813. d += a
  2814. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xf6bb4b60)
  2815. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2816. c += d
  2817. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xbebfbc70)
  2818. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2819. b += c
  2820. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6)
  2821. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2822. a += b
  2823. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xeaa127fa)
  2824. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2825. d += a
  2826. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xd4ef3085)
  2827. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2828. c += d
  2829. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05)
  2830. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2831. b += c
  2832. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xd9d4d039)
  2833. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2834. a += b
  2835. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0xe6db99e5)
  2836. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2837. d += a
  2838. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8)
  2839. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2840. c += d
  2841. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xc4ac5665)
  2842. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2843. b += c
  2844. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xf4292244)
  2845. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2846. a += b
  2847. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97)
  2848. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2849. d += a
  2850. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xab9423a7)
  2851. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2852. c += d
  2853. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfc93a039)
  2854. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2855. b += c
  2856. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3)
  2857. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2858. a += b
  2859. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0x8f0ccc92)
  2860. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2861. d += a
  2862. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffeff47d)
  2863. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2864. c += d
  2865. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0x85845dd1)
  2866. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2867. b += c
  2868. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f)
  2869. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2870. a += b
  2871. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xfe2ce6e0)
  2872. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2873. d += a
  2874. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa3014314)
  2875. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2876. c += d
  2877. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1)
  2878. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2879. b += c
  2880. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf7537e82)
  2881. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2882. a += b
  2883. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0xbd3af235)
  2884. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2885. d += a
  2886. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb)
  2887. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2888. c += d
  2889. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xeb86d391)
  2890. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2891. b += c
  2892. *(*TFcChar32)(unsafe.Pointer(buf)) += a
  2893. *(*TFcChar32)(unsafe.Pointer(buf + 1*4)) += b
  2894. *(*TFcChar32)(unsafe.Pointer(buf + 2*4)) += c
  2895. *(*TFcChar32)(unsafe.Pointer(buf + 3*4)) += d
  2896. }
  2897. type Tiovec = struct {
  2898. Fiov_base uintptr
  2899. Fiov_len Tsize_t
  2900. }
  2901. type Tflock = struct {
  2902. F__ccgo_align [0]uint32
  2903. Fl_type int16
  2904. Fl_whence int16
  2905. F__ccgo_align2 [4]byte
  2906. Fl_start Toff_t
  2907. Fl_len Toff_t
  2908. Fl_pid Tpid_t
  2909. F__ccgo_pad5 [4]byte
  2910. }
  2911. type Tfile_handle = struct {
  2912. Fhandle_bytes uint32
  2913. Fhandle_type int32
  2914. }
  2915. type Tf_owner_ex = struct {
  2916. Ftype1 int32
  2917. Fpid Tpid_t
  2918. }
  2919. type Tdirent = struct {
  2920. F__ccgo_align [0]uint32
  2921. Fd_ino Tino_t
  2922. Fd_off Toff_t
  2923. Fd_reclen uint16
  2924. Fd_type uint8
  2925. Fd_name [256]uint8
  2926. F__ccgo_pad5 [5]byte
  2927. }
  2928. type Titimerval = struct {
  2929. F__ccgo_align [0]uint32
  2930. Fit_interval Ttimeval
  2931. Fit_value Ttimeval
  2932. }
  2933. type Ttimezone = struct {
  2934. Ftz_minuteswest int32
  2935. Ftz_dsttime int32
  2936. }
  2937. func XIA__FcDirCacheCreateUUID(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  2938. return int32(m_FcTrue)
  2939. }
  2940. var XFcDirCacheCreateUUID = XIA__FcDirCacheCreateUUID
  2941. func XIA__FcDirCacheDeleteUUID(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  2942. bp := tls.Alloc(208)
  2943. defer tls.Free(208)
  2944. var d, sysroot, target uintptr
  2945. var ret TFcBool
  2946. var _ /* statb at bp+0 */ Tstat
  2947. var _ /* times at bp+152 */ [2]Ttimeval
  2948. _, _, _, _ = d, ret, sysroot, target
  2949. ret = int32(m_FcTrue)
  2950. config = XIA__FcConfigReference(tls, config)
  2951. if !(config != 0) {
  2952. return m_FcFalse
  2953. }
  2954. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2955. if sysroot != 0 {
  2956. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+192, dir, libc.UintptrFromInt32(0)))
  2957. } else {
  2958. d = XIA__FcStrBuildFilename(tls, dir, libc.VaList(bp+192, libc.UintptrFromInt32(0)))
  2959. }
  2960. if XFcStat(tls, d, bp) != 0 {
  2961. ret = m_FcFalse
  2962. goto bail
  2963. }
  2964. target = XIA__FcStrBuildFilename(tls, d, libc.VaList(bp+192, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2965. ret = libc.BoolInt32(libc.Xunlink(tls, target) == 0)
  2966. if ret != 0 {
  2967. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 152)))[0].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_atim.Ftv_sec
  2968. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 152)))[int32(1)].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec
  2969. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 152)))[0].Ftv_usec = int64((*(*Tstat)(unsafe.Pointer(bp))).Fst_atim.Ftv_nsec / int32(1000))
  2970. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 152)))[int32(1)].Ftv_usec = int64((*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_nsec / int32(1000))
  2971. if libc.Xutimes(tls, d, bp+152) != 0 {
  2972. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+35, libc.VaList(bp+192, d))
  2973. }
  2974. }
  2975. XIA__FcStrFree(tls, target)
  2976. goto bail
  2977. bail:
  2978. ;
  2979. XIA__FcStrFree(tls, d)
  2980. XIA__FcConfigDestroy(tls, config)
  2981. return ret
  2982. }
  2983. var XFcDirCacheDeleteUUID = XIA__FcDirCacheDeleteUUID
  2984. func _FcCacheIsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  2985. bp := tls.Alloc(16)
  2986. defer tls.Free(16)
  2987. var env uintptr
  2988. var status, v1 int32
  2989. var _ /* use at bp+0 */ TFcBool
  2990. _, _, _ = env, status, v1
  2991. status = int32(*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))))
  2992. if status == 0 {
  2993. env = libc.Xgetenv(tls, __ccgo_ts+63)
  2994. if env != 0 && XFcNameBool(tls, env, bp) != 0 {
  2995. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  2996. v1 = 1
  2997. } else {
  2998. v1 = 2
  2999. }
  3000. status = v1
  3001. } else {
  3002. status = 3
  3003. }
  3004. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) == libc.UintptrFromInt32(0) {
  3005. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) = uintptr(status)
  3006. _ = libc.Int32FromInt32(m_FcTrue)
  3007. }
  3008. }
  3009. if status == 3 {
  3010. return XFcIsFsMmapSafe(tls, fd)
  3011. } else {
  3012. return libc.BoolInt32(status == 1)
  3013. }
  3014. return r
  3015. }
  3016. var _static_status uintptr
  3017. var _bin2hex = [16]uint8{
  3018. 0: uint8('0'),
  3019. 1: uint8('1'),
  3020. 2: uint8('2'),
  3021. 3: uint8('3'),
  3022. 4: uint8('4'),
  3023. 5: uint8('5'),
  3024. 6: uint8('6'),
  3025. 7: uint8('7'),
  3026. 8: uint8('8'),
  3027. 9: uint8('9'),
  3028. 10: uint8('a'),
  3029. 11: uint8('b'),
  3030. 12: uint8('c'),
  3031. 13: uint8('d'),
  3032. 14: uint8('e'),
  3033. 15: uint8('f'),
  3034. }
  3035. func _FcDirCacheBasenameMD5(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  3036. bp := tls.Alloc(176)
  3037. defer tls.Free(176)
  3038. var cnt int32
  3039. var dl, sl Tsize_t
  3040. var hex_hash, key, mapped_dir, orig_dir, salt, v2, v3, v4, v5, v6, v7 uintptr
  3041. var _ /* ctx at bp+16 */ TMD5Context
  3042. var _ /* hash at bp+0 */ [16]uint8
  3043. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, dl, hex_hash, key, mapped_dir, orig_dir, salt, sl, v2, v3, v4, v5, v6, v7
  3044. mapped_dir = libc.UintptrFromInt32(0)
  3045. key = libc.UintptrFromInt32(0)
  3046. orig_dir = libc.UintptrFromInt32(0)
  3047. salt = XFcConfigMapSalt(tls, config, dir)
  3048. /* Obtain a path where "dir" is mapped to.
  3049. * In case:
  3050. * <remap-dir as-path="/usr/share/fonts">/run/host/fonts</remap-dir>
  3051. *
  3052. * FcConfigMapFontPath (config, "/run/host/fonts") will returns "/usr/share/fonts".
  3053. */
  3054. mapped_dir = XFcConfigMapFontPath(tls, config, dir)
  3055. if mapped_dir != 0 {
  3056. orig_dir = dir
  3057. dir = mapped_dir
  3058. }
  3059. if salt != 0 {
  3060. dl = libc.Xstrlen(tls, dir)
  3061. sl = libc.Xstrlen(tls, salt)
  3062. key = libc.Xmalloc(tls, dl+sl+uint32(1))
  3063. libc.Xmemcpy(tls, key, dir, dl)
  3064. libc.Xmemcpy(tls, key+uintptr(dl), salt, sl+uint32(1))
  3065. *(*TFcChar8)(unsafe.Pointer(key + uintptr(dl+sl))) = uint8(0)
  3066. if !(orig_dir != 0) {
  3067. orig_dir = dir
  3068. }
  3069. dir = key
  3070. }
  3071. _MD5Init(tls, bp+16)
  3072. _MD5Update(tls, bp+16, dir, libc.Xstrlen(tls, dir))
  3073. _MD5Final(tls, bp, bp+16)
  3074. if key != 0 {
  3075. XIA__FcStrFree(tls, key)
  3076. }
  3077. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  3078. hex_hash = cache_base + uintptr(1)
  3079. cnt = 0
  3080. for {
  3081. if !(cnt < int32(16)) {
  3082. break
  3083. }
  3084. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = _bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])>>int32(4)]
  3085. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt+int32(1)))) = _bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])&int32(0xf)]
  3086. goto _1
  3087. _1:
  3088. ;
  3089. cnt++
  3090. }
  3091. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(0)
  3092. libc.Xstrcat(tls, cache_base, __ccgo_ts+83)
  3093. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3094. if orig_dir != 0 {
  3095. v2 = orig_dir
  3096. } else {
  3097. v2 = dir
  3098. }
  3099. if mapped_dir != 0 {
  3100. v3 = __ccgo_ts + 99
  3101. } else {
  3102. v3 = __ccgo_ts + 112
  3103. }
  3104. if mapped_dir != 0 {
  3105. v4 = mapped_dir
  3106. } else {
  3107. v4 = __ccgo_ts + 112
  3108. }
  3109. if mapped_dir != 0 {
  3110. v5 = __ccgo_ts + 113
  3111. } else {
  3112. v5 = __ccgo_ts + 112
  3113. }
  3114. if salt != 0 {
  3115. v6 = __ccgo_ts + 115
  3116. } else {
  3117. v6 = __ccgo_ts + 112
  3118. }
  3119. if salt != 0 {
  3120. v7 = salt
  3121. } else {
  3122. v7 = __ccgo_ts + 112
  3123. }
  3124. libc.Xprintf(tls, __ccgo_ts+124, libc.VaList(bp+112, cache_base, v2, v3, v4, v5, v6, v7))
  3125. }
  3126. if mapped_dir != 0 {
  3127. XIA__FcStrFree(tls, mapped_dir)
  3128. }
  3129. return cache_base
  3130. }
  3131. func _FcDirCacheBasenameUUID(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  3132. bp := tls.Alloc(64)
  3133. defer tls.Free(64)
  3134. var fd, v1 int32
  3135. var fuuid, sysroot, target uintptr
  3136. var len1 Tssize_t
  3137. var _ /* suuid at bp+0 */ [37]uint8
  3138. _, _, _, _, _, _ = fd, fuuid, len1, sysroot, target, v1
  3139. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3140. /* We don't need to apply remapping here. because .uuid was created at that very directory
  3141. * to determine the cache name no matter where it was mapped to.
  3142. */
  3143. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8(0)
  3144. if sysroot != 0 {
  3145. target = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+48, dir, libc.UintptrFromInt32(0)))
  3146. } else {
  3147. target = libc.Xstrdup(tls, dir)
  3148. }
  3149. fuuid = XIA__FcStrBuildFilename(tls, target, libc.VaList(bp+48, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  3150. v1 = XFcOpen(tls, fuuid, m_O_RDONLY, 0)
  3151. fd = v1
  3152. if v1 != -int32(1) {
  3153. libc.Xmemset(tls, bp, 0, uint32(37))
  3154. len1 = libc.Xread(tls, fd, bp, uint32(36))
  3155. (*(*[37]uint8)(unsafe.Pointer(bp)))[int32(36)] = uint8(0)
  3156. libc.Xclose(tls, fd)
  3157. if len1 < 0 {
  3158. goto bail
  3159. }
  3160. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  3161. libc.Xstrcpy(tls, cache_base+1, bp)
  3162. libc.Xstrcat(tls, cache_base, __ccgo_ts+83)
  3163. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3164. libc.Xprintf(tls, __ccgo_ts+155, libc.VaList(bp+48, cache_base, dir))
  3165. }
  3166. }
  3167. goto bail
  3168. bail:
  3169. ;
  3170. XIA__FcStrFree(tls, fuuid)
  3171. XIA__FcStrFree(tls, target)
  3172. return cache_base
  3173. }
  3174. func XIA__FcDirCacheUnlink(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  3175. bp := tls.Alloc(144)
  3176. defer tls.Free(144)
  3177. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  3178. var ret TFcBool
  3179. var _ /* cache_base at bp+0 */ [54]TFcChar8
  3180. var _ /* uuid_cache_base at bp+54 */ [54]TFcChar8
  3181. _, _, _, _, _, _ = cache_dir, cache_hashed, list, ret, sysroot, v1
  3182. cache_hashed = libc.UintptrFromInt32(0)
  3183. ret = int32(m_FcTrue)
  3184. config = XIA__FcConfigReference(tls, config)
  3185. if !(config != 0) {
  3186. return m_FcFalse
  3187. }
  3188. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3189. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  3190. _FcDirCacheBasenameUUID(tls, config, dir, bp+54)
  3191. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  3192. if !(list != 0) {
  3193. ret = m_FcFalse
  3194. goto bail
  3195. }
  3196. for {
  3197. v1 = XIA__FcStrListNext(tls, list)
  3198. cache_dir = v1
  3199. if !(v1 != 0) {
  3200. break
  3201. }
  3202. if sysroot != 0 {
  3203. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+120, cache_dir, bp, libc.UintptrFromInt32(0)))
  3204. } else {
  3205. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+120, bp, libc.UintptrFromInt32(0)))
  3206. }
  3207. if !(cache_hashed != 0) {
  3208. break
  3209. }
  3210. libc.Xunlink(tls, cache_hashed)
  3211. XIA__FcStrFree(tls, cache_hashed)
  3212. if libc.Int32FromUint8((*(*[54]TFcChar8)(unsafe.Pointer(bp + 54)))[0]) != 0 {
  3213. if sysroot != 0 {
  3214. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+120, cache_dir, bp+54, libc.UintptrFromInt32(0)))
  3215. } else {
  3216. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+120, bp+54, libc.UintptrFromInt32(0)))
  3217. }
  3218. if !(cache_hashed != 0) {
  3219. break
  3220. }
  3221. libc.Xunlink(tls, cache_hashed)
  3222. XIA__FcStrFree(tls, cache_hashed)
  3223. }
  3224. }
  3225. XIA__FcStrListDone(tls, list)
  3226. XIA__FcDirCacheDeleteUUID(tls, dir, config)
  3227. /* return FcFalse if something went wrong */
  3228. if cache_dir != 0 {
  3229. ret = m_FcFalse
  3230. }
  3231. goto bail
  3232. bail:
  3233. ;
  3234. XIA__FcConfigDestroy(tls, config)
  3235. return ret
  3236. }
  3237. var XFcDirCacheUnlink = XIA__FcDirCacheUnlink
  3238. func _FcDirCacheOpenFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r int32) {
  3239. var fd int32
  3240. _ = fd
  3241. fd = XFcOpen(tls, cache_file, libc.Int32FromInt32(m_O_RDONLY)|libc.Int32FromInt32(m_O_BINARY), 0)
  3242. if fd < 0 {
  3243. return fd
  3244. }
  3245. if libc.Xfstat(tls, fd, file_stat) < 0 {
  3246. libc.Xclose(tls, fd)
  3247. return -int32(1)
  3248. }
  3249. return fd
  3250. }
  3251. // C documentation
  3252. //
  3253. // /*
  3254. // * Look for a cache file for the specified dir. Attempt
  3255. // * to use each one we find, stopping when the callback
  3256. // * indicates success
  3257. // */
  3258. func _FcDirCacheProcess(tls *libc.TLS, config uintptr, dir uintptr, callback uintptr, closure uintptr, cache_file_ret uintptr) (r TFcBool) {
  3259. bp := tls.Alloc(464)
  3260. defer tls.Free(464)
  3261. var cache_dir, cache_hashed, d, list, sysroot, v1 uintptr
  3262. var fd int32
  3263. var ret, retried TFcBool
  3264. var _ /* cache_base at bp+0 */ [54]TFcChar8
  3265. var _ /* dir_stat at bp+208 */ Tstat
  3266. var _ /* file_stat at bp+56 */ Tstat
  3267. var _ /* latest_mtime at bp+360 */ Ttimeval
  3268. var _ /* uuid_cache_base at bp+376 */ [54]TFcChar8
  3269. _, _, _, _, _, _, _, _, _ = cache_dir, cache_hashed, d, fd, list, ret, retried, sysroot, v1
  3270. fd = -int32(1)
  3271. ret = m_FcFalse
  3272. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3273. *(*Ttimeval)(unsafe.Pointer(bp + 360)) = Ttimeval{}
  3274. if sysroot != 0 {
  3275. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+440, dir, libc.UintptrFromInt32(0)))
  3276. } else {
  3277. d = libc.Xstrdup(tls, dir)
  3278. }
  3279. if XFcStatChecksum(tls, d, bp+208) < 0 {
  3280. XIA__FcStrFree(tls, d)
  3281. return m_FcFalse
  3282. }
  3283. XIA__FcStrFree(tls, d)
  3284. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  3285. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  3286. if !(list != 0) {
  3287. return m_FcFalse
  3288. }
  3289. for {
  3290. v1 = XIA__FcStrListNext(tls, list)
  3291. cache_dir = v1
  3292. if !(v1 != 0) {
  3293. break
  3294. }
  3295. retried = m_FcFalse
  3296. if sysroot != 0 {
  3297. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+440, cache_dir, bp, libc.UintptrFromInt32(0)))
  3298. } else {
  3299. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+440, bp, libc.UintptrFromInt32(0)))
  3300. }
  3301. if !(cache_hashed != 0) {
  3302. break
  3303. }
  3304. goto retry
  3305. retry:
  3306. ;
  3307. fd = _FcDirCacheOpenFile(tls, cache_hashed, bp+56)
  3308. if fd >= 0 {
  3309. ret = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, config, fd, bp+56, bp+208, bp+360, closure)
  3310. libc.Xclose(tls, fd)
  3311. if ret != 0 {
  3312. if cache_file_ret != 0 {
  3313. if *(*uintptr)(unsafe.Pointer(cache_file_ret)) != 0 {
  3314. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(cache_file_ret)))
  3315. }
  3316. *(*uintptr)(unsafe.Pointer(cache_file_ret)) = cache_hashed
  3317. } else {
  3318. XIA__FcStrFree(tls, cache_hashed)
  3319. }
  3320. } else {
  3321. XIA__FcStrFree(tls, cache_hashed)
  3322. }
  3323. } else {
  3324. if !(retried != 0) {
  3325. retried = int32(m_FcTrue)
  3326. _FcDirCacheBasenameUUID(tls, config, dir, bp+376)
  3327. if libc.Int32FromUint8((*(*[54]TFcChar8)(unsafe.Pointer(bp + 376)))[0]) != 0 {
  3328. XIA__FcStrFree(tls, cache_hashed)
  3329. if sysroot != 0 {
  3330. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+440, cache_dir, bp+376, libc.UintptrFromInt32(0)))
  3331. } else {
  3332. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+440, bp+376, libc.UintptrFromInt32(0)))
  3333. }
  3334. if !(cache_hashed != 0) {
  3335. break
  3336. }
  3337. goto retry
  3338. } else {
  3339. XIA__FcStrFree(tls, cache_hashed)
  3340. }
  3341. } else {
  3342. XIA__FcStrFree(tls, cache_hashed)
  3343. }
  3344. }
  3345. }
  3346. XIA__FcStrListDone(tls, list)
  3347. if closure != 0 {
  3348. return libc.BoolInt32(!!(*(*uintptr)(unsafe.Pointer(closure)) != libc.UintptrFromInt32(0)))
  3349. }
  3350. return ret
  3351. }
  3352. /*
  3353. * Skip list element, make sure the 'next' pointer is the last thing
  3354. * in the structure, it will be allocated large enough to hold all
  3355. * of the necessary pointers
  3356. */
  3357. type TFcCacheSkip = struct {
  3358. F__ccgo_align [0]uint32
  3359. Fcache uintptr
  3360. Fref TFcRef
  3361. Fsize Tintptr_t
  3362. Fallocated uintptr
  3363. Fcache_dev Tdev_t
  3364. Fcache_ino Tino_t
  3365. Fcache_mtime Ttime_t
  3366. Fcache_mtime_nano int32
  3367. Fnext [1]uintptr
  3368. }
  3369. /*
  3370. * Skip list element, make sure the 'next' pointer is the last thing
  3371. * in the structure, it will be allocated large enough to hold all
  3372. * of the necessary pointers
  3373. */
  3374. type T_FcCacheSkip = TFcCacheSkip
  3375. /*
  3376. * The head of the skip list; pointers for every possible level
  3377. * in the skip list, plus the largest level in the list
  3378. */
  3379. // C documentation
  3380. //
  3381. // /* Protected by cache_lock below */
  3382. var _fcCacheChains [16]uintptr
  3383. var _fcCacheMaxLevel int32
  3384. var _cache_lock uintptr
  3385. func _lock_cache(tls *libc.TLS) {
  3386. var lock uintptr
  3387. var v1 int32
  3388. _, _ = lock, v1
  3389. goto retry
  3390. retry:
  3391. ;
  3392. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3393. if !(lock != 0) {
  3394. lock = libc.Xmalloc(tls, uint32(4))
  3395. _ = lock
  3396. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == libc.UintptrFromInt32(0) {
  3397. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = lock
  3398. v1 = libc.Int32FromInt32(m_FcTrue)
  3399. } else {
  3400. v1 = m_FcFalse
  3401. }
  3402. if !(v1 != 0) {
  3403. _ = lock
  3404. libc.Xfree(tls, lock)
  3405. goto retry
  3406. }
  3407. _ = lock
  3408. /* Initialize random state */
  3409. XFcRandom(tls)
  3410. return
  3411. }
  3412. _ = lock
  3413. }
  3414. func _unlock_cache(tls *libc.TLS) {
  3415. var lock uintptr
  3416. _ = lock
  3417. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3418. _ = lock
  3419. }
  3420. func _free_lock(tls *libc.TLS) {
  3421. var lock uintptr
  3422. var v1 int32
  3423. var v2 bool
  3424. _, _, _ = lock, v1, v2
  3425. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3426. if v2 = lock != 0; v2 {
  3427. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == lock {
  3428. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = libc.UintptrFromInt32(0)
  3429. v1 = libc.Int32FromInt32(m_FcTrue)
  3430. } else {
  3431. v1 = m_FcFalse
  3432. }
  3433. }
  3434. if v2 && v1 != 0 {
  3435. _ = lock
  3436. libc.Xfree(tls, lock)
  3437. }
  3438. }
  3439. // C documentation
  3440. //
  3441. // /*
  3442. // * Generate a random level number, distributed
  3443. // * so that each level is 1/4 as likely as the one before
  3444. // *
  3445. // * Note that level numbers run 1 <= level <= MAX_LEVEL
  3446. // */
  3447. func _random_level(tls *libc.TLS) (r int32) {
  3448. var bits, level, v1 int32
  3449. _, _, _ = bits, level, v1
  3450. /* tricky bit -- each bit is '1' 75% of the time */
  3451. bits = XFcRandom(tls) | XFcRandom(tls)
  3452. level = 0
  3453. for {
  3454. level++
  3455. v1 = level
  3456. if !(v1 < int32(m_FC_CACHE_MAX_LEVEL)) {
  3457. break
  3458. }
  3459. if bits&int32(1) != 0 {
  3460. break
  3461. }
  3462. bits >>= int32(1)
  3463. }
  3464. return level
  3465. }
  3466. // C documentation
  3467. //
  3468. // /*
  3469. // * Insert cache into the list
  3470. // */
  3471. func _FcCacheInsert(tls *libc.TLS, cache uintptr, cache_stat uintptr) (r TFcBool) {
  3472. var i, level, v2 int32
  3473. var next, s, v4 uintptr
  3474. var update [16]uintptr
  3475. _, _, _, _, _, _, _ = i, level, next, s, update, v2, v4
  3476. _lock_cache(tls)
  3477. /*
  3478. * Find links along each chain
  3479. */
  3480. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3481. i = _fcCacheMaxLevel
  3482. for {
  3483. i--
  3484. v2 = i
  3485. if !(v2 >= 0) {
  3486. break
  3487. }
  3488. for {
  3489. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*4))
  3490. s = v4
  3491. if !(v4 != 0) {
  3492. break
  3493. }
  3494. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache > cache {
  3495. break
  3496. }
  3497. goto _3
  3498. _3:
  3499. ;
  3500. next = s + 44
  3501. }
  3502. update[i] = next + uintptr(i)*4
  3503. goto _1
  3504. _1:
  3505. }
  3506. /*
  3507. * Create new list element
  3508. */
  3509. level = _random_level(tls)
  3510. if level > _fcCacheMaxLevel {
  3511. level = _fcCacheMaxLevel + int32(1)
  3512. update[_fcCacheMaxLevel] = uintptr(unsafe.Pointer(&_fcCacheChains)) + uintptr(_fcCacheMaxLevel)*4
  3513. _fcCacheMaxLevel = level
  3514. }
  3515. s = libc.Xmalloc(tls, uint32(48)+libc.Uint32FromInt32(level-libc.Int32FromInt32(1))*uint32(4))
  3516. if !(s != 0) {
  3517. return m_FcFalse
  3518. }
  3519. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache = cache
  3520. (*TFcCacheSkip)(unsafe.Pointer(s)).Fsize = (*TFcCache)(unsafe.Pointer(cache)).Fsize
  3521. (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated = libc.UintptrFromInt32(0)
  3522. (*TFcRef)(unsafe.Pointer(s + 4)).Fcount = int32(1)
  3523. if cache_stat != 0 {
  3524. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev
  3525. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino
  3526. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec
  3527. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec
  3528. } else {
  3529. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = uint64(0)
  3530. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = uint64(0)
  3531. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = 0
  3532. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  3533. }
  3534. /*
  3535. * Insert into all fcCacheChains
  3536. */
  3537. i = 0
  3538. for {
  3539. if !(i < level) {
  3540. break
  3541. }
  3542. *(*uintptr)(unsafe.Pointer(s + 44 + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer(update[i]))
  3543. *(*uintptr)(unsafe.Pointer(update[i])) = s
  3544. goto _5
  3545. _5:
  3546. ;
  3547. i++
  3548. }
  3549. _unlock_cache(tls)
  3550. return int32(m_FcTrue)
  3551. }
  3552. func _FcCacheFindByAddrUnlocked(tls *libc.TLS, object uintptr) (r uintptr) {
  3553. var i, v2 int32
  3554. var next, s uintptr
  3555. _, _, _, _ = i, next, s, v2
  3556. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3557. if !(object != 0) {
  3558. return libc.UintptrFromInt32(0)
  3559. }
  3560. /*
  3561. * Walk chain pointers one level at a time
  3562. */
  3563. i = _fcCacheMaxLevel
  3564. for {
  3565. i--
  3566. v2 = i
  3567. if !(v2 >= 0) {
  3568. break
  3569. }
  3570. for *(*uintptr)(unsafe.Pointer(next + uintptr(i)*4)) != 0 && object >= (*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*4)))).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*4)))).Fsize) {
  3571. next = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*4)) + 44
  3572. }
  3573. goto _1
  3574. _1:
  3575. }
  3576. /*
  3577. * Here we are
  3578. */
  3579. s = *(*uintptr)(unsafe.Pointer(next))
  3580. if s != 0 && object < (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(s)).Fsize) {
  3581. return s
  3582. }
  3583. return libc.UintptrFromInt32(0)
  3584. }
  3585. func _FcCacheFindByAddr(tls *libc.TLS, object uintptr) (r uintptr) {
  3586. var ret uintptr
  3587. _ = ret
  3588. _lock_cache(tls)
  3589. ret = _FcCacheFindByAddrUnlocked(tls, object)
  3590. _unlock_cache(tls)
  3591. return ret
  3592. }
  3593. func _FcCacheRemoveUnlocked(tls *libc.TLS, cache uintptr) {
  3594. var allocated, next, s, v4 uintptr
  3595. var i, v2 int32
  3596. var update [16]uintptr
  3597. _, _, _, _, _, _, _ = allocated, i, next, s, update, v2, v4
  3598. /*
  3599. * Find links along each chain
  3600. */
  3601. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3602. i = _fcCacheMaxLevel
  3603. for {
  3604. i--
  3605. v2 = i
  3606. if !(v2 >= 0) {
  3607. break
  3608. }
  3609. for {
  3610. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*4))
  3611. s = v4
  3612. if !(v4 != 0) {
  3613. break
  3614. }
  3615. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache >= cache {
  3616. break
  3617. }
  3618. goto _3
  3619. _3:
  3620. ;
  3621. next = s + 44
  3622. }
  3623. update[i] = next + uintptr(i)*4
  3624. goto _1
  3625. _1:
  3626. }
  3627. s = *(*uintptr)(unsafe.Pointer(next))
  3628. i = 0
  3629. for {
  3630. if !(i < _fcCacheMaxLevel && *(*uintptr)(unsafe.Pointer(update[i])) == s) {
  3631. break
  3632. }
  3633. *(*uintptr)(unsafe.Pointer(update[i])) = *(*uintptr)(unsafe.Pointer(s + 44 + uintptr(i)*4))
  3634. goto _5
  3635. _5:
  3636. ;
  3637. i++
  3638. }
  3639. for _fcCacheMaxLevel > 0 && _fcCacheChains[_fcCacheMaxLevel-int32(1)] == libc.UintptrFromInt32(0) {
  3640. _fcCacheMaxLevel--
  3641. }
  3642. if s != 0 {
  3643. allocated = (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated
  3644. for allocated != 0 {
  3645. /* First element in allocated chunk is the free list */
  3646. next = *(*uintptr)(unsafe.Pointer(allocated))
  3647. libc.Xfree(tls, allocated)
  3648. allocated = next
  3649. }
  3650. libc.Xfree(tls, s)
  3651. }
  3652. }
  3653. func _FcCacheFindByStat(tls *libc.TLS, cache_stat uintptr) (r uintptr) {
  3654. var s, p3 uintptr
  3655. _, _ = s, p3
  3656. _lock_cache(tls)
  3657. s = _fcCacheChains[0]
  3658. for {
  3659. if !(s != 0) {
  3660. break
  3661. }
  3662. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec {
  3663. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano != (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec {
  3664. goto _1
  3665. }
  3666. p3 = s + 4
  3667. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  3668. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  3669. goto _2
  3670. _2:
  3671. ;
  3672. _unlock_cache(tls)
  3673. return (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache
  3674. }
  3675. goto _1
  3676. _1:
  3677. ;
  3678. s = *(*uintptr)(unsafe.Pointer(s + 44))
  3679. }
  3680. _unlock_cache(tls)
  3681. return libc.UintptrFromInt32(0)
  3682. }
  3683. func _FcDirCacheDisposeUnlocked(tls *libc.TLS, cache uintptr) {
  3684. _FcCacheRemoveUnlocked(tls, cache)
  3685. switch (*TFcCache)(unsafe.Pointer(cache)).Fmagic {
  3686. case uint32(m_FC_CACHE_MAGIC_ALLOC1):
  3687. libc.Xfree(tls, cache)
  3688. case uint32(m_FC_CACHE_MAGIC_MMAP1):
  3689. libc.Xmunmap(tls, cache, libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  3690. break
  3691. }
  3692. }
  3693. func XFcCacheObjectReference(tls *libc.TLS, object uintptr) {
  3694. var skip, p2 uintptr
  3695. _, _ = skip, p2
  3696. skip = _FcCacheFindByAddr(tls, object)
  3697. if skip != 0 {
  3698. p2 = skip + 4
  3699. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  3700. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  3701. goto _1
  3702. _1:
  3703. }
  3704. }
  3705. func XFcCacheObjectDereference(tls *libc.TLS, object uintptr) {
  3706. var skip, p3 uintptr
  3707. var v1 int32
  3708. _, _, _ = skip, v1, p3
  3709. _lock_cache(tls)
  3710. skip = _FcCacheFindByAddrUnlocked(tls, object)
  3711. if skip != 0 {
  3712. p3 = skip + 4
  3713. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  3714. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  3715. goto _2
  3716. _2:
  3717. if v1 == int32(1) {
  3718. _FcDirCacheDisposeUnlocked(tls, (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache)
  3719. }
  3720. }
  3721. _unlock_cache(tls)
  3722. }
  3723. func XFcCacheAllocate(tls *libc.TLS, cache uintptr, len1 Tsize_t) (r uintptr) {
  3724. var allocated, chunk, skip uintptr
  3725. _, _, _ = allocated, chunk, skip
  3726. allocated = libc.UintptrFromInt32(0)
  3727. _lock_cache(tls)
  3728. skip = _FcCacheFindByAddrUnlocked(tls, cache)
  3729. if skip != 0 {
  3730. chunk = libc.Xmalloc(tls, uint32(4)+len1)
  3731. if chunk != 0 {
  3732. /* First element in allocated chunk is the free list */
  3733. *(*uintptr)(unsafe.Pointer(chunk)) = (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated
  3734. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated = chunk
  3735. /* Return the rest */
  3736. allocated = chunk + uintptr(4)
  3737. }
  3738. }
  3739. _unlock_cache(tls)
  3740. return allocated
  3741. }
  3742. func XFcCacheFini(tls *libc.TLS) {
  3743. bp := tls.Alloc(32)
  3744. defer tls.Free(32)
  3745. var i int32
  3746. var s uintptr
  3747. _, _ = i, s
  3748. i = 0
  3749. for {
  3750. if !(i < int32(m_FC_CACHE_MAX_LEVEL)) {
  3751. break
  3752. }
  3753. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3754. if _fcCacheChains[i] != libc.UintptrFromInt32(0) {
  3755. s = _fcCacheChains[i]
  3756. libc.Xprintf(tls, __ccgo_ts+189, libc.VaList(bp+8, (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache, uintptr(int32((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)+(*TFcCache)(unsafe.Pointer((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)).Fdir), (*TFcCacheSkip)(unsafe.Pointer(s)).Fref.Fcount))
  3757. }
  3758. } else {
  3759. }
  3760. goto _1
  3761. _1:
  3762. ;
  3763. i++
  3764. }
  3765. _free_lock(tls)
  3766. }
  3767. func _FcCacheTimeValid(tls *libc.TLS, config uintptr, cache uintptr, dir_stat uintptr) (r TFcBool) {
  3768. bp := tls.Alloc(208)
  3769. defer tls.Free(208)
  3770. var d, sysroot uintptr
  3771. var fnano TFcBool
  3772. var _ /* dir_static at bp+0 */ Tstat
  3773. _, _, _ = d, fnano, sysroot
  3774. fnano = int32(m_FcTrue)
  3775. if !(dir_stat != 0) {
  3776. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3777. if sysroot != 0 {
  3778. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+160, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), libc.UintptrFromInt32(0)))
  3779. } else {
  3780. d = libc.Xstrdup(tls, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir))
  3781. }
  3782. if XFcStatChecksum(tls, d, bp) < 0 {
  3783. XIA__FcStrFree(tls, d)
  3784. return m_FcFalse
  3785. }
  3786. XIA__FcStrFree(tls, d)
  3787. dir_stat = bp
  3788. }
  3789. fnano = libc.BoolInt32((*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano == int64((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec))
  3790. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3791. libc.Xprintf(tls, __ccgo_ts+244, libc.VaList(bp+160, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), (*TFcCache)(unsafe.Pointer(cache)).Fchecksum, int32((*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano), int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec), (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec))
  3792. }
  3793. return libc.BoolInt32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec == 0 || (*TFcCache)(unsafe.Pointer(cache)).Fchecksum == int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec) && fnano != 0)
  3794. }
  3795. func _FcCacheOffsetsValid(tls *libc.TLS, cache uintptr) (r TFcBool) {
  3796. var base, dir, dirs, e, end, font, fs, last_offset, v10, v11, v3, v4 uintptr
  3797. var i, j int32
  3798. var l TFcValueListPtr
  3799. var v5 TFcBool
  3800. var v7 bool
  3801. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, e, end, font, fs, i, j, l, last_offset, v10, v11, v3, v4, v5, v7
  3802. base = cache
  3803. end = base + uintptr((*TFcCache)(unsafe.Pointer(cache)).Fsize)
  3804. if (*TFcCache)(unsafe.Pointer(cache)).Fdir < 0 || libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fdir) > libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint32(4) || libc.Xmemchr(tls, base+uintptr((*TFcCache)(unsafe.Pointer(cache)).Fdir), int32('\000'), libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdir)) == libc.UintptrFromInt32(0) {
  3805. return m_FcFalse
  3806. }
  3807. if (*TFcCache)(unsafe.Pointer(cache)).Fdirs < 0 || (*TFcCache)(unsafe.Pointer(cache)).Fdirs >= (*TFcCache)(unsafe.Pointer(cache)).Fsize || (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count < 0 || libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) > libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdirs)/uint32(4) {
  3808. return m_FcFalse
  3809. }
  3810. dirs = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  3811. if dirs != 0 {
  3812. i = 0
  3813. for {
  3814. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  3815. break
  3816. }
  3817. if *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*4)) < 0 || libc.Uint32FromInt32(*(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*4))) > libc.Uint32FromInt32(int32(end)-int32(dirs))-uint32(4) {
  3818. return m_FcFalse
  3819. }
  3820. dir = uintptr(int32(dirs) + *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*4)))
  3821. if libc.Xmemchr(tls, dir, int32('\000'), libc.Uint32FromInt32(int32(end)-int32(dir))) == libc.UintptrFromInt32(0) {
  3822. return m_FcFalse
  3823. }
  3824. goto _1
  3825. _1:
  3826. ;
  3827. i++
  3828. }
  3829. }
  3830. if (*TFcCache)(unsafe.Pointer(cache)).Fset < 0 || libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fset) > libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint32(12) {
  3831. return m_FcFalse
  3832. }
  3833. fs = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  3834. if fs != 0 {
  3835. if libc.Uint32FromInt32((*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) > libc.Uint32FromInt32(int32(end)-int32(fs))/uint32(16) {
  3836. return m_FcFalse
  3837. }
  3838. if !(int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&libc.Int32FromInt32(1) != libc.Int32FromInt32(0)) {
  3839. return m_FcFalse
  3840. }
  3841. i = 0
  3842. for {
  3843. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  3844. break
  3845. }
  3846. if int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int32(1) != 0 {
  3847. if int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int32(1) != 0 {
  3848. v4 = uintptr(int32(fs) + int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts) & ^libc.Int32FromInt32(1))
  3849. } else {
  3850. v4 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  3851. }
  3852. v3 = uintptr(int32(fs) + int32(*(*uintptr)(unsafe.Pointer(v4 + uintptr(i)*4))) & ^libc.Int32FromInt32(1))
  3853. } else {
  3854. v3 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*4))
  3855. }
  3856. font = v3
  3857. if v7 = font < base || font > end-uintptr(12) || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset < 0 || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset > int32(end)-int32(font) || libc.Uint32FromInt32((*TFcPattern)(unsafe.Pointer(font)).Fnum) > libc.Uint32FromInt32(int32(end)-int32(font)-(*TFcPattern)(unsafe.Pointer(font)).Felts_offset)/uint32(8); !v7 {
  3858. v5 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(font+12)).Fcount == -libc.Int32FromInt32(1))
  3859. goto _6
  3860. _6:
  3861. }
  3862. if v7 || !(v5 != 0) {
  3863. return m_FcFalse
  3864. }
  3865. e = uintptr(int32(font) + (*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3866. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != uintptr(0) && !(int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&libc.Int32FromInt32(1) != libc.Int32FromInt32(0)) {
  3867. return m_FcFalse
  3868. }
  3869. j = 0
  3870. for {
  3871. if !(j < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  3872. break
  3873. }
  3874. last_offset = font + uintptr((*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3875. if int32((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*8)).Fvalues)&int32(1) != 0 {
  3876. v10 = uintptr(Tintptr_t(e+uintptr(j)*8) + int32((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  3877. } else {
  3878. v10 = (*TFcPatternElt)(unsafe.Pointer(e + uintptr(j)*8)).Fvalues
  3879. }
  3880. l = v10
  3881. for {
  3882. if !(l != 0) {
  3883. break
  3884. }
  3885. if l < last_offset || l > end-uintptr(32) || (*T_FcValueList)(unsafe.Pointer(l)).Fnext != libc.UintptrFromInt32(0) && !(int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&libc.Int32FromInt32(1) != libc.Int32FromInt32(0)) {
  3886. return m_FcFalse
  3887. }
  3888. last_offset = l + uintptr(1)
  3889. goto _9
  3890. _9:
  3891. ;
  3892. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  3893. v11 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  3894. } else {
  3895. v11 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  3896. }
  3897. l = v11
  3898. }
  3899. goto _8
  3900. _8:
  3901. ;
  3902. j++
  3903. }
  3904. goto _2
  3905. _2:
  3906. ;
  3907. i++
  3908. }
  3909. }
  3910. return int32(m_FcTrue)
  3911. }
  3912. // C documentation
  3913. //
  3914. // /*
  3915. // * Map a cache file into memory
  3916. // */
  3917. func _FcDirCacheMapFd(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr) (r uintptr) {
  3918. var allocated TFcBool
  3919. var cache uintptr
  3920. _, _ = allocated, cache
  3921. allocated = m_FcFalse
  3922. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size > int64(libc.Int32FromInt32(m_INT32_MAX1)) || (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size < int64(libc.Int32FromInt64(40)) {
  3923. return libc.UintptrFromInt32(0)
  3924. }
  3925. cache = _FcCacheFindByStat(tls, fd_stat)
  3926. if cache != 0 {
  3927. if _FcCacheTimeValid(tls, config, cache, dir_stat) != 0 {
  3928. return cache
  3929. }
  3930. XIA__FcDirCacheUnload(tls, cache)
  3931. cache = libc.UintptrFromInt32(0)
  3932. }
  3933. /*
  3934. * Large cache files are mmap'ed, smaller cache files are read. This
  3935. * balances the system cost of mmap against per-process memory usage.
  3936. */
  3937. if _FcCacheIsMmapSafe(tls, fd) != 0 && (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size >= int64(m_FC_CACHE_MIN_MMAP) {
  3938. cache = libc.Xmmap(tls, uintptr(0), libc.Uint32FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size), int32(m_PROT_READ), int32(m_MAP_SHARED), fd, 0)
  3939. libc.Xposix_fadvise(tls, fd, 0, (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size, int32(m_POSIX_FADV_WILLNEED))
  3940. if cache == uintptr(-libc.Int32FromInt32(1)) {
  3941. cache = libc.UintptrFromInt32(0)
  3942. }
  3943. }
  3944. if !(cache != 0) {
  3945. cache = libc.Xmalloc(tls, libc.Uint32FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3946. if !(cache != 0) {
  3947. return libc.UintptrFromInt32(0)
  3948. }
  3949. if int64(libc.Xread(tls, fd, cache, libc.Uint32FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))) != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size {
  3950. libc.Xfree(tls, cache)
  3951. return libc.UintptrFromInt32(0)
  3952. }
  3953. allocated = int32(m_FcTrue)
  3954. }
  3955. if (*TFcCache)(unsafe.Pointer(cache)).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) || (*TFcCache)(unsafe.Pointer(cache)).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) || (*TFcCache)(unsafe.Pointer(cache)).Fsize != int32((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size) || !(_FcCacheOffsetsValid(tls, cache) != 0) || !(_FcCacheTimeValid(tls, config, cache, dir_stat) != 0) || !(_FcCacheInsert(tls, cache, fd_stat) != 0) {
  3956. if allocated != 0 {
  3957. libc.Xfree(tls, cache)
  3958. } else {
  3959. libc.Xmunmap(tls, cache, libc.Uint32FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3960. }
  3961. return libc.UintptrFromInt32(0)
  3962. }
  3963. /* Mark allocated caches so they're freed rather than unmapped */
  3964. if allocated != 0 {
  3965. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  3966. }
  3967. return cache
  3968. }
  3969. func XFcDirCacheReference(tls *libc.TLS, cache uintptr, nref int32) {
  3970. var skip, p3 uintptr
  3971. var v1 int32
  3972. _, _, _ = skip, v1, p3
  3973. skip = _FcCacheFindByAddr(tls, cache)
  3974. if skip != 0 {
  3975. v1 = nref
  3976. p3 = skip + 4
  3977. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += v1
  3978. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - v1
  3979. goto _2
  3980. _2:
  3981. }
  3982. }
  3983. func XIA__FcDirCacheUnload(tls *libc.TLS, cache uintptr) {
  3984. XFcCacheObjectDereference(tls, cache)
  3985. }
  3986. var XFcDirCacheUnload = XIA__FcDirCacheUnload
  3987. func _FcDirCacheMapHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  3988. bp := tls.Alloc(48)
  3989. defer tls.Free(48)
  3990. var cache uintptr
  3991. var v1, v2, v3, v5, v6 int32
  3992. var v4 bool
  3993. var _ /* cache_mtime at bp+0 */ Ttimeval
  3994. var _ /* dir_mtime at bp+32 */ Ttimeval
  3995. var _ /* zero_mtime at bp+16 */ Ttimeval
  3996. _, _, _, _, _, _, _ = cache, v1, v2, v3, v4, v5, v6
  3997. cache = _FcDirCacheMapFd(tls, config, fd, fd_stat, dir_stat)
  3998. *(*Ttimeval)(unsafe.Pointer(bp + 16)) = Ttimeval{}
  3999. if !(cache != 0) {
  4000. return m_FcFalse
  4001. }
  4002. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec = (*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtim.Ftv_sec
  4003. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_sec = (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec
  4004. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec = int64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtim.Ftv_nsec / int32(1000))
  4005. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_usec = int64((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec / int32(1000))
  4006. /* special take care of OSTree */
  4007. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec {
  4008. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_usec)
  4009. } else {
  4010. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec)
  4011. }
  4012. if !(v1 != 0) {
  4013. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  4014. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  4015. } else {
  4016. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  4017. }
  4018. if !(v2 != 0) {
  4019. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  4020. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  4021. }
  4022. } else {
  4023. if v4 = *(*uintptr)(unsafe.Pointer(closure)) != 0; v4 {
  4024. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec {
  4025. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec)
  4026. } else {
  4027. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec)
  4028. }
  4029. }
  4030. if v4 && !(v3 != 0) {
  4031. XIA__FcDirCacheUnload(tls, cache)
  4032. return m_FcFalse
  4033. } else {
  4034. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  4035. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  4036. } else {
  4037. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  4038. }
  4039. if v5 != 0 {
  4040. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  4041. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  4042. }
  4043. }
  4044. }
  4045. }
  4046. } else {
  4047. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  4048. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  4049. } else {
  4050. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  4051. }
  4052. if v6 != 0 {
  4053. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  4054. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  4055. }
  4056. } else {
  4057. XIA__FcDirCacheUnload(tls, cache)
  4058. return m_FcFalse
  4059. }
  4060. }
  4061. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec
  4062. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec
  4063. *(*uintptr)(unsafe.Pointer(closure)) = cache
  4064. return int32(m_FcTrue)
  4065. }
  4066. func XIA__FcDirCacheLoad(tls *libc.TLS, dir uintptr, config uintptr, cache_file uintptr) (r uintptr) {
  4067. bp := tls.Alloc(16)
  4068. defer tls.Free(16)
  4069. var _ /* cache at bp+0 */ uintptr
  4070. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  4071. config = XIA__FcConfigReference(tls, config)
  4072. if !(config != 0) {
  4073. return libc.UintptrFromInt32(0)
  4074. }
  4075. if !(_FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheMapHelper), bp, cache_file) != 0) {
  4076. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  4077. }
  4078. XIA__FcConfigDestroy(tls, config)
  4079. return *(*uintptr)(unsafe.Pointer(bp))
  4080. }
  4081. var XFcDirCacheLoad = XIA__FcDirCacheLoad
  4082. func XIA__FcDirCacheLoadFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r uintptr) {
  4083. bp := tls.Alloc(160)
  4084. defer tls.Free(160)
  4085. var cache, config uintptr
  4086. var fd int32
  4087. var _ /* my_file_stat at bp+0 */ Tstat
  4088. _, _, _ = cache, config, fd
  4089. cache = libc.UintptrFromInt32(0)
  4090. if !(file_stat != 0) {
  4091. file_stat = bp
  4092. }
  4093. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  4094. if !(config != 0) {
  4095. return libc.UintptrFromInt32(0)
  4096. }
  4097. fd = _FcDirCacheOpenFile(tls, cache_file, file_stat)
  4098. if fd >= 0 {
  4099. cache = _FcDirCacheMapFd(tls, config, fd, file_stat, libc.UintptrFromInt32(0))
  4100. libc.Xclose(tls, fd)
  4101. }
  4102. XIA__FcConfigDestroy(tls, config)
  4103. return cache
  4104. }
  4105. var XFcDirCacheLoadFile = XIA__FcDirCacheLoadFile
  4106. func _FcDirChecksum(tls *libc.TLS, statb uintptr) (r int32) {
  4107. bp := tls.Alloc(32)
  4108. defer tls.Free(32)
  4109. var epoch uint64
  4110. var ret int32
  4111. var source_date_epoch uintptr
  4112. var _ /* endptr at bp+0 */ uintptr
  4113. _, _, _ = epoch, ret, source_date_epoch
  4114. ret = int32((*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_sec)
  4115. source_date_epoch = libc.Xgetenv(tls, __ccgo_ts+313)
  4116. if source_date_epoch != 0 {
  4117. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  4118. epoch = libc.Xstrtoull(tls, source_date_epoch, bp, int32(10))
  4119. if *(*uintptr)(unsafe.Pointer(bp)) == source_date_epoch {
  4120. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+331, 0)
  4121. } else {
  4122. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_ERANGE) && (epoch == libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1) || epoch == uint64(0)) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 && epoch == uint64(0) {
  4123. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+370, libc.VaList(bp+16, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))), epoch))
  4124. } else {
  4125. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) != int32('\000') {
  4126. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+421, 0)
  4127. } else {
  4128. if epoch > uint64(libc.Uint32FromUint32(2)*libc.Uint32FromInt32(0x7fffffff)+libc.Uint32FromInt32(1)) {
  4129. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+473, libc.VaList(bp+16, libc.Uint32FromUint32(2)*libc.Uint32FromInt32(0x7fffffff)+libc.Uint32FromInt32(1), epoch))
  4130. } else {
  4131. if epoch < libc.Uint64FromInt32(ret) {
  4132. /* Only override if directory is newer */
  4133. ret = libc.Int32FromUint64(epoch)
  4134. }
  4135. }
  4136. }
  4137. }
  4138. }
  4139. }
  4140. return ret
  4141. }
  4142. func _FcDirChecksumNano(tls *libc.TLS, statb uintptr) (r Tint64_t) {
  4143. /* No nanosecond component to parse */
  4144. if libc.Xgetenv(tls, __ccgo_ts+313) != 0 {
  4145. return 0
  4146. }
  4147. return int64((*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_nsec)
  4148. }
  4149. // C documentation
  4150. //
  4151. // /*
  4152. // * Validate a cache file by reading the header and checking
  4153. // * the magic number and the size field
  4154. // */
  4155. func _FcDirCacheValidateHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  4156. bp := tls.Alloc(48)
  4157. defer tls.Free(48)
  4158. var ret TFcBool
  4159. var _ /* c at bp+0 */ TFcCache
  4160. _ = ret
  4161. ret = int32(m_FcTrue)
  4162. if libc.Uint32FromInt32(libc.Xread(tls, fd, bp, uint32(40))) != uint32(40) {
  4163. ret = m_FcFalse
  4164. } else {
  4165. if (*(*TFcCache)(unsafe.Pointer(bp))).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4166. ret = m_FcFalse
  4167. } else {
  4168. if (*(*TFcCache)(unsafe.Pointer(bp))).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) {
  4169. ret = m_FcFalse
  4170. } else {
  4171. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size != int64((*(*TFcCache)(unsafe.Pointer(bp))).Fsize) {
  4172. ret = m_FcFalse
  4173. } else {
  4174. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum != _FcDirChecksum(tls, dir_stat) {
  4175. ret = m_FcFalse
  4176. } else {
  4177. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum_nano != _FcDirChecksumNano(tls, dir_stat) {
  4178. ret = m_FcFalse
  4179. }
  4180. }
  4181. }
  4182. }
  4183. }
  4184. }
  4185. return ret
  4186. }
  4187. func _FcDirCacheValidConfig(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  4188. return _FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheValidateHelper), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  4189. }
  4190. func XIA__FcDirCacheValid(tls *libc.TLS, dir uintptr) (r TFcBool) {
  4191. var config uintptr
  4192. var ret TFcBool
  4193. _, _ = config, ret
  4194. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  4195. if !(config != 0) {
  4196. return m_FcFalse
  4197. }
  4198. ret = _FcDirCacheValidConfig(tls, dir, config)
  4199. XIA__FcConfigDestroy(tls, config)
  4200. return ret
  4201. }
  4202. var XFcDirCacheValid = XIA__FcDirCacheValid
  4203. // C documentation
  4204. //
  4205. // /*
  4206. // * Build a cache structure from the given contents
  4207. // */
  4208. func XFcDirCacheBuild(tls *libc.TLS, set uintptr, dir uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  4209. var cache, d_serialize, dir_serialize, dirs_serialize, serialize, set_serialize uintptr
  4210. var i int32
  4211. _, _, _, _, _, _, _ = cache, d_serialize, dir_serialize, dirs_serialize, i, serialize, set_serialize
  4212. serialize = XFcSerializeCreate(tls)
  4213. if !(serialize != 0) {
  4214. return libc.UintptrFromInt32(0)
  4215. }
  4216. /*
  4217. * Space for cache structure
  4218. */
  4219. XFcSerializeReserve(tls, serialize, int32(40))
  4220. /*
  4221. * Directory name
  4222. */
  4223. if !(XFcStrSerializeAlloc(tls, serialize, dir) != 0) {
  4224. goto bail1
  4225. }
  4226. /*
  4227. * Subdirs
  4228. */
  4229. XFcSerializeAlloc(tls, serialize, dirs, libc.Int32FromUint32(libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(dirs)).Fnum)*uint32(4)))
  4230. i = 0
  4231. for {
  4232. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  4233. break
  4234. }
  4235. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*4))) != 0) {
  4236. goto bail1
  4237. }
  4238. goto _1
  4239. _1:
  4240. ;
  4241. i++
  4242. }
  4243. /*
  4244. * Patterns
  4245. */
  4246. if !(XFcFontSetSerializeAlloc(tls, serialize, set) != 0) {
  4247. goto bail1
  4248. }
  4249. /* Serialize layout complete. Now allocate space and fill it */
  4250. cache = libc.Xmalloc(tls, libc.Uint32FromInt32((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  4251. if !(cache != 0) {
  4252. goto bail1
  4253. }
  4254. /* shut up valgrind */
  4255. libc.Xmemset(tls, cache, 0, libc.Uint32FromInt32((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  4256. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = cache
  4257. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  4258. (*TFcCache)(unsafe.Pointer(cache)).Fversion = int32(m_FC_CACHE_VERSION_NUMBER)
  4259. (*TFcCache)(unsafe.Pointer(cache)).Fsize = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  4260. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum = _FcDirChecksum(tls, dir_stat)
  4261. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano = _FcDirChecksumNano(tls, dir_stat)
  4262. /*
  4263. * Serialize directory name
  4264. */
  4265. dir_serialize = XFcStrSerialize(tls, serialize, dir)
  4266. if !(dir_serialize != 0) {
  4267. goto bail2
  4268. }
  4269. (*TFcCache)(unsafe.Pointer(cache)).Fdir = int32(dir_serialize) - int32(cache)
  4270. /*
  4271. * Serialize sub dirs
  4272. */
  4273. dirs_serialize = XFcSerializePtr(tls, serialize, dirs)
  4274. if !(dirs_serialize != 0) {
  4275. goto bail2
  4276. }
  4277. (*TFcCache)(unsafe.Pointer(cache)).Fdirs = int32(dirs_serialize) - int32(cache)
  4278. (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count = (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum
  4279. i = 0
  4280. for {
  4281. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  4282. break
  4283. }
  4284. d_serialize = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*4)))
  4285. if !(d_serialize != 0) {
  4286. goto bail2
  4287. }
  4288. *(*Tintptr_t)(unsafe.Pointer(dirs_serialize + uintptr(i)*4)) = int32(d_serialize) - int32(dirs_serialize)
  4289. goto _2
  4290. _2:
  4291. ;
  4292. i++
  4293. }
  4294. /*
  4295. * Serialize font set
  4296. */
  4297. set_serialize = XFcFontSetSerialize(tls, serialize, set)
  4298. if !(set_serialize != 0) {
  4299. goto bail2
  4300. }
  4301. (*TFcCache)(unsafe.Pointer(cache)).Fset = int32(set_serialize) - int32(cache)
  4302. XFcSerializeDestroy(tls, serialize)
  4303. _FcCacheInsert(tls, cache, libc.UintptrFromInt32(0))
  4304. return cache
  4305. goto bail2
  4306. bail2:
  4307. ;
  4308. libc.Xfree(tls, cache)
  4309. goto bail1
  4310. bail1:
  4311. ;
  4312. XFcSerializeDestroy(tls, serialize)
  4313. return libc.UintptrFromInt32(0)
  4314. }
  4315. func XFcDirCacheRebuild(tls *libc.TLS, cache uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  4316. var dir, new1, set uintptr
  4317. _, _, _ = dir, new1, set
  4318. set = XFcFontSetDeserialize(tls, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fset))
  4319. dir = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4320. new1 = XFcDirCacheBuild(tls, set, dir, dir_stat, dirs)
  4321. XIA__FcFontSetDestroy(tls, set)
  4322. return new1
  4323. }
  4324. // C documentation
  4325. //
  4326. // /* write serialized state to the cache file */
  4327. func XFcDirCacheWrite(tls *libc.TLS, cache uintptr, config uintptr) (r TFcBool) {
  4328. bp := tls.Alloc(240)
  4329. defer tls.Free(240)
  4330. var atomic, cache_dir, cache_hashed, d, dir, list, skip, sysroot, test_dir, v1, v2 uintptr
  4331. var fd, written int32
  4332. var magic uint32
  4333. var _ /* cache_base at bp+0 */ [54]TFcChar8
  4334. var _ /* cache_stat at bp+56 */ Tstat
  4335. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = atomic, cache_dir, cache_hashed, d, dir, fd, list, magic, skip, sysroot, test_dir, written, v1, v2
  4336. dir = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4337. cache_dir = libc.UintptrFromInt32(0)
  4338. d = libc.UintptrFromInt32(0)
  4339. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4340. /*
  4341. * Write it to the first directory in the list which is writable
  4342. */
  4343. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4344. if !(list != 0) {
  4345. return m_FcFalse
  4346. }
  4347. for {
  4348. v1 = XIA__FcStrListNext(tls, list)
  4349. test_dir = v1
  4350. if !(v1 != 0) {
  4351. break
  4352. }
  4353. if d != 0 {
  4354. XIA__FcStrFree(tls, d)
  4355. }
  4356. if sysroot != 0 {
  4357. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+216, test_dir, libc.UintptrFromInt32(0)))
  4358. } else {
  4359. d = XIA__FcStrCopyFilename(tls, test_dir)
  4360. }
  4361. if libc.Xaccess(tls, d, int32(m_W_OK)) == 0 {
  4362. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4363. break
  4364. } else {
  4365. /*
  4366. * If the directory doesn't exist, try to create it
  4367. */
  4368. if libc.Xaccess(tls, d, m_F_OK) == -int32(1) {
  4369. if XFcMakeDirectory(tls, d) != 0 {
  4370. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4371. /* Create CACHEDIR.TAG */
  4372. XFcDirCacheCreateTagFile(tls, d)
  4373. break
  4374. }
  4375. } else {
  4376. if libc.Xchmod(tls, d, uint32(0755)) == 0 {
  4377. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4378. /* Try to create CACHEDIR.TAG too */
  4379. XFcDirCacheCreateTagFile(tls, d)
  4380. break
  4381. }
  4382. }
  4383. }
  4384. }
  4385. if !(test_dir != 0) {
  4386. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+533, 0)
  4387. }
  4388. if d != 0 {
  4389. XIA__FcStrFree(tls, d)
  4390. }
  4391. XIA__FcStrListDone(tls, list)
  4392. if !(cache_dir != 0) {
  4393. return m_FcFalse
  4394. }
  4395. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4396. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+216, bp, libc.UintptrFromInt32(0)))
  4397. XIA__FcStrFree(tls, cache_dir)
  4398. if !(cache_hashed != 0) {
  4399. return m_FcFalse
  4400. }
  4401. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4402. libc.Xprintf(tls, __ccgo_ts+582, libc.VaList(bp+216, dir, cache_hashed))
  4403. }
  4404. atomic = XIA__FcAtomicCreate(tls, cache_hashed)
  4405. if !(atomic != 0) {
  4406. goto bail1
  4407. }
  4408. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  4409. goto bail3
  4410. }
  4411. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT)|libc.Int32FromInt32(m_O_BINARY), libc.VaList(bp+216, int32(0666)))
  4412. if fd == -int32(1) {
  4413. goto bail4
  4414. }
  4415. /* Temporarily switch magic to MMAP while writing to file */
  4416. magic = (*TFcCache)(unsafe.Pointer(cache)).Fmagic
  4417. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4418. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_MMAP1)
  4419. }
  4420. /*
  4421. * Write cache contents to file
  4422. */
  4423. written = libc.Xwrite(tls, fd, cache, libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  4424. /* Switch magic back */
  4425. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4426. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = magic
  4427. }
  4428. if written != (*TFcCache)(unsafe.Pointer(cache)).Fsize {
  4429. libc.Xperror(tls, __ccgo_ts+621)
  4430. goto bail5
  4431. }
  4432. libc.Xclose(tls, fd)
  4433. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  4434. goto bail4
  4435. }
  4436. /* If the file is small, update the cache chain entry such that the
  4437. * new cache file is not read again. If it's large, we don't do that
  4438. * such that we reload it, using mmap, which is shared across processes.
  4439. */
  4440. if (*TFcCache)(unsafe.Pointer(cache)).Fsize < int32(m_FC_CACHE_MIN_MMAP) && XFcStat(tls, cache_hashed, bp+56) != 0 {
  4441. _lock_cache(tls)
  4442. v2 = _FcCacheFindByAddrUnlocked(tls, cache)
  4443. skip = v2
  4444. if v2 != 0 {
  4445. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_dev = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_dev
  4446. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_ino = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_ino
  4447. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_sec
  4448. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime_nano = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_nsec
  4449. }
  4450. _unlock_cache(tls)
  4451. }
  4452. XIA__FcStrFree(tls, cache_hashed)
  4453. XIA__FcAtomicUnlock(tls, atomic)
  4454. XIA__FcAtomicDestroy(tls, atomic)
  4455. return int32(m_FcTrue)
  4456. goto bail5
  4457. bail5:
  4458. ;
  4459. libc.Xclose(tls, fd)
  4460. goto bail4
  4461. bail4:
  4462. ;
  4463. XIA__FcAtomicUnlock(tls, atomic)
  4464. goto bail3
  4465. bail3:
  4466. ;
  4467. XIA__FcAtomicDestroy(tls, atomic)
  4468. goto bail1
  4469. bail1:
  4470. ;
  4471. XIA__FcStrFree(tls, cache_hashed)
  4472. return m_FcFalse
  4473. }
  4474. func XIA__FcDirCacheClean(tls *libc.TLS, cache_dir uintptr, verbose TFcBool) (r TFcBool) {
  4475. bp := tls.Alloc(192)
  4476. defer tls.Free(192)
  4477. var cache, config, d, dir, ent, file_name, s, sysroot, target_dir, v1, v2 uintptr
  4478. var remove, ret TFcBool
  4479. var _ /* target_stat at bp+0 */ Tstat
  4480. _, _, _, _, _, _, _, _, _, _, _, _, _ = cache, config, d, dir, ent, file_name, remove, ret, s, sysroot, target_dir, v1, v2
  4481. ret = int32(m_FcTrue)
  4482. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  4483. if !(config != 0) {
  4484. return m_FcFalse
  4485. }
  4486. /* FIXME: this API needs to support non-current FcConfig */
  4487. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4488. if sysroot != 0 {
  4489. dir = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+160, cache_dir, libc.UintptrFromInt32(0)))
  4490. } else {
  4491. dir = XIA__FcStrCopyFilename(tls, cache_dir)
  4492. }
  4493. if !(dir != 0) {
  4494. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+633, libc.VaList(bp+160, cache_dir))
  4495. ret = m_FcFalse
  4496. goto bail
  4497. }
  4498. if libc.Xaccess(tls, dir, int32(m_W_OK)) != 0 {
  4499. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4500. if libc.Xaccess(tls, dir, m_F_OK) == 0 {
  4501. v1 = __ccgo_ts + 670
  4502. } else {
  4503. v1 = __ccgo_ts + 681
  4504. }
  4505. libc.Xprintf(tls, __ccgo_ts+694, libc.VaList(bp+160, dir, v1))
  4506. }
  4507. goto bail0
  4508. }
  4509. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4510. libc.Xprintf(tls, __ccgo_ts+731, libc.VaList(bp+160, dir))
  4511. }
  4512. d = libc.Xopendir(tls, dir)
  4513. if !(d != 0) {
  4514. libc.Xperror(tls, dir)
  4515. ret = m_FcFalse
  4516. goto bail0
  4517. }
  4518. for {
  4519. v2 = libc.Xreaddir(tls, d)
  4520. ent = v2
  4521. if !(v2 != 0) {
  4522. break
  4523. }
  4524. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(ent + 19))) == int32('.') {
  4525. continue
  4526. }
  4527. /* skip cache files for different architectures and */
  4528. /* files which are not cache files at all */
  4529. if libc.Xstrlen(tls, ent+19) != uint32(32)+libc.Xstrlen(tls, __ccgo_ts+83) || libc.Xstrcmp(tls, ent+19+uintptr(32), __ccgo_ts+83) != 0 {
  4530. continue
  4531. }
  4532. file_name = XIA__FcStrBuildFilename(tls, dir, libc.VaList(bp+160, ent+19, libc.UintptrFromInt32(0)))
  4533. if !(file_name != 0) {
  4534. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+761, libc.VaList(bp+160, dir))
  4535. ret = m_FcFalse
  4536. break
  4537. }
  4538. remove = m_FcFalse
  4539. cache = XIA__FcDirCacheLoadFile(tls, file_name, libc.UintptrFromInt32(0))
  4540. if !(cache != 0) {
  4541. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4542. libc.Xprintf(tls, __ccgo_ts+803, libc.VaList(bp+160, dir, ent+19))
  4543. }
  4544. remove = int32(m_FcTrue)
  4545. } else {
  4546. target_dir = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4547. if sysroot != 0 {
  4548. s = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+160, target_dir, libc.UintptrFromInt32(0)))
  4549. } else {
  4550. s = libc.Xstrdup(tls, target_dir)
  4551. }
  4552. if libc.Xstat(tls, s, bp) < 0 {
  4553. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4554. libc.Xprintf(tls, __ccgo_ts+831, libc.VaList(bp+160, dir, ent+19, s))
  4555. }
  4556. remove = int32(m_FcTrue)
  4557. }
  4558. XIA__FcDirCacheUnload(tls, cache)
  4559. XIA__FcStrFree(tls, s)
  4560. }
  4561. if remove != 0 {
  4562. if libc.Xunlink(tls, file_name) < 0 {
  4563. libc.Xperror(tls, file_name)
  4564. ret = m_FcFalse
  4565. }
  4566. }
  4567. XIA__FcStrFree(tls, file_name)
  4568. }
  4569. libc.Xclosedir(tls, d)
  4570. goto bail0
  4571. bail0:
  4572. ;
  4573. XIA__FcStrFree(tls, dir)
  4574. goto bail
  4575. bail:
  4576. ;
  4577. XIA__FcConfigDestroy(tls, config)
  4578. return ret
  4579. }
  4580. var XFcDirCacheClean = XIA__FcDirCacheClean
  4581. func XFcDirCacheLock(tls *libc.TLS, dir uintptr, config uintptr) (r int32) {
  4582. bp := tls.Alloc(128)
  4583. defer tls.Free(128)
  4584. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  4585. var fd int32
  4586. var _ /* cache_base at bp+0 */ [54]TFcChar8
  4587. var _ /* fl at bp+56 */ Tflock
  4588. _, _, _, _, _, _ = cache_dir, cache_hashed, fd, list, sysroot, v1
  4589. cache_hashed = libc.UintptrFromInt32(0)
  4590. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4591. fd = -int32(1)
  4592. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4593. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4594. if !(list != 0) {
  4595. return -int32(1)
  4596. }
  4597. for {
  4598. v1 = XIA__FcStrListNext(tls, list)
  4599. cache_dir = v1
  4600. if !(v1 != 0) {
  4601. break
  4602. }
  4603. if sysroot != 0 {
  4604. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+96, cache_dir, bp, libc.UintptrFromInt32(0)))
  4605. } else {
  4606. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+96, bp, libc.UintptrFromInt32(0)))
  4607. }
  4608. if !(cache_hashed != 0) {
  4609. break
  4610. }
  4611. fd = XFcOpen(tls, cache_hashed, int32(m_O_RDWR), 0)
  4612. XIA__FcStrFree(tls, cache_hashed)
  4613. /* No caches in that directory. simply retry with another one */
  4614. if fd != -int32(1) {
  4615. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_type = int16(m_F_WRLCK)
  4616. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_whence = 0
  4617. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_start = 0
  4618. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_len = 0
  4619. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_pid = libc.Xgetpid(tls)
  4620. if libc.Xfcntl(tls, fd, int32(m_F_SETLKW), libc.VaList(bp+96, bp+56)) == -int32(1) {
  4621. goto bail
  4622. }
  4623. break
  4624. }
  4625. }
  4626. XIA__FcStrListDone(tls, list)
  4627. return fd
  4628. goto bail
  4629. bail:
  4630. ;
  4631. XIA__FcStrListDone(tls, list)
  4632. if fd != -int32(1) {
  4633. libc.Xclose(tls, fd)
  4634. }
  4635. return -int32(1)
  4636. }
  4637. func XFcDirCacheUnlock(tls *libc.TLS, fd int32) {
  4638. bp := tls.Alloc(48)
  4639. defer tls.Free(48)
  4640. var _ /* fl at bp+0 */ Tflock
  4641. if fd != -int32(1) {
  4642. (*(*Tflock)(unsafe.Pointer(bp))).Fl_type = int16(m_F_UNLCK)
  4643. (*(*Tflock)(unsafe.Pointer(bp))).Fl_whence = 0
  4644. (*(*Tflock)(unsafe.Pointer(bp))).Fl_start = 0
  4645. (*(*Tflock)(unsafe.Pointer(bp))).Fl_len = 0
  4646. (*(*Tflock)(unsafe.Pointer(bp))).Fl_pid = libc.Xgetpid(tls)
  4647. libc.Xfcntl(tls, fd, int32(m_F_SETLK), libc.VaList(bp+40, bp))
  4648. libc.Xclose(tls, fd)
  4649. }
  4650. }
  4651. /*
  4652. * Hokey little macro trick to permit the definitions of C functions
  4653. * with the same name as CPP macros
  4654. */
  4655. func XFcCacheDir(tls *libc.TLS, c uintptr) (r uintptr) {
  4656. return uintptr(int32(c) + (*TFcCache)(unsafe.Pointer(c)).Fdir)
  4657. }
  4658. func XIA__FcCacheCopySet(tls *libc.TLS, c uintptr) (r uintptr) {
  4659. var font, new1, old, v2, v3 uintptr
  4660. var i int32
  4661. _, _, _, _, _, _ = font, i, new1, old, v2, v3
  4662. old = uintptr(int32(c) + (*TFcCache)(unsafe.Pointer(c)).Fset)
  4663. new1 = XIA__FcFontSetCreate(tls)
  4664. if !(new1 != 0) {
  4665. return libc.UintptrFromInt32(0)
  4666. }
  4667. i = 0
  4668. for {
  4669. if !(i < (*TFcFontSet)(unsafe.Pointer(old)).Fnfont) {
  4670. break
  4671. }
  4672. if int32((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int32(1) != 0 {
  4673. if int32((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int32(1) != 0 {
  4674. v3 = uintptr(int32(old) + int32((*TFcFontSet)(unsafe.Pointer(old)).Ffonts) & ^libc.Int32FromInt32(1))
  4675. } else {
  4676. v3 = (*TFcFontSet)(unsafe.Pointer(old)).Ffonts
  4677. }
  4678. v2 = uintptr(int32(old) + int32(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*4))) & ^libc.Int32FromInt32(1))
  4679. } else {
  4680. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(old)).Ffonts + uintptr(i)*4))
  4681. }
  4682. font = v2
  4683. XIA__FcPatternReference(tls, font)
  4684. if !(XIA__FcFontSetAdd(tls, new1, font) != 0) {
  4685. XIA__FcFontSetDestroy(tls, new1)
  4686. return libc.UintptrFromInt32(0)
  4687. }
  4688. goto _1
  4689. _1:
  4690. ;
  4691. i++
  4692. }
  4693. return new1
  4694. }
  4695. var XFcCacheCopySet = XIA__FcCacheCopySet
  4696. func XFcCacheSubdir(tls *libc.TLS, c uintptr, i int32) (r uintptr) {
  4697. return uintptr(int32(uintptr(int32(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs) + uintptr(i)*4)))
  4698. }
  4699. func XIA__FcCacheNumSubdir(tls *libc.TLS, c uintptr) (r int32) {
  4700. return (*TFcCache)(unsafe.Pointer(c)).Fdirs_count
  4701. }
  4702. var XFcCacheNumSubdir = XIA__FcCacheNumSubdir
  4703. func XIA__FcCacheNumFont(tls *libc.TLS, c uintptr) (r int32) {
  4704. return (*TFcFontSet)(unsafe.Pointer(uintptr(int32(c) + (*TFcCache)(unsafe.Pointer(c)).Fset))).Fnfont
  4705. }
  4706. var XFcCacheNumFont = XIA__FcCacheNumFont
  4707. func XFcDirCacheCreateTagFile(tls *libc.TLS, cache_dir uintptr) (r TFcBool) {
  4708. bp := tls.Alloc(32)
  4709. defer tls.Free(32)
  4710. var atomic, cache_tag, fp uintptr
  4711. var fd int32
  4712. var ret TFcBool
  4713. _, _, _, _, _ = atomic, cache_tag, fd, fp, ret
  4714. ret = m_FcFalse
  4715. if !(cache_dir != 0) {
  4716. return m_FcFalse
  4717. }
  4718. if libc.Xaccess(tls, cache_dir, int32(m_W_OK)) == 0 {
  4719. /* Create CACHEDIR.TAG */
  4720. cache_tag = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+8, __ccgo_ts+863, libc.UintptrFromInt32(0)))
  4721. if !(cache_tag != 0) {
  4722. return m_FcFalse
  4723. }
  4724. atomic = XIA__FcAtomicCreate(tls, cache_tag)
  4725. if !(atomic != 0) {
  4726. goto bail1
  4727. }
  4728. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  4729. goto bail2
  4730. }
  4731. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+8, int32(0644)))
  4732. if fd == -int32(1) {
  4733. goto bail3
  4734. }
  4735. fp = libc.Xfdopen(tls, fd, __ccgo_ts+876)
  4736. if fp == libc.UintptrFromInt32(0) {
  4737. goto bail3
  4738. }
  4739. libc.Xfwrite(tls, uintptr(unsafe.Pointer(&_cache_tag_contents)), _cache_tag_contents_size, uint32(1), fp)
  4740. libc.Xfclose(tls, fp)
  4741. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  4742. goto bail3
  4743. }
  4744. ret = int32(m_FcTrue)
  4745. goto bail3
  4746. bail3:
  4747. ;
  4748. XIA__FcAtomicUnlock(tls, atomic)
  4749. goto bail2
  4750. bail2:
  4751. ;
  4752. XIA__FcAtomicDestroy(tls, atomic)
  4753. goto bail1
  4754. bail1:
  4755. ;
  4756. XIA__FcStrFree(tls, cache_tag)
  4757. }
  4758. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4759. if ret != 0 {
  4760. libc.Xprintf(tls, __ccgo_ts+879, libc.VaList(bp+8, cache_dir))
  4761. } else {
  4762. libc.Xprintf(tls, __ccgo_ts+907, libc.VaList(bp+8, cache_dir))
  4763. }
  4764. }
  4765. return ret
  4766. }
  4767. var _cache_tag_contents = [201]TFcChar8{'S', 'i', 'g', 'n', 'a', 't', 'u', 'r', 'e', ':', ' ', '8', 'a', '4', '7', '7', 'f', '5', '9', '7', 'd', '2', '8', 'd', '1', '7', '2', '7', '8', '9', 'f', '0', '6', '8', '8', '6', '8', '0', '6', 'b', 'c', '5', '5', 10, '#', ' ', 'T', 'h', 'i', 's', ' ', 'f', 'i', 'l', 'e', ' ', 'i', 's', ' ', 'a', ' ', 'c', 'a', 'c', 'h', 'e', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', ' ', 't', 'a', 'g', ' ', 'c', 'r', 'e', 'a', 't', 'e', 'd', ' ', 'b', 'y', ' ', 'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g', '.', 10, '#', ' ', 'F', 'o', 'r', ' ', 'i', 'n', 'f', 'o', 'r', 'm', 'a', 't', 'i', 'o', 'n', ' ', 'a', 'b', 'o', 'u', 't', ' ', 'c', 'a', 'c', 'h', 'e', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', ' ', 't', 'a', 'g', 's', ',', ' ', 's', 'e', 'e', ':', 10, '#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'h', 't', 't', 'p', ':', '/', '/', 'w', 'w', 'w', '.', 'b', 'r', 'y', 'n', 'o', 's', 'a', 'u', 'r', 'u', 's', '.', 'c', 'o', 'm', '/', 'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r', '/', 10}
  4768. var _cache_tag_contents_size = libc.Uint32FromInt64(201) - libc.Uint32FromInt32(1)
  4769. func XIA__FcCacheCreateTagFile(tls *libc.TLS, config uintptr) {
  4770. bp := tls.Alloc(32)
  4771. defer tls.Free(32)
  4772. var cache_dir, d, list, sysroot, v1 uintptr
  4773. _, _, _, _, _ = cache_dir, d, list, sysroot, v1
  4774. cache_dir = libc.UintptrFromInt32(0)
  4775. d = libc.UintptrFromInt32(0)
  4776. config = XIA__FcConfigReference(tls, config)
  4777. if !(config != 0) {
  4778. return
  4779. }
  4780. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4781. list = XIA__FcConfigGetCacheDirs(tls, config)
  4782. if !(list != 0) {
  4783. goto bail
  4784. }
  4785. for {
  4786. v1 = XIA__FcStrListNext(tls, list)
  4787. cache_dir = v1
  4788. if !(v1 != 0) {
  4789. break
  4790. }
  4791. if d != 0 {
  4792. XIA__FcStrFree(tls, d)
  4793. }
  4794. if sysroot != 0 {
  4795. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, cache_dir, libc.UintptrFromInt32(0)))
  4796. } else {
  4797. d = XIA__FcStrCopyFilename(tls, cache_dir)
  4798. }
  4799. if XFcDirCacheCreateTagFile(tls, d) != 0 {
  4800. break
  4801. }
  4802. }
  4803. if d != 0 {
  4804. XIA__FcStrFree(tls, d)
  4805. }
  4806. XIA__FcStrListDone(tls, list)
  4807. goto bail
  4808. bail:
  4809. ;
  4810. XIA__FcConfigDestroy(tls, config)
  4811. }
  4812. var XFcCacheCreateTagFile = XIA__FcCacheCreateTagFile
  4813. const m_FC_CACHE_MAGIC_ALLOC2 = 0xFC02FC05
  4814. const m_FC_CACHE_MAGIC_MMAP2 = 0xFC02FC04
  4815. const m_FC_DIR_SEPARATOR1 = 47
  4816. const m_FC_DIR_SEPARATOR_S1 = "/.cache"
  4817. const m_FC_SEARCH_PATH_SEPARATOR1 = 58
  4818. const m_FONTCONFIG_FILE = "fonts.conf"
  4819. const m_INT32_MAX2 = 0x7fffffff
  4820. const m_LLONG_MAX2 = 0x7fffffffffffffff
  4821. const m_S_IFIFO1 = 4096
  4822. const m_S_IFMT1 = 61440
  4823. const m___LONG_MAX2 = 0x7fffffff
  4824. var __fcConfig uintptr /* MT-safe */
  4825. var __lock uintptr
  4826. func _lock_config(tls *libc.TLS) {
  4827. var lock uintptr
  4828. var v1 int32
  4829. _, _ = lock, v1
  4830. goto retry
  4831. retry:
  4832. ;
  4833. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4834. if !(lock != 0) {
  4835. lock = libc.Xmalloc(tls, uint32(4))
  4836. _ = lock
  4837. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == libc.UintptrFromInt32(0) {
  4838. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = lock
  4839. v1 = libc.Int32FromInt32(m_FcTrue)
  4840. } else {
  4841. v1 = m_FcFalse
  4842. }
  4843. if !(v1 != 0) {
  4844. _ = lock
  4845. libc.Xfree(tls, lock)
  4846. goto retry
  4847. }
  4848. _ = lock
  4849. /* Initialize random state */
  4850. XFcRandom(tls)
  4851. return
  4852. }
  4853. _ = lock
  4854. }
  4855. func _unlock_config(tls *libc.TLS) {
  4856. var lock uintptr
  4857. _ = lock
  4858. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4859. _ = lock
  4860. }
  4861. func _free_lock1(tls *libc.TLS) {
  4862. var lock uintptr
  4863. var v1 int32
  4864. var v2 bool
  4865. _, _, _ = lock, v1, v2
  4866. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4867. if v2 = lock != 0; v2 {
  4868. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == lock {
  4869. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = libc.UintptrFromInt32(0)
  4870. v1 = libc.Int32FromInt32(m_FcTrue)
  4871. } else {
  4872. v1 = m_FcFalse
  4873. }
  4874. }
  4875. if v2 && v1 != 0 {
  4876. _ = lock
  4877. libc.Xfree(tls, lock)
  4878. }
  4879. }
  4880. func _FcConfigEnsure(tls *libc.TLS) (r uintptr) {
  4881. var config uintptr
  4882. var v1 int32
  4883. var v2 bool
  4884. _, _, _ = config, v1, v2
  4885. goto retry
  4886. retry:
  4887. ;
  4888. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4889. if !(config != 0) {
  4890. config = XIA__FcInitLoadConfigAndFonts(tls)
  4891. if v2 = !(config != 0); !v2 {
  4892. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  4893. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  4894. v1 = libc.Int32FromInt32(m_FcTrue)
  4895. } else {
  4896. v1 = m_FcFalse
  4897. }
  4898. }
  4899. if v2 || !(v1 != 0) {
  4900. if config != 0 {
  4901. XIA__FcConfigDestroy(tls, config)
  4902. }
  4903. goto retry
  4904. }
  4905. }
  4906. return config
  4907. }
  4908. func _FcDestroyAsRule(tls *libc.TLS, data uintptr) {
  4909. XFcRuleDestroy(tls, data)
  4910. }
  4911. func _FcDestroyAsRuleSet(tls *libc.TLS, data uintptr) {
  4912. XFcRuleSetDestroy(tls, data)
  4913. }
  4914. func XFcConfigInit(tls *libc.TLS) (r TFcBool) {
  4915. var v1 int32
  4916. _ = v1
  4917. if _FcConfigEnsure(tls) != 0 {
  4918. v1 = int32(m_FcTrue)
  4919. } else {
  4920. v1 = m_FcFalse
  4921. }
  4922. return v1
  4923. }
  4924. func XFcConfigFini(tls *libc.TLS) {
  4925. var cfg uintptr
  4926. var v1 int32
  4927. var v2 bool
  4928. _, _, _ = cfg, v1, v2
  4929. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4930. if v2 = cfg != 0; v2 {
  4931. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  4932. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  4933. v1 = libc.Int32FromInt32(m_FcTrue)
  4934. } else {
  4935. v1 = m_FcFalse
  4936. }
  4937. }
  4938. if v2 && v1 != 0 {
  4939. XIA__FcConfigDestroy(tls, cfg)
  4940. }
  4941. _free_lock1(tls)
  4942. }
  4943. func XIA__FcConfigCreate(tls *libc.TLS) (r uintptr) {
  4944. var config uintptr
  4945. var err TFcBool
  4946. var k TFcMatchKind
  4947. var set TFcSetName
  4948. _, _, _, _ = config, err, k, set
  4949. err = m_FcFalse
  4950. config = libc.Xmalloc(tls, uint32(96))
  4951. if !(config != 0) {
  4952. goto bail0
  4953. }
  4954. (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs = XIA__FcStrSetCreate(tls)
  4955. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigDirs != 0) {
  4956. goto bail1
  4957. }
  4958. (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs = XIA__FcStrSetCreate(tls)
  4959. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs != 0) {
  4960. goto bail1_5
  4961. }
  4962. (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles = XIA__FcStrSetCreate(tls)
  4963. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigFiles != 0) {
  4964. goto bail2
  4965. }
  4966. (*TFcConfig)(unsafe.Pointer(config)).FfontDirs = XIA__FcStrSetCreate(tls)
  4967. if !((*TFcConfig)(unsafe.Pointer(config)).FfontDirs != 0) {
  4968. goto bail3
  4969. }
  4970. (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs = XIA__FcStrSetCreate(tls)
  4971. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs != 0) {
  4972. goto bail4
  4973. }
  4974. (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs = XIA__FcStrSetCreate(tls)
  4975. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs != 0) {
  4976. goto bail5
  4977. }
  4978. (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns = XIA__FcFontSetCreate(tls)
  4979. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns != 0) {
  4980. goto bail6
  4981. }
  4982. (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns = XIA__FcFontSetCreate(tls)
  4983. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns != 0) {
  4984. goto bail7
  4985. }
  4986. (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs = XIA__FcStrSetCreate(tls)
  4987. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0) {
  4988. goto bail8
  4989. }
  4990. k = int32(_FcMatchKindBegin)
  4991. for {
  4992. if !(k < int32(_FcMatchKindEnd)) {
  4993. break
  4994. }
  4995. *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4996. if !(*(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)) != 0) {
  4997. err = int32(m_FcTrue)
  4998. }
  4999. goto _1
  5000. _1:
  5001. ;
  5002. k++
  5003. }
  5004. if err != 0 {
  5005. goto bail9
  5006. }
  5007. (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects = 0
  5008. set = int32(_FcSetSystem)
  5009. for {
  5010. if !(set <= int32(_FcSetApplication)) {
  5011. break
  5012. }
  5013. *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)) = uintptr(0)
  5014. goto _2
  5015. _2:
  5016. ;
  5017. set++
  5018. }
  5019. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = libc.Xtime(tls, uintptr(0))
  5020. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = int32(30)
  5021. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = libc.UintptrFromInt32(0)
  5022. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = XFcStrRealPath(tls, libc.Xgetenv(tls, __ccgo_ts+944))
  5023. (*TFcConfig)(unsafe.Pointer(config)).FrulesetList = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  5024. if !((*TFcConfig)(unsafe.Pointer(config)).FrulesetList != 0) {
  5025. goto bail9
  5026. }
  5027. (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles = XIA__FcStrSetCreate(tls)
  5028. if !((*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles != 0) {
  5029. goto bail10
  5030. }
  5031. (*TFcRef)(unsafe.Pointer(config + 76)).Fcount = int32(1)
  5032. return config
  5033. goto bail10
  5034. bail10:
  5035. ;
  5036. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  5037. goto bail9
  5038. bail9:
  5039. ;
  5040. k = int32(_FcMatchKindBegin)
  5041. for {
  5042. if !(k < int32(_FcMatchKindEnd)) {
  5043. break
  5044. }
  5045. if *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)) != 0 {
  5046. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)))
  5047. }
  5048. goto _3
  5049. _3:
  5050. ;
  5051. k++
  5052. }
  5053. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5054. goto bail8
  5055. bail8:
  5056. ;
  5057. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  5058. goto bail7
  5059. bail7:
  5060. ;
  5061. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  5062. goto bail6
  5063. bail6:
  5064. ;
  5065. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  5066. goto bail5
  5067. bail5:
  5068. ;
  5069. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  5070. goto bail4
  5071. bail4:
  5072. ;
  5073. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5074. goto bail3
  5075. bail3:
  5076. ;
  5077. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5078. goto bail2
  5079. bail2:
  5080. ;
  5081. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  5082. goto bail1_5
  5083. bail1_5:
  5084. ;
  5085. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5086. goto bail1
  5087. bail1:
  5088. ;
  5089. libc.Xfree(tls, config)
  5090. goto bail0
  5091. bail0:
  5092. ;
  5093. return uintptr(0)
  5094. return r
  5095. }
  5096. var XFcConfigCreate = XIA__FcConfigCreate
  5097. func _FcConfigNewestFile(tls *libc.TLS, files uintptr) (r TFcFileTime) {
  5098. bp := tls.Alloc(160)
  5099. defer tls.Free(160)
  5100. var file, list, v1 uintptr
  5101. var newest TFcFileTime
  5102. var _ /* statb at bp+0 */ Tstat
  5103. _, _, _, _ = file, list, newest, v1
  5104. list = XIA__FcStrListCreate(tls, files)
  5105. newest = TFcFileTime{}
  5106. if list != 0 {
  5107. for {
  5108. v1 = XIA__FcStrListNext(tls, list)
  5109. file = v1
  5110. if !(v1 != 0) {
  5111. break
  5112. }
  5113. if XFcStat(tls, file, bp) == 0 {
  5114. if !(newest.Fset != 0) || (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec-newest.Ftime > 0 {
  5115. newest.Fset = int32(m_FcTrue)
  5116. newest.Ftime = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec
  5117. }
  5118. }
  5119. }
  5120. XIA__FcStrListDone(tls, list)
  5121. }
  5122. return newest
  5123. }
  5124. func XIA__FcConfigUptoDate(tls *libc.TLS, config uintptr) (r TFcBool) {
  5125. var config_dir_time, config_time, font_time TFcFileTime
  5126. var now Ttime_t
  5127. var ret TFcBool
  5128. _, _, _, _, _ = config_dir_time, config_time, font_time, now, ret
  5129. now = libc.Xtime(tls, uintptr(0))
  5130. ret = int32(m_FcTrue)
  5131. config = XIA__FcConfigReference(tls, config)
  5132. if !(config != 0) {
  5133. return m_FcFalse
  5134. }
  5135. config_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5136. config_dir_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5137. font_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5138. if config_time.Fset != 0 && config_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 || config_dir_time.Fset != 0 && config_dir_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 || font_time.Fset != 0 && font_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 {
  5139. /* We need to check for potential clock problems here (OLPC ticket #6046) */
  5140. if config_time.Fset != 0 && config_time.Ftime-now > 0 || config_dir_time.Fset != 0 && config_dir_time.Ftime-now > 0 || font_time.Fset != 0 && font_time.Ftime-now > 0 {
  5141. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+963, 0)
  5142. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  5143. goto bail
  5144. } else {
  5145. ret = m_FcFalse
  5146. goto bail
  5147. }
  5148. }
  5149. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  5150. goto bail
  5151. bail:
  5152. ;
  5153. XIA__FcConfigDestroy(tls, config)
  5154. return ret
  5155. }
  5156. var XFcConfigUptoDate = XIA__FcConfigUptoDate
  5157. func XFcConfigAllocExpr(tls *libc.TLS, config uintptr) (r uintptr) {
  5158. var new_page, v1, v2 uintptr
  5159. _, _, _ = new_page, v1, v2
  5160. if !((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool != 0) || (*TFcExprPage)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool)).Fnext == (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool+4088 {
  5161. new_page = libc.Xmalloc(tls, uint32(4088))
  5162. if !(new_page != 0) {
  5163. return uintptr(0)
  5164. }
  5165. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext_page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  5166. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext = new_page + 8
  5167. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = new_page
  5168. }
  5169. v2 = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool + 4
  5170. v1 = *(*uintptr)(unsafe.Pointer(v2))
  5171. *(*uintptr)(unsafe.Pointer(v2)) += 16
  5172. return v1
  5173. }
  5174. func XIA__FcConfigReference(tls *libc.TLS, config uintptr) (r uintptr) {
  5175. var v1 int32
  5176. var p3, p5 uintptr
  5177. _, _, _ = v1, p3, p5
  5178. if !(config != 0) {
  5179. /* lock during obtaining the value from _fcConfig and count up refcount there,
  5180. * there are the race between them.
  5181. */
  5182. _lock_config(tls)
  5183. goto retry
  5184. retry:
  5185. ;
  5186. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  5187. if !(config != 0) {
  5188. _unlock_config(tls)
  5189. config = XIA__FcInitLoadConfigAndFonts(tls)
  5190. if !(config != 0) {
  5191. goto retry
  5192. }
  5193. _lock_config(tls)
  5194. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  5195. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  5196. v1 = libc.Int32FromInt32(m_FcTrue)
  5197. } else {
  5198. v1 = m_FcFalse
  5199. }
  5200. if !(v1 != 0) {
  5201. XIA__FcConfigDestroy(tls, config)
  5202. goto retry
  5203. }
  5204. }
  5205. p3 = config + 76
  5206. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  5207. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  5208. goto _2
  5209. _2:
  5210. ;
  5211. _unlock_config(tls)
  5212. } else {
  5213. p5 = config + 76
  5214. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += +libc.Int32FromInt32(1)
  5215. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - +libc.Int32FromInt32(1)
  5216. goto _4
  5217. _4:
  5218. }
  5219. return config
  5220. }
  5221. var XFcConfigReference = XIA__FcConfigReference
  5222. func XIA__FcConfigDestroy(tls *libc.TLS, config uintptr) {
  5223. var k TFcMatchKind
  5224. var next, page, p3 uintptr
  5225. var set TFcSetName
  5226. var v1 int32
  5227. _, _, _, _, _, _ = k, next, page, set, v1, p3
  5228. p3 = config + 76
  5229. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  5230. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  5231. goto _2
  5232. _2:
  5233. if v1 != int32(1) {
  5234. return
  5235. }
  5236. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == config {
  5237. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  5238. _ = libc.Int32FromInt32(m_FcTrue)
  5239. }
  5240. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5241. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  5242. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5243. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5244. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5245. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  5246. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  5247. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  5248. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  5249. k = int32(_FcMatchKindBegin)
  5250. for {
  5251. if !(k < int32(_FcMatchKindEnd)) {
  5252. break
  5253. }
  5254. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)))
  5255. goto _5
  5256. _5:
  5257. ;
  5258. k++
  5259. }
  5260. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  5261. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles)
  5262. set = int32(_FcSetSystem)
  5263. for {
  5264. if !(set <= int32(_FcSetApplication)) {
  5265. break
  5266. }
  5267. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)) != 0 {
  5268. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)))
  5269. }
  5270. goto _6
  5271. _6:
  5272. ;
  5273. set++
  5274. }
  5275. page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  5276. for page != 0 {
  5277. next = (*TFcExprPage)(unsafe.Pointer(page)).Fnext_page
  5278. libc.Xfree(tls, page)
  5279. page = next
  5280. }
  5281. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  5282. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  5283. }
  5284. libc.Xfree(tls, config)
  5285. }
  5286. var XFcConfigDestroy = XIA__FcConfigDestroy
  5287. /*
  5288. * Add cache to configuration, adding fonts and directories
  5289. */
  5290. func XFcConfigAddCache(tls *libc.TLS, config uintptr, cache uintptr, set TFcSetName, dirSet uintptr, forDir uintptr) (r TFcBool) {
  5291. bp := tls.Alloc(32)
  5292. defer tls.Free(32)
  5293. var base, dir, dirs, font, fs, relocated_font_file, s, slash, v2, v3, v5 uintptr
  5294. var i, nref int32
  5295. var relocated TFcBool
  5296. var _ /* font_file at bp+0 */ uintptr
  5297. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, font, fs, i, nref, relocated, relocated_font_file, s, slash, v2, v3, v5
  5298. relocated = m_FcFalse
  5299. if libc.Xstrcmp(tls, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), forDir) != 0 {
  5300. relocated = int32(m_FcTrue)
  5301. }
  5302. /*
  5303. * Add fonts
  5304. */
  5305. fs = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  5306. if fs != 0 {
  5307. nref = 0
  5308. i = 0
  5309. for {
  5310. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  5311. break
  5312. }
  5313. if int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int32(1) != 0 {
  5314. if int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int32(1) != 0 {
  5315. v3 = uintptr(int32(fs) + int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts) & ^libc.Int32FromInt32(1))
  5316. } else {
  5317. v3 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  5318. }
  5319. v2 = uintptr(int32(fs) + int32(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*4))) & ^libc.Int32FromInt32(1))
  5320. } else {
  5321. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*4))
  5322. }
  5323. font = v2
  5324. relocated_font_file = libc.UintptrFromInt32(0)
  5325. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) {
  5326. if relocated != 0 {
  5327. slash = XFcStrLastSlash(tls, *(*uintptr)(unsafe.Pointer(bp)))
  5328. relocated_font_file = XIA__FcStrBuildFilename(tls, forDir, libc.VaList(bp+16, slash+uintptr(1), libc.UintptrFromInt32(0)))
  5329. *(*uintptr)(unsafe.Pointer(bp)) = relocated_font_file
  5330. }
  5331. /*
  5332. * Check to see if font is banned by filename
  5333. */
  5334. if !(XFcConfigAcceptFilename(tls, config, *(*uintptr)(unsafe.Pointer(bp))) != 0) {
  5335. libc.Xfree(tls, relocated_font_file)
  5336. goto _1
  5337. }
  5338. }
  5339. /*
  5340. * Check to see if font is banned by pattern
  5341. */
  5342. if !(XFcConfigAcceptFont(tls, config, font) != 0) {
  5343. libc.Xfree(tls, relocated_font_file)
  5344. goto _1
  5345. }
  5346. if relocated_font_file != 0 {
  5347. font = XFcPatternCacheRewriteFile(tls, font, cache, relocated_font_file)
  5348. libc.Xfree(tls, relocated_font_file)
  5349. }
  5350. if XIA__FcFontSetAdd(tls, *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)), font) != 0 {
  5351. nref++
  5352. }
  5353. goto _1
  5354. _1:
  5355. ;
  5356. i++
  5357. }
  5358. XFcDirCacheReference(tls, cache, nref)
  5359. }
  5360. /*
  5361. * Add directories
  5362. */
  5363. dirs = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  5364. if dirs != 0 {
  5365. i = 0
  5366. for {
  5367. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  5368. break
  5369. }
  5370. dir = uintptr(int32(uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs) + uintptr(i)*4)))
  5371. s = libc.UintptrFromInt32(0)
  5372. if relocated != 0 {
  5373. base = XIA__FcStrBasename(tls, dir)
  5374. v5 = XIA__FcStrBuildFilename(tls, forDir, libc.VaList(bp+16, base, libc.UintptrFromInt32(0)))
  5375. s = v5
  5376. dir = v5
  5377. XIA__FcStrFree(tls, base)
  5378. }
  5379. if XFcConfigAcceptFilename(tls, config, dir) != 0 {
  5380. XIA__FcStrSetAddFilename(tls, dirSet, dir)
  5381. }
  5382. if s != 0 {
  5383. XIA__FcStrFree(tls, s)
  5384. }
  5385. goto _4
  5386. _4:
  5387. ;
  5388. i++
  5389. }
  5390. }
  5391. return int32(m_FcTrue)
  5392. }
  5393. func _FcConfigAddDirList(tls *libc.TLS, config uintptr, set TFcSetName, dirSet uintptr) (r TFcBool) {
  5394. bp := tls.Alloc(16)
  5395. defer tls.Free(16)
  5396. var cache, dir, dirlist, v1 uintptr
  5397. _, _, _, _ = cache, dir, dirlist, v1
  5398. dirlist = XIA__FcStrListCreate(tls, dirSet)
  5399. if !(dirlist != 0) {
  5400. return m_FcFalse
  5401. }
  5402. for {
  5403. v1 = XIA__FcStrListNext(tls, dirlist)
  5404. dir = v1
  5405. if !(v1 != 0) {
  5406. break
  5407. }
  5408. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5409. libc.Xprintf(tls, __ccgo_ts+1051, libc.VaList(bp+8, dir))
  5410. }
  5411. cache = XIA__FcDirCacheRead(tls, dir, m_FcFalse, config)
  5412. if !(cache != 0) {
  5413. continue
  5414. }
  5415. XFcConfigAddCache(tls, config, cache, set, dirSet, dir)
  5416. XIA__FcDirCacheUnload(tls, cache)
  5417. }
  5418. XIA__FcStrListDone(tls, dirlist)
  5419. return int32(m_FcTrue)
  5420. }
  5421. /*
  5422. * Scan the current list of directories in the configuration
  5423. * and build the set of available fonts.
  5424. */
  5425. func XIA__FcConfigBuildFonts(tls *libc.TLS, config uintptr) (r TFcBool) {
  5426. var fonts uintptr
  5427. var ret TFcBool
  5428. _, _ = fonts, ret
  5429. ret = int32(m_FcTrue)
  5430. config = XIA__FcConfigReference(tls, config)
  5431. if !(config != 0) {
  5432. return m_FcFalse
  5433. }
  5434. fonts = XIA__FcFontSetCreate(tls)
  5435. if !(fonts != 0) {
  5436. ret = m_FcFalse
  5437. goto bail
  5438. }
  5439. XFcConfigSetFonts(tls, config, fonts, int32(_FcSetSystem))
  5440. if !(_FcConfigAddDirList(tls, config, int32(_FcSetSystem), (*TFcConfig)(unsafe.Pointer(config)).FfontDirs) != 0) {
  5441. ret = m_FcFalse
  5442. goto bail
  5443. }
  5444. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5445. XIA__FcFontSetPrint(tls, fonts)
  5446. }
  5447. goto bail
  5448. bail:
  5449. ;
  5450. XIA__FcConfigDestroy(tls, config)
  5451. return ret
  5452. }
  5453. var XFcConfigBuildFonts = XIA__FcConfigBuildFonts
  5454. func XIA__FcConfigSetCurrent(tls *libc.TLS, config uintptr) (r TFcBool) {
  5455. var cfg, p2 uintptr
  5456. var v3 int32
  5457. _, _, _ = cfg, v3, p2
  5458. if config != 0 {
  5459. if !(*(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4)) != 0) {
  5460. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  5461. return m_FcFalse
  5462. }
  5463. }
  5464. p2 = config + 76
  5465. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  5466. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  5467. goto _1
  5468. _1:
  5469. }
  5470. _lock_config(tls)
  5471. goto retry
  5472. retry:
  5473. ;
  5474. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  5475. if config == cfg {
  5476. _unlock_config(tls)
  5477. if config != 0 {
  5478. XIA__FcConfigDestroy(tls, config)
  5479. }
  5480. return int32(m_FcTrue)
  5481. }
  5482. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  5483. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  5484. v3 = libc.Int32FromInt32(m_FcTrue)
  5485. } else {
  5486. v3 = m_FcFalse
  5487. }
  5488. if !(v3 != 0) {
  5489. goto retry
  5490. }
  5491. _unlock_config(tls)
  5492. if cfg != 0 {
  5493. XIA__FcConfigDestroy(tls, cfg)
  5494. }
  5495. return int32(m_FcTrue)
  5496. }
  5497. var XFcConfigSetCurrent = XIA__FcConfigSetCurrent
  5498. func XIA__FcConfigGetCurrent(tls *libc.TLS) (r uintptr) {
  5499. return _FcConfigEnsure(tls)
  5500. }
  5501. var XFcConfigGetCurrent = XIA__FcConfigGetCurrent
  5502. func XFcConfigAddConfigDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5503. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs, d)
  5504. }
  5505. func XIA__FcConfigGetConfigDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5506. var ret uintptr
  5507. _ = ret
  5508. config = XIA__FcConfigReference(tls, config)
  5509. if !(config != 0) {
  5510. return libc.UintptrFromInt32(0)
  5511. }
  5512. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5513. XIA__FcConfigDestroy(tls, config)
  5514. return ret
  5515. }
  5516. var XFcConfigGetConfigDirs = XIA__FcConfigGetConfigDirs
  5517. func XFcConfigAddFontDir(tls *libc.TLS, config uintptr, d uintptr, m uintptr, salt uintptr) (r TFcBool) {
  5518. bp := tls.Alloc(48)
  5519. defer tls.Free(48)
  5520. var v1, v2, v3, v4, v5, v6 uintptr
  5521. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  5522. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5523. if m != 0 {
  5524. if salt != 0 {
  5525. v1 = __ccgo_ts + 1073
  5526. } else {
  5527. v1 = __ccgo_ts + 112
  5528. }
  5529. if salt != 0 {
  5530. v2 = salt
  5531. } else {
  5532. v2 = __ccgo_ts + 112
  5533. }
  5534. if salt != 0 {
  5535. v3 = __ccgo_ts + 113
  5536. } else {
  5537. v3 = __ccgo_ts + 112
  5538. }
  5539. libc.Xprintf(tls, __ccgo_ts+1082, libc.VaList(bp+8, d, m, v1, v2, v3))
  5540. } else {
  5541. if salt != 0 {
  5542. if salt != 0 {
  5543. v4 = __ccgo_ts + 1073
  5544. } else {
  5545. v4 = __ccgo_ts + 112
  5546. }
  5547. if salt != 0 {
  5548. v5 = salt
  5549. } else {
  5550. v5 = __ccgo_ts + 112
  5551. }
  5552. if salt != 0 {
  5553. v6 = __ccgo_ts + 113
  5554. } else {
  5555. v6 = __ccgo_ts + 112
  5556. }
  5557. libc.Xprintf(tls, __ccgo_ts+1098, libc.VaList(bp+8, d, v4, v5, v6))
  5558. }
  5559. }
  5560. }
  5561. return XFcStrSetAddFilenamePairWithSalt(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs, d, m, salt)
  5562. }
  5563. func XFcConfigResetFontDirs(tls *libc.TLS, config uintptr) (r TFcBool) {
  5564. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5565. libc.Xprintf(tls, __ccgo_ts+1108, 0)
  5566. }
  5567. return XFcStrSetDeleteAll(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5568. }
  5569. func XIA__FcConfigGetFontDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5570. var ret uintptr
  5571. _ = ret
  5572. config = XIA__FcConfigReference(tls, config)
  5573. if !(config != 0) {
  5574. return libc.UintptrFromInt32(0)
  5575. }
  5576. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5577. XIA__FcConfigDestroy(tls, config)
  5578. return ret
  5579. }
  5580. var XFcConfigGetFontDirs = XIA__FcConfigGetFontDirs
  5581. func _FcConfigPathStartsWith(tls *libc.TLS, path uintptr, start uintptr) (r TFcBool) {
  5582. var len1 int32
  5583. _ = len1
  5584. len1 = libc.Int32FromUint32(libc.Xstrlen(tls, start))
  5585. if libc.Xstrncmp(tls, path, start, libc.Uint32FromInt32(len1)) != 0 {
  5586. return m_FcFalse
  5587. }
  5588. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(len1)))) {
  5589. case int32('\000'):
  5590. fallthrough
  5591. case int32('/'):
  5592. return int32(m_FcTrue)
  5593. default:
  5594. return m_FcFalse
  5595. }
  5596. return r
  5597. }
  5598. func XFcConfigMapFontPath(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  5599. bp := tls.Alloc(32)
  5600. defer tls.Free(32)
  5601. var dir, list, map1, retval, rpath, v1 uintptr
  5602. var len1 Tsize_t
  5603. _, _, _, _, _, _, _ = dir, len1, list, map1, retval, rpath, v1
  5604. list = XIA__FcConfigGetFontDirs(tls, config)
  5605. if !(list != 0) {
  5606. return uintptr(0)
  5607. }
  5608. for {
  5609. v1 = XIA__FcStrListNext(tls, list)
  5610. dir = v1
  5611. if !(v1 != 0) {
  5612. break
  5613. }
  5614. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  5615. break
  5616. }
  5617. }
  5618. XIA__FcStrListDone(tls, list)
  5619. if !(dir != 0) {
  5620. return uintptr(0)
  5621. }
  5622. map1 = XFcStrTripleSecond(tls, dir)
  5623. if !(map1 != 0) {
  5624. return uintptr(0)
  5625. }
  5626. rpath = path + uintptr(libc.Xstrlen(tls, dir))
  5627. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(rpath))) == int32('/') {
  5628. rpath++
  5629. }
  5630. retval = XIA__FcStrBuildFilename(tls, map1, libc.VaList(bp+8, rpath, libc.UintptrFromInt32(0)))
  5631. if retval != 0 {
  5632. len1 = libc.Xstrlen(tls, retval)
  5633. for len1 > uint32(0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1-uint32(1))))) == int32('/') {
  5634. len1--
  5635. }
  5636. /* trim the last slash */
  5637. *(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1))) = uint8(0)
  5638. }
  5639. return retval
  5640. }
  5641. func XFcConfigMapSalt(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  5642. var dir, list, v1 uintptr
  5643. _, _, _ = dir, list, v1
  5644. list = XIA__FcConfigGetFontDirs(tls, config)
  5645. if !(list != 0) {
  5646. return libc.UintptrFromInt32(0)
  5647. }
  5648. for {
  5649. v1 = XIA__FcStrListNext(tls, list)
  5650. dir = v1
  5651. if !(v1 != 0) {
  5652. break
  5653. }
  5654. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  5655. break
  5656. }
  5657. }
  5658. XIA__FcStrListDone(tls, list)
  5659. if !(dir != 0) {
  5660. return libc.UintptrFromInt32(0)
  5661. }
  5662. return XFcStrTripleThird(tls, dir)
  5663. }
  5664. func XFcConfigAddCacheDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5665. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs, d)
  5666. }
  5667. func XIA__FcConfigGetCacheDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5668. var ret uintptr
  5669. _ = ret
  5670. config = XIA__FcConfigReference(tls, config)
  5671. if !(config != 0) {
  5672. return libc.UintptrFromInt32(0)
  5673. }
  5674. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5675. XIA__FcConfigDestroy(tls, config)
  5676. return ret
  5677. }
  5678. var XFcConfigGetCacheDirs = XIA__FcConfigGetCacheDirs
  5679. func XFcConfigAddConfigFile(tls *libc.TLS, config uintptr, f uintptr) (r TFcBool) {
  5680. var file uintptr
  5681. var ret TFcBool
  5682. _, _ = file, ret
  5683. file = XIA__FcConfigGetFilename(tls, config, f)
  5684. if !(file != 0) {
  5685. return m_FcFalse
  5686. }
  5687. ret = XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, file)
  5688. XIA__FcStrFree(tls, file)
  5689. return ret
  5690. }
  5691. func XIA__FcConfigGetConfigFiles(tls *libc.TLS, config uintptr) (r uintptr) {
  5692. var ret uintptr
  5693. _ = ret
  5694. config = XIA__FcConfigReference(tls, config)
  5695. if !(config != 0) {
  5696. return libc.UintptrFromInt32(0)
  5697. }
  5698. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5699. XIA__FcConfigDestroy(tls, config)
  5700. return ret
  5701. }
  5702. var XFcConfigGetConfigFiles = XIA__FcConfigGetConfigFiles
  5703. func XIA__FcConfigGetCache(tls *libc.TLS, config uintptr) (r uintptr) {
  5704. return libc.UintptrFromInt32(0)
  5705. }
  5706. var XFcConfigGetCache = XIA__FcConfigGetCache
  5707. func XIA__FcConfigGetFonts(tls *libc.TLS, config uintptr, set TFcSetName) (r uintptr) {
  5708. if !(config != 0) {
  5709. config = XIA__FcConfigGetCurrent(tls)
  5710. if !(config != 0) {
  5711. return uintptr(0)
  5712. }
  5713. }
  5714. return *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4))
  5715. }
  5716. var XFcConfigGetFonts = XIA__FcConfigGetFonts
  5717. func XFcConfigSetFonts(tls *libc.TLS, config uintptr, fonts uintptr, set TFcSetName) {
  5718. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)) != 0 {
  5719. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)))
  5720. }
  5721. *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)) = fonts
  5722. }
  5723. func XIA__FcBlanksCreate(tls *libc.TLS) (r uintptr) {
  5724. /* Deprecated. */
  5725. return libc.UintptrFromInt32(0)
  5726. }
  5727. var XFcBlanksCreate = XIA__FcBlanksCreate
  5728. func XIA__FcBlanksDestroy(tls *libc.TLS, b uintptr) {
  5729. /* Deprecated. */
  5730. }
  5731. var XFcBlanksDestroy = XIA__FcBlanksDestroy
  5732. func XIA__FcBlanksAdd(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5733. /* Deprecated. */
  5734. return m_FcFalse
  5735. }
  5736. var XFcBlanksAdd = XIA__FcBlanksAdd
  5737. func XIA__FcBlanksIsMember(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5738. /* Deprecated. */
  5739. return m_FcFalse
  5740. }
  5741. var XFcBlanksIsMember = XIA__FcBlanksIsMember
  5742. func XIA__FcConfigGetBlanks(tls *libc.TLS, config uintptr) (r uintptr) {
  5743. /* Deprecated. */
  5744. return libc.UintptrFromInt32(0)
  5745. }
  5746. var XFcConfigGetBlanks = XIA__FcConfigGetBlanks
  5747. func XFcConfigAddBlank(tls *libc.TLS, config uintptr, blank TFcChar32) (r TFcBool) {
  5748. /* Deprecated. */
  5749. return m_FcFalse
  5750. }
  5751. func XIA__FcConfigGetRescanInterval(tls *libc.TLS, config uintptr) (r int32) {
  5752. var ret int32
  5753. _ = ret
  5754. config = XIA__FcConfigReference(tls, config)
  5755. if !(config != 0) {
  5756. return 0
  5757. }
  5758. ret = (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval
  5759. XIA__FcConfigDestroy(tls, config)
  5760. return ret
  5761. }
  5762. var XFcConfigGetRescanInterval = XIA__FcConfigGetRescanInterval
  5763. func XIA__FcConfigSetRescanInterval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5764. config = XIA__FcConfigReference(tls, config)
  5765. if !(config != 0) {
  5766. return m_FcFalse
  5767. }
  5768. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = rescanInterval
  5769. XIA__FcConfigDestroy(tls, config)
  5770. return int32(m_FcTrue)
  5771. }
  5772. var XFcConfigSetRescanInterval = XIA__FcConfigSetRescanInterval
  5773. // C documentation
  5774. //
  5775. // /*
  5776. // * A couple of typos escaped into the library
  5777. // */
  5778. func XIA__FcConfigGetRescanInverval(tls *libc.TLS, config uintptr) (r int32) {
  5779. return XIA__FcConfigGetRescanInterval(tls, config)
  5780. }
  5781. var XFcConfigGetRescanInverval = XIA__FcConfigGetRescanInverval
  5782. func XIA__FcConfigSetRescanInverval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5783. return XIA__FcConfigSetRescanInterval(tls, config, rescanInterval)
  5784. }
  5785. var XFcConfigSetRescanInverval = XIA__FcConfigSetRescanInverval
  5786. func XFcConfigAddRule(tls *libc.TLS, config uintptr, rule uintptr, kind TFcMatchKind) (r TFcBool) {
  5787. /* deprecated */
  5788. return m_FcFalse
  5789. }
  5790. func _FcConfigPromote(tls *libc.TLS, _v TFcValue, u TFcValue, buf uintptr) (r TFcValue) {
  5791. bp := tls.Alloc(16)
  5792. defer tls.Free(16)
  5793. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  5794. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  5795. case int32(_FcTypeInteger):
  5796. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5797. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  5798. /* Fallthrough */
  5799. fallthrough
  5800. case int32(_FcTypeDouble):
  5801. if u.Ftype1 == int32(_FcTypeRange) && buf != 0 {
  5802. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangePromote(tls, *(*float64)(unsafe.Pointer(bp + 8)), buf)
  5803. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  5804. }
  5805. case int32(_FcTypeVoid):
  5806. if u.Ftype1 == int32(_FcTypeMatrix) {
  5807. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(unsafe.Pointer(&XFcIdentityMatrix))
  5808. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5809. } else {
  5810. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  5811. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, libc.UintptrFromInt32(0), buf)
  5812. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5813. } else {
  5814. if u.Ftype1 == int32(_FcTypeCharSet) && buf != 0 {
  5815. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetPromote(tls, buf)
  5816. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5817. }
  5818. }
  5819. }
  5820. case int32(_FcTypeString):
  5821. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  5822. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), buf)
  5823. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5824. }
  5825. default:
  5826. break
  5827. }
  5828. return *(*TFcValue)(unsafe.Pointer(bp))
  5829. }
  5830. func XFcConfigCompareValue(tls *libc.TLS, left_o uintptr, op_ uint32, right_o uintptr) (r7 TFcBool) {
  5831. bp := tls.Alloc(544)
  5832. defer tls.Free(544)
  5833. var flags, l, r int32
  5834. var l1, r1 float64
  5835. var l2, r2, ret TFcBool
  5836. var l3, l4, l5, l6, r3, r4, r5, r6, v1, v2, v3, v4, v5, v6, v7, v8 uintptr
  5837. var op TFcOp
  5838. var _ /* buf1 at bp+32 */ TFcValuePromotionBuffer
  5839. var _ /* buf2 at bp+288 */ TFcValuePromotionBuffer
  5840. var _ /* left at bp+0 */ TFcValue
  5841. var _ /* right at bp+16 */ TFcValue
  5842. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = flags, l, l1, l2, l3, l4, l5, l6, op, r, r1, r2, r3, r4, r5, r6, ret, v1, v2, v3, v4, v5, v6, v7, v8
  5843. ret = m_FcFalse
  5844. op = libc.Int32FromUint32(op_ & libc.Uint32FromInt32(0xffff))
  5845. flags = libc.Int32FromUint32(op_ & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  5846. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  5847. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, left_o)
  5848. *(*TFcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, right_o)
  5849. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp)), *(*TFcValue)(unsafe.Pointer(bp + 16)), bp+32)
  5850. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp)), bp+288)
  5851. left_o = bp
  5852. right_o = bp + 16
  5853. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  5854. if op == int32(_FcOpNotEqual) || op == int32(_FcOpNotContains) {
  5855. ret = int32(m_FcTrue)
  5856. }
  5857. return ret
  5858. }
  5859. }
  5860. switch (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 {
  5861. case int32(_FcTypeUnknown):
  5862. case int32(_FcTypeInteger):
  5863. l = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5864. r = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5865. switch op {
  5866. case int32(_FcOpEqual):
  5867. fallthrough
  5868. case int32(_FcOpContains):
  5869. fallthrough
  5870. case int32(_FcOpListing):
  5871. ret = libc.BoolInt32(l == r)
  5872. case int32(_FcOpNotEqual):
  5873. fallthrough
  5874. case int32(_FcOpNotContains):
  5875. ret = libc.BoolInt32(l != r)
  5876. case int32(_FcOpLess):
  5877. ret = libc.BoolInt32(l < r)
  5878. case int32(_FcOpLessEqual):
  5879. ret = libc.BoolInt32(l <= r)
  5880. case int32(_FcOpMore):
  5881. ret = libc.BoolInt32(l > r)
  5882. case int32(_FcOpMoreEqual):
  5883. ret = libc.BoolInt32(l >= r)
  5884. default:
  5885. break
  5886. }
  5887. case int32(_FcTypeDouble):
  5888. l1 = *(*float64)(unsafe.Pointer(left_o + 8))
  5889. r1 = *(*float64)(unsafe.Pointer(right_o + 8))
  5890. switch op {
  5891. case int32(_FcOpEqual):
  5892. fallthrough
  5893. case int32(_FcOpContains):
  5894. fallthrough
  5895. case int32(_FcOpListing):
  5896. ret = libc.BoolInt32(l1 == r1)
  5897. case int32(_FcOpNotEqual):
  5898. fallthrough
  5899. case int32(_FcOpNotContains):
  5900. ret = libc.BoolInt32(l1 != r1)
  5901. case int32(_FcOpLess):
  5902. ret = libc.BoolInt32(l1 < r1)
  5903. case int32(_FcOpLessEqual):
  5904. ret = libc.BoolInt32(l1 <= r1)
  5905. case int32(_FcOpMore):
  5906. ret = libc.BoolInt32(l1 > r1)
  5907. case int32(_FcOpMoreEqual):
  5908. ret = libc.BoolInt32(l1 >= r1)
  5909. default:
  5910. break
  5911. }
  5912. case int32(_FcTypeBool):
  5913. l2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5914. r2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5915. switch op {
  5916. case int32(_FcOpEqual):
  5917. ret = libc.BoolInt32(l2 == r2)
  5918. case int32(_FcOpContains):
  5919. fallthrough
  5920. case int32(_FcOpListing):
  5921. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  5922. case int32(_FcOpNotEqual):
  5923. ret = libc.BoolInt32(l2 != r2)
  5924. case int32(_FcOpNotContains):
  5925. ret = libc.BoolInt32(!(l2 == r2 || l2 >= int32(m_FcDontCare)))
  5926. case int32(_FcOpLess):
  5927. ret = libc.BoolInt32(l2 != r2 && r2 >= int32(m_FcDontCare))
  5928. case int32(_FcOpLessEqual):
  5929. ret = libc.BoolInt32(l2 == r2 || r2 >= int32(m_FcDontCare))
  5930. case int32(_FcOpMore):
  5931. ret = libc.BoolInt32(l2 != r2 && l2 >= int32(m_FcDontCare))
  5932. case int32(_FcOpMoreEqual):
  5933. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  5934. default:
  5935. break
  5936. }
  5937. case int32(_FcTypeString):
  5938. if int32((*TFcValue)(unsafe.Pointer(left_o)).Fu.Fs)&int32(1) != 0 {
  5939. v1 = uintptr(int32(left_o) + int32((*TFcValue)(unsafe.Pointer(left_o)).Fu.Fs) & ^libc.Int32FromInt32(1))
  5940. } else {
  5941. v1 = (*TFcValue)(unsafe.Pointer(left_o)).Fu.Fs
  5942. }
  5943. l3 = v1
  5944. if int32((*TFcValue)(unsafe.Pointer(right_o)).Fu.Fs)&int32(1) != 0 {
  5945. v2 = uintptr(int32(right_o) + int32((*TFcValue)(unsafe.Pointer(right_o)).Fu.Fs) & ^libc.Int32FromInt32(1))
  5946. } else {
  5947. v2 = (*TFcValue)(unsafe.Pointer(right_o)).Fu.Fs
  5948. }
  5949. r3 = v2
  5950. switch op {
  5951. case int32(_FcOpEqual):
  5952. fallthrough
  5953. case int32(_FcOpListing):
  5954. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5955. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) == 0)
  5956. } else {
  5957. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, l3, r3) == 0)
  5958. }
  5959. case int32(_FcOpContains):
  5960. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, l3, r3) != uintptr(0))
  5961. case int32(_FcOpNotEqual):
  5962. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5963. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) != 0)
  5964. } else {
  5965. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, l3, r3) != 0)
  5966. }
  5967. case int32(_FcOpNotContains):
  5968. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, l3, r3) == uintptr(0))
  5969. default:
  5970. break
  5971. }
  5972. case int32(_FcTypeMatrix):
  5973. switch op {
  5974. case int32(_FcOpEqual):
  5975. fallthrough
  5976. case int32(_FcOpContains):
  5977. fallthrough
  5978. case int32(_FcOpListing):
  5979. ret = XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)), *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))
  5980. case int32(_FcOpNotEqual):
  5981. fallthrough
  5982. case int32(_FcOpNotContains):
  5983. ret = libc.BoolInt32(!(XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)), *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))) != 0))
  5984. default:
  5985. break
  5986. }
  5987. case int32(_FcTypeCharSet):
  5988. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)))&int32(1) != 0 {
  5989. v3 = uintptr(int32(left_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))) & ^libc.Int32FromInt32(1))
  5990. } else {
  5991. v3 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5992. }
  5993. l4 = v3
  5994. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))&int32(1) != 0 {
  5995. v4 = uintptr(int32(right_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))) & ^libc.Int32FromInt32(1))
  5996. } else {
  5997. v4 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5998. }
  5999. r4 = v4
  6000. switch op {
  6001. case int32(_FcOpContains):
  6002. fallthrough
  6003. case int32(_FcOpListing):
  6004. /* left contains right if right is a subset of left */
  6005. ret = XIA__FcCharSetIsSubset(tls, r4, l4)
  6006. case int32(_FcOpNotContains):
  6007. /* left contains right if right is a subset of left */
  6008. ret = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, r4, l4) != 0))
  6009. case int32(_FcOpEqual):
  6010. ret = XIA__FcCharSetEqual(tls, l4, r4)
  6011. case int32(_FcOpNotEqual):
  6012. ret = libc.BoolInt32(!(XIA__FcCharSetEqual(tls, l4, r4) != 0))
  6013. default:
  6014. break
  6015. }
  6016. case int32(_FcTypeLangSet):
  6017. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)))&int32(1) != 0 {
  6018. v5 = uintptr(int32(left_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))) & ^libc.Int32FromInt32(1))
  6019. } else {
  6020. v5 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  6021. }
  6022. l5 = v5
  6023. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))&int32(1) != 0 {
  6024. v6 = uintptr(int32(right_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))) & ^libc.Int32FromInt32(1))
  6025. } else {
  6026. v6 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  6027. }
  6028. r5 = v6
  6029. switch op {
  6030. case int32(_FcOpContains):
  6031. fallthrough
  6032. case int32(_FcOpListing):
  6033. ret = XIA__FcLangSetContains(tls, l5, r5)
  6034. case int32(_FcOpNotContains):
  6035. ret = libc.BoolInt32(!(XIA__FcLangSetContains(tls, l5, r5) != 0))
  6036. case int32(_FcOpEqual):
  6037. ret = XIA__FcLangSetEqual(tls, l5, r5)
  6038. case int32(_FcOpNotEqual):
  6039. ret = libc.BoolInt32(!(XIA__FcLangSetEqual(tls, l5, r5) != 0))
  6040. default:
  6041. break
  6042. }
  6043. case int32(_FcTypeVoid):
  6044. switch op {
  6045. case int32(_FcOpEqual):
  6046. fallthrough
  6047. case int32(_FcOpContains):
  6048. fallthrough
  6049. case int32(_FcOpListing):
  6050. ret = int32(m_FcTrue)
  6051. default:
  6052. break
  6053. }
  6054. case int32(_FcTypeFTFace):
  6055. switch op {
  6056. case int32(_FcOpEqual):
  6057. fallthrough
  6058. case int32(_FcOpContains):
  6059. fallthrough
  6060. case int32(_FcOpListing):
  6061. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)) == *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))
  6062. case int32(_FcOpNotEqual):
  6063. fallthrough
  6064. case int32(_FcOpNotContains):
  6065. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)) != *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))
  6066. default:
  6067. break
  6068. }
  6069. case int32(_FcTypeRange):
  6070. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)))&int32(1) != 0 {
  6071. v7 = uintptr(int32(left_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))) & ^libc.Int32FromInt32(1))
  6072. } else {
  6073. v7 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  6074. }
  6075. l6 = v7
  6076. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))&int32(1) != 0 {
  6077. v8 = uintptr(int32(right_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))) & ^libc.Int32FromInt32(1))
  6078. } else {
  6079. v8 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  6080. }
  6081. r6 = v8
  6082. ret = XFcRangeCompare(tls, op, l6, r6)
  6083. break
  6084. }
  6085. return ret
  6086. }
  6087. func _FcConfigEvaluate(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr) (r TFcValue) {
  6088. bp := tls.Alloc(688)
  6089. defer tls.Free(688)
  6090. var m, str uintptr
  6091. var op TFcOp
  6092. var v1, v2, v3, v4, v5, v6, v7 int32
  6093. var _ /* buf1 at bp+80 */ TFcValuePromotionBuffer
  6094. var _ /* buf2 at bp+336 */ TFcValuePromotionBuffer
  6095. var _ /* m at bp+592 */ TFcMatrix
  6096. var _ /* v at bp+0 */ TFcValue
  6097. var _ /* vl at bp+16 */ TFcValue
  6098. var _ /* vle at bp+48 */ TFcValue
  6099. var _ /* vr at bp+32 */ TFcValue
  6100. var _ /* vre at bp+64 */ TFcValue
  6101. var _ /* xx at bp+624 */ TFcValue
  6102. var _ /* xy at bp+640 */ TFcValue
  6103. var _ /* yx at bp+656 */ TFcValue
  6104. var _ /* yy at bp+672 */ TFcValue
  6105. _, _, _, _, _, _, _, _, _, _ = m, op, str, v1, v2, v3, v4, v5, v6, v7
  6106. op = (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff)
  6107. switch op {
  6108. case int32(_FcOpInteger):
  6109. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6110. *(*int32)(unsafe.Pointer(bp + 8)) = (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival
  6111. case int32(_FcOpDouble):
  6112. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6113. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(e + 8))
  6114. case int32(_FcOpString):
  6115. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  6116. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6117. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6118. case int32(_FcOpMatrix):
  6119. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  6120. *(*TFcValue)(unsafe.Pointer(bp + 624)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  6121. *(*TFcValue)(unsafe.Pointer(bp + 640)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  6122. *(*TFcValue)(unsafe.Pointer(bp + 656)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  6123. *(*TFcValue)(unsafe.Pointer(bp + 672)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  6124. if (*(*TFcValue)(unsafe.Pointer(bp + 624))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 640))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 656))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 672))).Ftype1 == int32(_FcTypeDouble) {
  6125. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxx = *(*float64)(unsafe.Pointer(bp + 624 + 8))
  6126. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxy = *(*float64)(unsafe.Pointer(bp + 640 + 8))
  6127. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyx = *(*float64)(unsafe.Pointer(bp + 656 + 8))
  6128. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyy = *(*float64)(unsafe.Pointer(bp + 672 + 8))
  6129. *(*uintptr)(unsafe.Pointer(bp + 8)) = bp + 592
  6130. } else {
  6131. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6132. }
  6133. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6134. case int32(_FcOpCharSet):
  6135. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6136. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6137. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6138. case int32(_FcOpLangSet):
  6139. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6140. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6141. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6142. case int32(_FcOpRange):
  6143. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  6144. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6145. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6146. case int32(_FcOpBool):
  6147. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6148. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6149. case int32(_FcOpField):
  6150. if kind == int32(_FcMatchFont) && (*(*TFcExprName)(unsafe.Pointer(e + 8))).Fkind == int32(_FcMatchPattern) {
  6151. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p_pat, (*(*TFcExprName)(unsafe.Pointer(e + 8))).Fobject, 0, bp) {
  6152. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6153. }
  6154. } else {
  6155. if kind == int32(_FcMatchPattern) && (*(*TFcExprName)(unsafe.Pointer(e + 8))).Fkind == int32(_FcMatchFont) {
  6156. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1133, 0)
  6157. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6158. } else {
  6159. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p, (*(*TFcExprName)(unsafe.Pointer(e + 8))).Fobject, 0, bp) {
  6160. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6161. }
  6162. }
  6163. }
  6164. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6165. case int32(_FcOpConst):
  6166. if XIA__FcNameConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)), bp+8) != 0 {
  6167. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6168. } else {
  6169. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6170. }
  6171. case int32(_FcOpQuest):
  6172. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6173. Fleft uintptr
  6174. Fright uintptr
  6175. })(unsafe.Pointer(e + 8))).Fleft)
  6176. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeBool) {
  6177. if *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0 {
  6178. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6179. Fleft uintptr
  6180. Fright uintptr
  6181. })(unsafe.Pointer((*(*struct {
  6182. Fleft uintptr
  6183. Fright uintptr
  6184. })(unsafe.Pointer(e + 8))).Fright + 8))).Fleft)
  6185. } else {
  6186. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6187. Fleft uintptr
  6188. Fright uintptr
  6189. })(unsafe.Pointer((*(*struct {
  6190. Fleft uintptr
  6191. Fright uintptr
  6192. })(unsafe.Pointer(e + 8))).Fright + 8))).Fright)
  6193. }
  6194. } else {
  6195. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6196. }
  6197. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6198. case int32(_FcOpEqual):
  6199. fallthrough
  6200. case int32(_FcOpNotEqual):
  6201. fallthrough
  6202. case int32(_FcOpLess):
  6203. fallthrough
  6204. case int32(_FcOpLessEqual):
  6205. fallthrough
  6206. case int32(_FcOpMore):
  6207. fallthrough
  6208. case int32(_FcOpMoreEqual):
  6209. fallthrough
  6210. case int32(_FcOpContains):
  6211. fallthrough
  6212. case int32(_FcOpNotContains):
  6213. fallthrough
  6214. case int32(_FcOpListing):
  6215. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6216. Fleft uintptr
  6217. Fright uintptr
  6218. })(unsafe.Pointer(e + 8))).Fleft)
  6219. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6220. Fleft uintptr
  6221. Fright uintptr
  6222. })(unsafe.Pointer(e + 8))).Fright)
  6223. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6224. *(*TFcBool)(unsafe.Pointer(bp + 8)) = XFcConfigCompareValue(tls, bp+16, libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(e)).Fop), bp+32)
  6225. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6226. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  6227. case int32(_FcOpOr):
  6228. fallthrough
  6229. case int32(_FcOpAnd):
  6230. fallthrough
  6231. case int32(_FcOpPlus):
  6232. fallthrough
  6233. case int32(_FcOpMinus):
  6234. fallthrough
  6235. case int32(_FcOpTimes):
  6236. fallthrough
  6237. case int32(_FcOpDivide):
  6238. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6239. Fleft uintptr
  6240. Fright uintptr
  6241. })(unsafe.Pointer(e + 8))).Fleft)
  6242. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6243. Fleft uintptr
  6244. Fright uintptr
  6245. })(unsafe.Pointer(e + 8))).Fright)
  6246. *(*TFcValue)(unsafe.Pointer(bp + 48)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp + 32)), bp+80)
  6247. *(*TFcValue)(unsafe.Pointer(bp + 64)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)), *(*TFcValue)(unsafe.Pointer(bp + 48)), bp+336)
  6248. if (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 {
  6249. switch (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 {
  6250. case int32(_FcTypeDouble):
  6251. switch op {
  6252. case int32(_FcOpPlus):
  6253. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6254. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) + *(*float64)(unsafe.Pointer(bp + 64 + 8))
  6255. case int32(_FcOpMinus):
  6256. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6257. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) - *(*float64)(unsafe.Pointer(bp + 64 + 8))
  6258. case int32(_FcOpTimes):
  6259. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6260. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) * *(*float64)(unsafe.Pointer(bp + 64 + 8))
  6261. case int32(_FcOpDivide):
  6262. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6263. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) / *(*float64)(unsafe.Pointer(bp + 64 + 8))
  6264. default:
  6265. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6266. break
  6267. }
  6268. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && *(*float64)(unsafe.Pointer(bp + 8)) == float64(int32(*(*float64)(unsafe.Pointer(bp + 8)))) {
  6269. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6270. *(*int32)(unsafe.Pointer(bp + 8)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  6271. }
  6272. case int32(_FcTypeBool):
  6273. switch op {
  6274. case int32(_FcOpOr):
  6275. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6276. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 || *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  6277. case int32(_FcOpAnd):
  6278. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6279. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 && *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  6280. default:
  6281. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6282. break
  6283. }
  6284. case int32(_FcTypeString):
  6285. switch op {
  6286. case int32(_FcOpPlus):
  6287. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  6288. str = XIA__FcStrPlus(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6289. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, str)
  6290. XIA__FcStrFree(tls, str)
  6291. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6292. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6293. }
  6294. default:
  6295. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6296. break
  6297. }
  6298. case int32(_FcTypeMatrix):
  6299. switch op {
  6300. case int32(_FcOpTimes):
  6301. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  6302. m = libc.Xmalloc(tls, uint32(32))
  6303. if m != 0 {
  6304. XIA__FcMatrixMultiply(tls, m, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6305. *(*uintptr)(unsafe.Pointer(bp + 8)) = m
  6306. } else {
  6307. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6308. }
  6309. default:
  6310. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6311. break
  6312. }
  6313. case int32(_FcTypeCharSet):
  6314. switch op {
  6315. case int32(_FcOpPlus):
  6316. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6317. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6318. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6319. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6320. }
  6321. case int32(_FcOpMinus):
  6322. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6323. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6324. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6325. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6326. }
  6327. default:
  6328. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6329. break
  6330. }
  6331. case int32(_FcTypeLangSet):
  6332. switch op {
  6333. case int32(_FcOpPlus):
  6334. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6335. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6336. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6337. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6338. }
  6339. case int32(_FcOpMinus):
  6340. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6341. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6342. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6343. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6344. }
  6345. default:
  6346. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6347. break
  6348. }
  6349. default:
  6350. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6351. break
  6352. }
  6353. } else {
  6354. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6355. }
  6356. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6357. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  6358. case int32(_FcOpNot):
  6359. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6360. Fleft uintptr
  6361. Fright uintptr
  6362. })(unsafe.Pointer(e + 8))).Fleft)
  6363. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6364. case int32(_FcTypeBool):
  6365. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6366. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0))
  6367. default:
  6368. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6369. break
  6370. }
  6371. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6372. case int32(_FcOpFloor):
  6373. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6374. Fleft uintptr
  6375. Fright uintptr
  6376. })(unsafe.Pointer(e + 8))).Fleft)
  6377. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6378. case int32(_FcTypeInteger):
  6379. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  6380. case int32(_FcTypeDouble):
  6381. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6382. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  6383. v1 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6384. } else {
  6385. if float64(int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == -*(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  6386. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6387. } else {
  6388. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  6389. }
  6390. v1 = -v2
  6391. }
  6392. *(*int32)(unsafe.Pointer(bp + 8)) = v1
  6393. default:
  6394. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6395. break
  6396. }
  6397. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6398. case int32(_FcOpCeil):
  6399. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6400. Fleft uintptr
  6401. Fright uintptr
  6402. })(unsafe.Pointer(e + 8))).Fleft)
  6403. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6404. case int32(_FcTypeInteger):
  6405. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  6406. case int32(_FcTypeDouble):
  6407. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6408. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  6409. if float64(int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == *(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  6410. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6411. } else {
  6412. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  6413. }
  6414. v3 = v4
  6415. } else {
  6416. v3 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6417. }
  6418. *(*int32)(unsafe.Pointer(bp + 8)) = v3
  6419. default:
  6420. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6421. break
  6422. }
  6423. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6424. case int32(_FcOpRound):
  6425. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6426. Fleft uintptr
  6427. Fright uintptr
  6428. })(unsafe.Pointer(e + 8))).Fleft)
  6429. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6430. case int32(_FcTypeInteger):
  6431. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  6432. case int32(_FcTypeDouble):
  6433. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6434. if *(*float64)(unsafe.Pointer(bp + 16 + 8))+float64(0.5) >= libc.Float64FromInt32(0) {
  6435. v5 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5))
  6436. } else {
  6437. if float64(int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))) == -(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) {
  6438. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))
  6439. } else {
  6440. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) + libc.Float64FromInt32(1))
  6441. }
  6442. v5 = -v6
  6443. }
  6444. *(*int32)(unsafe.Pointer(bp + 8)) = v5
  6445. default:
  6446. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6447. break
  6448. }
  6449. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6450. case int32(_FcOpTrunc):
  6451. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6452. Fleft uintptr
  6453. Fright uintptr
  6454. })(unsafe.Pointer(e + 8))).Fleft)
  6455. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6456. case int32(_FcTypeInteger):
  6457. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  6458. case int32(_FcTypeDouble):
  6459. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6460. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  6461. v7 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6462. } else {
  6463. v7 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6464. }
  6465. *(*int32)(unsafe.Pointer(bp + 8)) = v7
  6466. default:
  6467. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6468. break
  6469. }
  6470. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6471. default:
  6472. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6473. break
  6474. }
  6475. return *(*TFcValue)(unsafe.Pointer(bp))
  6476. }
  6477. // C documentation
  6478. //
  6479. // /* The bulk of the time in FcConfigSubstitute is spent walking
  6480. // * lists of family names. We speed this up with a hash table.
  6481. // * Since we need to take the ignore-blanks option into account,
  6482. // * we use two separate hash tables.
  6483. // */
  6484. type TFamilyTableEntry = struct {
  6485. Fcount int32
  6486. }
  6487. type TFamilyTable = struct {
  6488. Ffamily_blank_hash uintptr
  6489. Ffamily_hash uintptr
  6490. }
  6491. func _FamilyTableLookup(tls *libc.TLS, table uintptr, _op TFcOp, s uintptr) (r TFcBool) {
  6492. bp := tls.Alloc(16)
  6493. defer tls.Free(16)
  6494. var flags int32
  6495. var hash uintptr
  6496. var _ /* fe at bp+0 */ uintptr
  6497. _, _ = flags, hash
  6498. flags = libc.Int32FromUint32(libc.Uint32FromInt32(_op) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  6499. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  6500. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash
  6501. } else {
  6502. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash
  6503. }
  6504. return XFcHashTableFind(tls, hash, s, bp)
  6505. }
  6506. func _FamilyTableAdd(tls *libc.TLS, table uintptr, values TFcValueListPtr) {
  6507. bp := tls.Alloc(16)
  6508. defer tls.Free(16)
  6509. var ll TFcValueListPtr
  6510. var s, v2, v3 uintptr
  6511. var _ /* fe at bp+0 */ uintptr
  6512. _, _, _, _ = ll, s, v2, v3
  6513. ll = values
  6514. for {
  6515. if !(ll != 0) {
  6516. break
  6517. }
  6518. if int32((*TFcValue)(unsafe.Pointer(ll+8)).Fu.Fs)&int32(1) != 0 {
  6519. v2 = uintptr(Tintptr_t(ll+8) + int32((*TFcValue)(unsafe.Pointer(ll+8)).Fu.Fs) & ^libc.Int32FromInt32(1))
  6520. } else {
  6521. v2 = (*TFcValue)(unsafe.Pointer(ll + 8)).Fu.Fs
  6522. }
  6523. s = v2
  6524. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0) {
  6525. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint32(4))
  6526. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  6527. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  6528. }
  6529. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  6530. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0) {
  6531. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint32(4))
  6532. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  6533. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  6534. }
  6535. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  6536. goto _1
  6537. _1:
  6538. ;
  6539. if int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int32(1) != 0 {
  6540. v3 = uintptr(int32(ll) + int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext) & ^libc.Int32FromInt32(1))
  6541. } else {
  6542. v3 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  6543. }
  6544. ll = v3
  6545. }
  6546. }
  6547. func _FamilyTableDel(tls *libc.TLS, table uintptr, s uintptr) {
  6548. bp := tls.Alloc(16)
  6549. defer tls.Free(16)
  6550. var _ /* fe at bp+0 */ uintptr
  6551. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0 {
  6552. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  6553. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  6554. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s)
  6555. }
  6556. }
  6557. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0 {
  6558. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  6559. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  6560. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s)
  6561. }
  6562. }
  6563. }
  6564. func _copy_string(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  6565. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  6566. return int32(m_FcTrue)
  6567. }
  6568. func _FamilyTableInit(tls *libc.TLS, table uintptr, p uintptr) {
  6569. var e, v1 uintptr
  6570. _, _ = e, v1
  6571. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  6572. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreCase), __ccgo_fp(XIA__FcStrCmpIgnoreCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  6573. e = XFcPatternObjectFindElt(tls, p, int32(_FC_FAMILY_OBJECT))
  6574. if e != 0 {
  6575. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  6576. v1 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  6577. } else {
  6578. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  6579. }
  6580. _FamilyTableAdd(tls, table, v1)
  6581. }
  6582. }
  6583. func _FamilyTableClear(tls *libc.TLS, table uintptr) {
  6584. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash != 0 {
  6585. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash)
  6586. }
  6587. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash != 0 {
  6588. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash)
  6589. }
  6590. }
  6591. func _FcConfigMatchValueList(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, t uintptr, values uintptr, table uintptr) (r uintptr) {
  6592. bp := tls.Alloc(16)
  6593. defer tls.Free(16)
  6594. var e, ret, v, v1, v2, v4 uintptr
  6595. var op TFcOp
  6596. var _ /* value at bp+0 */ TFcValue
  6597. _, _, _, _, _, _, _ = e, op, ret, v, v1, v2, v4
  6598. ret = uintptr(0)
  6599. e = (*TFcTest)(unsafe.Pointer(t)).Fexpr
  6600. for e != 0 {
  6601. /* Compute the value of the match expression */
  6602. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  6603. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6604. Fleft uintptr
  6605. Fright uintptr
  6606. })(unsafe.Pointer(e + 8))).Fleft)
  6607. e = (*(*struct {
  6608. Fleft uintptr
  6609. Fright uintptr
  6610. })(unsafe.Pointer(e + 8))).Fright
  6611. } else {
  6612. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  6613. e = uintptr(0)
  6614. }
  6615. if (*TFcTest)(unsafe.Pointer(t)).Fobject == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6616. op = (*TFcTest)(unsafe.Pointer(t)).Fop & libc.Int32FromInt32(0xffff)
  6617. if op == int32(_FcOpEqual) || op == int32(_FcOpListing) {
  6618. if int32((*TFcValue)(unsafe.Pointer(bp)).Fu.Fs)&int32(1) != 0 {
  6619. v1 = uintptr(Tintptr_t(bp) + int32((*TFcValue)(unsafe.Pointer(bp)).Fu.Fs) & ^libc.Int32FromInt32(1))
  6620. } else {
  6621. v1 = (*TFcValue)(unsafe.Pointer(bp)).Fu.Fs
  6622. }
  6623. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v1) != 0) {
  6624. ret = uintptr(0)
  6625. goto done
  6626. }
  6627. }
  6628. if op == int32(_FcOpNotEqual) && (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  6629. ret = uintptr(0)
  6630. if int32((*TFcValue)(unsafe.Pointer(bp)).Fu.Fs)&int32(1) != 0 {
  6631. v2 = uintptr(Tintptr_t(bp) + int32((*TFcValue)(unsafe.Pointer(bp)).Fu.Fs) & ^libc.Int32FromInt32(1))
  6632. } else {
  6633. v2 = (*TFcValue)(unsafe.Pointer(bp)).Fu.Fs
  6634. }
  6635. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v2) != 0) {
  6636. ret = values
  6637. }
  6638. goto done
  6639. }
  6640. }
  6641. v = values
  6642. for {
  6643. if !(v != 0) {
  6644. break
  6645. }
  6646. /* Compare the pattern value to the match expression value */
  6647. if XFcConfigCompareValue(tls, v+8, libc.Uint32FromInt32((*TFcTest)(unsafe.Pointer(t)).Fop), bp) != 0 {
  6648. if !(ret != 0) {
  6649. ret = v
  6650. }
  6651. if (*TFcTest)(unsafe.Pointer(t)).Fqual != int32(_FcQualAll) {
  6652. break
  6653. }
  6654. } else {
  6655. if (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  6656. ret = uintptr(0)
  6657. break
  6658. }
  6659. }
  6660. goto _3
  6661. _3:
  6662. ;
  6663. if int32((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  6664. v4 = uintptr(int32(v) + int32((*TFcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  6665. } else {
  6666. v4 = (*TFcValueList)(unsafe.Pointer(v)).Fnext
  6667. }
  6668. v = v4
  6669. }
  6670. goto done
  6671. done:
  6672. ;
  6673. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6674. }
  6675. return ret
  6676. }
  6677. func _FcConfigValues(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr, binding TFcValueBinding) (r uintptr) {
  6678. var l, next, v1 uintptr
  6679. _, _, _ = l, next, v1
  6680. if !(e != 0) {
  6681. return uintptr(0)
  6682. }
  6683. l = libc.Xmalloc(tls, uint32(32))
  6684. if !(l != 0) {
  6685. return uintptr(0)
  6686. }
  6687. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  6688. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6689. Fleft uintptr
  6690. Fright uintptr
  6691. })(unsafe.Pointer(e + 8))).Fleft)
  6692. (*TFcValueList)(unsafe.Pointer(l)).Fnext = _FcConfigValues(tls, p, p_pat, kind, (*(*struct {
  6693. Fleft uintptr
  6694. Fright uintptr
  6695. })(unsafe.Pointer(e + 8))).Fright, binding)
  6696. } else {
  6697. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  6698. (*TFcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  6699. }
  6700. (*TFcValueList)(unsafe.Pointer(l)).Fbinding = binding
  6701. if (*TFcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  6702. if int32((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  6703. v1 = uintptr(int32(l) + int32((*TFcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  6704. } else {
  6705. v1 = (*TFcValueList)(unsafe.Pointer(l)).Fnext
  6706. }
  6707. next = v1
  6708. libc.Xfree(tls, l)
  6709. l = next
  6710. }
  6711. return l
  6712. }
  6713. func _FcConfigAdd(tls *libc.TLS, head uintptr, position uintptr, append1 TFcBool, new1 uintptr, object TFcObject, table uintptr) (r TFcBool) {
  6714. bp := tls.Alloc(16)
  6715. defer tls.Free(16)
  6716. var l, last, v TFcValueListPtr
  6717. var prev, v2, v4, v7, v8 uintptr
  6718. var sameBinding TFcValueBinding
  6719. _, _, _, _, _, _, _, _, _ = l, last, prev, sameBinding, v, v2, v4, v7, v8
  6720. /*
  6721. * Make sure the stored type is valid for built-in objects
  6722. */
  6723. l = new1
  6724. for {
  6725. if !(l != libc.UintptrFromInt32(0)) {
  6726. break
  6727. }
  6728. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  6729. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1214, libc.VaList(bp+8, XFcObjectName(tls, object)))
  6730. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  6731. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1276, 0)
  6732. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6733. libc.Xprintf(tls, __ccgo_ts+1278, 0)
  6734. }
  6735. return m_FcFalse
  6736. }
  6737. goto _1
  6738. _1:
  6739. ;
  6740. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  6741. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  6742. } else {
  6743. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  6744. }
  6745. l = v2
  6746. }
  6747. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6748. _FamilyTableAdd(tls, table, new1)
  6749. }
  6750. if position != 0 {
  6751. sameBinding = (*TFcValueList)(unsafe.Pointer(position)).Fbinding
  6752. } else {
  6753. sameBinding = int32(_FcValueBindingWeak)
  6754. }
  6755. v = new1
  6756. for {
  6757. if !(v != libc.UintptrFromInt32(0)) {
  6758. break
  6759. }
  6760. if (*T_FcValueList)(unsafe.Pointer(v)).Fbinding == int32(_FcValueBindingSame) {
  6761. (*T_FcValueList)(unsafe.Pointer(v)).Fbinding = sameBinding
  6762. }
  6763. goto _3
  6764. _3:
  6765. ;
  6766. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  6767. v4 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  6768. } else {
  6769. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  6770. }
  6771. v = v4
  6772. }
  6773. if append1 != 0 {
  6774. if position != 0 {
  6775. prev = position
  6776. } else {
  6777. prev = head
  6778. for {
  6779. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6780. break
  6781. }
  6782. goto _5
  6783. _5:
  6784. ;
  6785. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6786. }
  6787. }
  6788. } else {
  6789. if position != 0 {
  6790. prev = head
  6791. for {
  6792. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6793. break
  6794. }
  6795. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6796. break
  6797. }
  6798. goto _6
  6799. _6:
  6800. ;
  6801. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6802. }
  6803. } else {
  6804. prev = head
  6805. }
  6806. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6807. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == libc.UintptrFromInt32(0) {
  6808. libc.Xprintf(tls, __ccgo_ts+1290, 0)
  6809. }
  6810. }
  6811. }
  6812. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6813. if append1 != 0 {
  6814. v7 = __ccgo_ts + 1312
  6815. } else {
  6816. v7 = __ccgo_ts + 1319
  6817. }
  6818. libc.Xprintf(tls, __ccgo_ts+1327, libc.VaList(bp+8, v7))
  6819. XFcValueListPrintWithPosition(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)), *(*TFcValueListPtr)(unsafe.Pointer(prev)))
  6820. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  6821. }
  6822. if new1 != 0 {
  6823. last = new1
  6824. for (*T_FcValueList)(unsafe.Pointer(last)).Fnext != libc.UintptrFromInt32(0) {
  6825. last = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  6826. }
  6827. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6828. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  6829. }
  6830. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6831. if append1 != 0 {
  6832. v8 = __ccgo_ts + 1312
  6833. } else {
  6834. v8 = __ccgo_ts + 1319
  6835. }
  6836. libc.Xprintf(tls, __ccgo_ts+1343, libc.VaList(bp+8, v8))
  6837. XFcValueListPrint(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)))
  6838. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  6839. }
  6840. return int32(m_FcTrue)
  6841. }
  6842. func _FcConfigDel(tls *libc.TLS, head uintptr, position uintptr, object TFcObject, table uintptr) {
  6843. var prev, v1 uintptr
  6844. _, _ = prev, v1
  6845. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6846. if int32((*TFcValue)(unsafe.Pointer(position+8)).Fu.Fs)&int32(1) != 0 {
  6847. v1 = uintptr(Tintptr_t(position+8) + int32((*TFcValue)(unsafe.Pointer(position+8)).Fu.Fs) & ^libc.Int32FromInt32(1))
  6848. } else {
  6849. v1 = (*TFcValue)(unsafe.Pointer(position + 8)).Fu.Fs
  6850. }
  6851. _FamilyTableDel(tls, table, v1)
  6852. }
  6853. prev = head
  6854. for {
  6855. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6856. break
  6857. }
  6858. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6859. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcValueList)(unsafe.Pointer(position)).Fnext
  6860. (*TFcValueList)(unsafe.Pointer(position)).Fnext = libc.UintptrFromInt32(0)
  6861. XFcValueListDestroy(tls, position)
  6862. break
  6863. }
  6864. goto _2
  6865. _2:
  6866. ;
  6867. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6868. }
  6869. }
  6870. func _FcConfigPatternAdd(tls *libc.TLS, p uintptr, object TFcObject, list uintptr, append1 TFcBool, table uintptr) {
  6871. var e uintptr
  6872. _ = e
  6873. if list != 0 {
  6874. e = XFcPatternObjectInsertElt(tls, p, object)
  6875. if !(e != 0) {
  6876. return
  6877. }
  6878. _FcConfigAdd(tls, e+4, uintptr(0), append1, list, object, table)
  6879. }
  6880. }
  6881. // C documentation
  6882. //
  6883. // /*
  6884. // * Delete all values associated with a field
  6885. // */
  6886. func _FcConfigPatternDel(tls *libc.TLS, p uintptr, object TFcObject, table uintptr) {
  6887. var e uintptr
  6888. _ = e
  6889. e = XFcPatternObjectFindElt(tls, p, object)
  6890. if !(e != 0) {
  6891. return
  6892. }
  6893. for (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != libc.UintptrFromInt32(0) {
  6894. _FcConfigDel(tls, e+4, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, object, table)
  6895. }
  6896. }
  6897. func _FcConfigPatternCanon(tls *libc.TLS, p uintptr, object TFcObject) {
  6898. var e uintptr
  6899. _ = e
  6900. e = XFcPatternObjectFindElt(tls, p, object)
  6901. if !(e != 0) {
  6902. return
  6903. }
  6904. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues == libc.UintptrFromInt32(0) {
  6905. XFcPatternObjectDel(tls, p, object)
  6906. }
  6907. }
  6908. func XIA__FcConfigSubstituteWithPat(tls *libc.TLS, config uintptr, p uintptr, p_pat uintptr, kind TFcMatchKind) (r1 TFcBool) {
  6909. bp := tls.Alloc(96)
  6910. defer tls.Free(96)
  6911. var b, retval TFcBool
  6912. var e, e1, elt, l, l1, lang, ls, lsund, m, nextValue, prgname, r, rs, s, strs, table, thisValue, tst, value, vl, v1, v4, v5 uintptr
  6913. var i, nobjs int32
  6914. var ll TFcValueListPtr
  6915. var object TFcObject
  6916. var v2 bool
  6917. var _ /* data at bp+40 */ TFamilyTable
  6918. var _ /* iter at bp+16 */ TFcPtrListIter
  6919. var _ /* iter2 at bp+28 */ TFcPtrListIter
  6920. var _ /* v at bp+0 */ TFcValue
  6921. var _ /* v at bp+48 */ TFcValue
  6922. var _ /* vv at bp+64 */ TFcValue
  6923. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = b, e, e1, elt, i, l, l1, lang, ll, ls, lsund, m, nextValue, nobjs, object, prgname, r, retval, rs, s, strs, table, thisValue, tst, value, vl, v1, v2, v4, v5
  6924. value = libc.UintptrFromInt32(0)
  6925. object = int32(_FC_INVALID_OBJECT)
  6926. elt = libc.UintptrFromInt32(0)
  6927. retval = int32(m_FcTrue)
  6928. tst = libc.UintptrFromInt32(0)
  6929. table = bp + 40
  6930. if kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  6931. return m_FcFalse
  6932. }
  6933. config = XIA__FcConfigReference(tls, config)
  6934. if !(config != 0) {
  6935. return m_FcFalse
  6936. }
  6937. s = *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(kind)*4))
  6938. if kind == int32(_FcMatchPattern) {
  6939. strs = XIA__FcGetDefaultLangs(tls)
  6940. if strs != 0 {
  6941. l1 = XIA__FcStrListCreate(tls, strs)
  6942. lsund = XIA__FcLangSetCreate(tls)
  6943. XIA__FcLangSetAdd(tls, lsund, __ccgo_ts+1358)
  6944. XIA__FcStrSetDestroy(tls, strs)
  6945. for {
  6946. if v2 = l1 != 0; v2 {
  6947. v1 = XIA__FcStrListNext(tls, l1)
  6948. lang = v1
  6949. }
  6950. if !(v2 && v1 != 0) {
  6951. break
  6952. }
  6953. e1 = XFcPatternObjectFindElt(tls, p, int32(_FC_LANG_OBJECT))
  6954. if e1 != 0 {
  6955. if int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int32(1) != 0 {
  6956. v4 = uintptr(int32(e1) + int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues) & ^libc.Int32FromInt32(1))
  6957. } else {
  6958. v4 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  6959. }
  6960. ll = v4
  6961. for {
  6962. if !(ll != 0) {
  6963. break
  6964. }
  6965. *(*TFcValue)(unsafe.Pointer(bp + 64)) = TFcValue{}
  6966. *(*T_FcValue)(unsafe.Pointer(bp + 64)) = XFcValueCanonicalize(tls, ll+8)
  6967. if (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_FcTypeLangSet) {
  6968. ls = XIA__FcLangSetCreate(tls)
  6969. XIA__FcLangSetAdd(tls, ls, lang)
  6970. b = XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), ls)
  6971. XIA__FcLangSetDestroy(tls, ls)
  6972. if b != 0 {
  6973. goto bail_lang
  6974. }
  6975. if XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), lsund) != 0 {
  6976. goto bail_lang
  6977. }
  6978. } else {
  6979. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), lang) == 0 {
  6980. goto bail_lang
  6981. }
  6982. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+1358) == 0 {
  6983. goto bail_lang
  6984. }
  6985. }
  6986. goto _3
  6987. _3:
  6988. ;
  6989. if int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int32(1) != 0 {
  6990. v5 = uintptr(int32(ll) + int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext) & ^libc.Int32FromInt32(1))
  6991. } else {
  6992. v5 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  6993. }
  6994. ll = v5
  6995. }
  6996. }
  6997. (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 = int32(_FcTypeString)
  6998. *(*uintptr)(unsafe.Pointer(bp + 48 + 8)) = lang
  6999. XFcPatternObjectAddWithBinding(tls, p, int32(_FC_LANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  7000. }
  7001. goto bail_lang
  7002. bail_lang:
  7003. ;
  7004. XIA__FcStrListDone(tls, l1)
  7005. XIA__FcLangSetDestroy(tls, lsund)
  7006. }
  7007. if XFcPatternObjectGet(tls, p, int32(_FC_PRGNAME_OBJECT), 0, bp) == int32(_FcResultNoMatch) {
  7008. prgname = XFcGetPrgname(tls)
  7009. if prgname != 0 {
  7010. XFcPatternObjectAddString(tls, p, int32(_FC_PRGNAME_OBJECT), prgname)
  7011. }
  7012. }
  7013. }
  7014. nobjs = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects + int32(2)
  7015. value = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  7016. if !(value != 0) {
  7017. retval = m_FcFalse
  7018. goto bail1
  7019. }
  7020. elt = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  7021. if !(elt != 0) {
  7022. retval = m_FcFalse
  7023. goto bail1
  7024. }
  7025. tst = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  7026. if !(tst != 0) {
  7027. retval = m_FcFalse
  7028. goto bail1
  7029. }
  7030. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7031. libc.Xprintf(tls, __ccgo_ts+1362, 0)
  7032. XIA__FcPatternPrint(tls, p)
  7033. }
  7034. _FamilyTableInit(tls, bp+40, p)
  7035. XFcPtrListIterInit(tls, s, bp+16)
  7036. for {
  7037. if !(XFcPtrListIterIsValid(tls, s, bp+16) != 0) {
  7038. break
  7039. }
  7040. rs = XFcPtrListIterGetValue(tls, s, bp+16)
  7041. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7042. libc.Xprintf(tls, __ccgo_ts+1382, libc.VaList(bp+88, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  7043. }
  7044. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp+28)
  7045. for {
  7046. if !(XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp+28) != 0) {
  7047. break
  7048. }
  7049. r = XFcPtrListIterGetValue(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp+28)
  7050. i = 0
  7051. for {
  7052. if !(i < nobjs) {
  7053. break
  7054. }
  7055. *(*uintptr)(unsafe.Pointer(elt + uintptr(i)*4)) = libc.UintptrFromInt32(0)
  7056. *(*uintptr)(unsafe.Pointer(value + uintptr(i)*4)) = libc.UintptrFromInt32(0)
  7057. *(*uintptr)(unsafe.Pointer(tst + uintptr(i)*4)) = libc.UintptrFromInt32(0)
  7058. goto _8
  7059. _8:
  7060. ;
  7061. i++
  7062. }
  7063. for {
  7064. if !(r != 0) {
  7065. break
  7066. }
  7067. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  7068. case int32(_FcRuleUnknown):
  7069. /* shouldn't be reached */
  7070. case int32(_FcRuleTest):
  7071. object = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  7072. /*
  7073. * Check the tests to see if
  7074. * they all match the pattern
  7075. */
  7076. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7077. libc.Xprintf(tls, __ccgo_ts+1397, 0)
  7078. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 8)))
  7079. }
  7080. if kind == int32(_FcMatchFont) && (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind == int32(_FcMatchPattern) {
  7081. m = p_pat
  7082. table = libc.UintptrFromInt32(0)
  7083. } else {
  7084. m = p
  7085. table = bp + 40
  7086. }
  7087. if m != 0 {
  7088. e = XFcPatternObjectFindElt(tls, m, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject)
  7089. } else {
  7090. e = libc.UintptrFromInt32(0)
  7091. }
  7092. /* different 'kind' won't be the target of edit */
  7093. if !(*(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind {
  7094. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4)) = e
  7095. *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*4)) = *(*uintptr)(unsafe.Pointer(r + 8))
  7096. }
  7097. /*
  7098. * If there's no such field in the font,
  7099. * then FcQualAll matches while FcQualAny does not
  7100. */
  7101. if !(e != 0) {
  7102. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fqual == int32(_FcQualAll) {
  7103. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) = libc.UintptrFromInt32(0)
  7104. goto _9
  7105. } else {
  7106. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7107. libc.Xprintf(tls, __ccgo_ts+1422, 0)
  7108. }
  7109. goto bail
  7110. }
  7111. }
  7112. /*
  7113. * Check to see if there is a match, mark the location
  7114. * to apply match-relative edits
  7115. */
  7116. vl = _FcConfigMatchValueList(tls, m, p_pat, kind, *(*uintptr)(unsafe.Pointer(r + 8)), (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, table)
  7117. /* different 'kind' won't be the target of edit */
  7118. if !(*(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind {
  7119. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) = vl
  7120. }
  7121. if !(vl != 0) || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fqual == int32(_FcQualFirst) && vl != (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fqual == int32(_FcQualNotFirst) && vl == (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues {
  7122. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7123. libc.Xprintf(tls, __ccgo_ts+1422, 0)
  7124. }
  7125. goto bail
  7126. }
  7127. case int32(_FcRuleEdit):
  7128. object = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  7129. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7130. libc.Xprintf(tls, __ccgo_ts+1432, 0)
  7131. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 8)))
  7132. libc.Xprintf(tls, __ccgo_ts+1444, 0)
  7133. }
  7134. /*
  7135. * Evaluate the list of expressions
  7136. */
  7137. l = _FcConfigValues(tls, p, p_pat, kind, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fexpr, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fbinding)
  7138. if *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*4)) != 0 && ((*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*4)))).Fkind == int32(_FcMatchFont) || kind == int32(_FcMatchPattern)) {
  7139. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4)) = XFcPatternObjectFindElt(tls, p, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*4)))).Fobject)
  7140. }
  7141. switch (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fop & libc.Int32FromInt32(0xffff) {
  7142. case int32(_FcOpAssign):
  7143. /*
  7144. * If there was a test, then replace the matched
  7145. * value with the new list of values
  7146. */
  7147. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0 {
  7148. thisValue = *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4))
  7149. nextValue = l
  7150. /*
  7151. * Append the new list of values after the current value
  7152. */
  7153. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4))+4, thisValue, int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, table)
  7154. /*
  7155. * Delete the marked value
  7156. */
  7157. if thisValue != 0 {
  7158. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4))+4, thisValue, object, table)
  7159. }
  7160. /*
  7161. * Adjust a pointer into the value list to ensure
  7162. * future edits occur at the same place
  7163. */
  7164. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) = nextValue
  7165. break
  7166. }
  7167. /* fall through ... */
  7168. fallthrough
  7169. case int32(_FcOpAssignReplace):
  7170. /*
  7171. * Delete all of the values and insert
  7172. * the new set
  7173. */
  7174. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, table)
  7175. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, l, int32(m_FcTrue), table)
  7176. /*
  7177. * Adjust a pointer into the value list as they no
  7178. * longer point to anything valid
  7179. */
  7180. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) = libc.UintptrFromInt32(0)
  7181. case int32(_FcOpPrepend):
  7182. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0 {
  7183. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4))+4, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)), m_FcFalse, l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, table)
  7184. break
  7185. }
  7186. /* fall through ... */
  7187. fallthrough
  7188. case int32(_FcOpPrependFirst):
  7189. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, l, m_FcFalse, table)
  7190. case int32(_FcOpAppend):
  7191. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0 {
  7192. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4))+4, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)), int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, table)
  7193. break
  7194. }
  7195. /* fall through ... */
  7196. fallthrough
  7197. case int32(_FcOpAppendLast):
  7198. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, l, int32(m_FcTrue), table)
  7199. case int32(_FcOpDelete):
  7200. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0 {
  7201. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4))+4, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)), object, table)
  7202. XFcValueListDestroy(tls, l)
  7203. break
  7204. }
  7205. /* fall through ... */
  7206. fallthrough
  7207. case int32(_FcOpDeleteAll):
  7208. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, table)
  7209. XFcValueListDestroy(tls, l)
  7210. default:
  7211. XFcValueListDestroy(tls, l)
  7212. break
  7213. }
  7214. /*
  7215. * Now go through the pattern and eliminate
  7216. * any properties without data
  7217. */
  7218. _FcConfigPatternCanon(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject)
  7219. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7220. libc.Xprintf(tls, __ccgo_ts+1447, 0)
  7221. XIA__FcPatternPrint(tls, p)
  7222. }
  7223. break
  7224. }
  7225. goto _9
  7226. _9:
  7227. ;
  7228. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  7229. }
  7230. goto bail
  7231. bail:
  7232. ;
  7233. goto _7
  7234. _7:
  7235. ;
  7236. XFcPtrListIterNext(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp+28)
  7237. }
  7238. goto _6
  7239. _6:
  7240. ;
  7241. XFcPtrListIterNext(tls, s, bp+16)
  7242. }
  7243. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7244. libc.Xprintf(tls, __ccgo_ts+1471, 0)
  7245. XIA__FcPatternPrint(tls, p)
  7246. }
  7247. goto bail1
  7248. bail1:
  7249. ;
  7250. _FamilyTableClear(tls, bp+40)
  7251. if elt != 0 {
  7252. libc.Xfree(tls, elt)
  7253. }
  7254. if value != 0 {
  7255. libc.Xfree(tls, value)
  7256. }
  7257. if tst != 0 {
  7258. libc.Xfree(tls, tst)
  7259. }
  7260. XIA__FcConfigDestroy(tls, config)
  7261. return retval
  7262. }
  7263. var XFcConfigSubstituteWithPat = XIA__FcConfigSubstituteWithPat
  7264. func XIA__FcConfigSubstitute(tls *libc.TLS, config uintptr, p uintptr, kind TFcMatchKind) (r TFcBool) {
  7265. return XIA__FcConfigSubstituteWithPat(tls, config, p, uintptr(0), kind)
  7266. }
  7267. var XFcConfigSubstitute = XIA__FcConfigSubstitute
  7268. func _FcConfigFileExists(tls *libc.TLS, dir uintptr, file uintptr) (r uintptr) {
  7269. var osize, size int32
  7270. var path uintptr
  7271. _, _, _ = osize, path, size
  7272. if !(dir != 0) {
  7273. dir = __ccgo_ts + 112
  7274. }
  7275. osize = libc.Int32FromUint32(libc.Xstrlen(tls, dir) + uint32(1) + libc.Xstrlen(tls, file) + uint32(1))
  7276. /*
  7277. * workaround valgrind warning because glibc takes advantage of how it knows memory is
  7278. * allocated to implement strlen by reading in groups of 4
  7279. */
  7280. size = (osize + int32(3)) & ^libc.Int32FromInt32(3)
  7281. path = libc.Xmalloc(tls, libc.Uint32FromInt32(size))
  7282. if !(path != 0) {
  7283. return uintptr(0)
  7284. }
  7285. libc.Xstrcpy(tls, path, dir)
  7286. /* make sure there's a single separator */
  7287. if (!(*(*TFcChar8)(unsafe.Pointer(path)) != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(libc.Xstrlen(tls, path)-uint32(1))))) != int32('/')) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file))) != int32('/') {
  7288. libc.Xstrcat(tls, path, __ccgo_ts+1495)
  7289. } else {
  7290. osize--
  7291. }
  7292. libc.Xstrcat(tls, path, file)
  7293. if libc.Xaccess(tls, path, int32(m_R_OK)) == 0 {
  7294. return path
  7295. }
  7296. XIA__FcStrFree(tls, path)
  7297. return uintptr(0)
  7298. }
  7299. func _FcConfigGetPath(tls *libc.TLS) (r uintptr) {
  7300. var colon, dir, e, env, path, v1 uintptr
  7301. var i, npath int32
  7302. _, _, _, _, _, _, _, _ = colon, dir, e, env, i, npath, path, v1
  7303. npath = int32(2) /* default dir + null */
  7304. env = libc.Xgetenv(tls, __ccgo_ts+1497)
  7305. if env != 0 {
  7306. e = env
  7307. npath++
  7308. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  7309. v1 = e
  7310. e++
  7311. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))) == int32(':') {
  7312. npath++
  7313. }
  7314. }
  7315. }
  7316. path = libc.Xcalloc(tls, libc.Uint32FromInt32(npath), uint32(4))
  7317. if !(path != 0) {
  7318. goto bail0
  7319. }
  7320. i = 0
  7321. if env != 0 {
  7322. e = env
  7323. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  7324. colon = libc.Xstrchr(tls, e, int32(':'))
  7325. if !(colon != 0) {
  7326. colon = e + uintptr(libc.Xstrlen(tls, e))
  7327. }
  7328. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(colon)-int32(e)+int32(1)))
  7329. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) != 0) {
  7330. goto bail1
  7331. }
  7332. libc.Xstrncpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)), e, libc.Uint32FromInt32(int32(colon)-int32(e)))
  7333. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) + uintptr(int32(colon)-int32(e)))) = uint8('\000')
  7334. if *(*TFcChar8)(unsafe.Pointer(colon)) != 0 {
  7335. e = colon + uintptr(1)
  7336. } else {
  7337. e = colon
  7338. }
  7339. i++
  7340. }
  7341. }
  7342. dir = __ccgo_ts + 1513
  7343. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint32(1))
  7344. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) != 0) {
  7345. goto bail1
  7346. }
  7347. libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)), dir)
  7348. return path
  7349. goto bail1
  7350. bail1:
  7351. ;
  7352. i = 0
  7353. for {
  7354. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) != 0) {
  7355. break
  7356. }
  7357. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)))
  7358. goto _2
  7359. _2:
  7360. ;
  7361. i++
  7362. }
  7363. libc.Xfree(tls, path)
  7364. goto bail0
  7365. bail0:
  7366. ;
  7367. return uintptr(0)
  7368. return r
  7369. }
  7370. func _FcConfigFreePath(tls *libc.TLS, path uintptr) {
  7371. var p uintptr
  7372. _ = p
  7373. p = path
  7374. for {
  7375. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  7376. break
  7377. }
  7378. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(p)))
  7379. goto _1
  7380. _1:
  7381. ;
  7382. p += 4
  7383. }
  7384. libc.Xfree(tls, path)
  7385. }
  7386. var __FcConfigHomeEnabled = int32(m_FcTrue) /* MT-goodenough */
  7387. func XIA__FcConfigHome(tls *libc.TLS) (r uintptr) {
  7388. var home uintptr
  7389. _ = home
  7390. if __FcConfigHomeEnabled != 0 {
  7391. home = libc.Xgetenv(tls, __ccgo_ts+1524)
  7392. return home
  7393. }
  7394. return uintptr(0)
  7395. }
  7396. var XFcConfigHome = XIA__FcConfigHome
  7397. func XFcConfigXdgCacheHome(tls *libc.TLS) (r uintptr) {
  7398. var env, home, ret uintptr
  7399. var len1 Tsize_t
  7400. var v1 uint32
  7401. _, _, _, _, _ = env, home, len1, ret, v1
  7402. env = libc.Xgetenv(tls, __ccgo_ts+1529)
  7403. ret = libc.UintptrFromInt32(0)
  7404. if !(__FcConfigHomeEnabled != 0) {
  7405. return libc.UintptrFromInt32(0)
  7406. }
  7407. if env != 0 && *(*uint8)(unsafe.Pointer(env)) != 0 {
  7408. ret = XIA__FcStrCopy(tls, env)
  7409. } else {
  7410. home = XIA__FcConfigHome(tls)
  7411. if home != 0 {
  7412. v1 = libc.Xstrlen(tls, home)
  7413. } else {
  7414. v1 = uint32(0)
  7415. }
  7416. len1 = v1
  7417. ret = libc.Xmalloc(tls, len1+uint32(7)+uint32(1))
  7418. if ret != 0 {
  7419. if home != 0 {
  7420. libc.Xmemcpy(tls, ret, home, len1)
  7421. }
  7422. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1544, uint32(7))
  7423. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint32(7)))) = uint8(0)
  7424. }
  7425. }
  7426. return ret
  7427. }
  7428. func XFcConfigXdgConfigHome(tls *libc.TLS) (r uintptr) {
  7429. var env, home, ret uintptr
  7430. var len1 Tsize_t
  7431. var v1 uint32
  7432. _, _, _, _, _ = env, home, len1, ret, v1
  7433. env = libc.Xgetenv(tls, __ccgo_ts+1552)
  7434. ret = libc.UintptrFromInt32(0)
  7435. if !(__FcConfigHomeEnabled != 0) {
  7436. return libc.UintptrFromInt32(0)
  7437. }
  7438. if env != 0 {
  7439. ret = XIA__FcStrCopy(tls, env)
  7440. } else {
  7441. home = XIA__FcConfigHome(tls)
  7442. if home != 0 {
  7443. v1 = libc.Xstrlen(tls, home)
  7444. } else {
  7445. v1 = uint32(0)
  7446. }
  7447. len1 = v1
  7448. ret = libc.Xmalloc(tls, len1+uint32(8)+uint32(1))
  7449. if ret != 0 {
  7450. if home != 0 {
  7451. libc.Xmemcpy(tls, ret, home, len1)
  7452. }
  7453. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1568, uint32(8))
  7454. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint32(8)))) = uint8(0)
  7455. }
  7456. }
  7457. return ret
  7458. }
  7459. func XFcConfigXdgDataHome(tls *libc.TLS) (r uintptr) {
  7460. var env, home, ret uintptr
  7461. var len1 Tsize_t
  7462. var v1 uint32
  7463. _, _, _, _, _ = env, home, len1, ret, v1
  7464. env = libc.Xgetenv(tls, __ccgo_ts+1577)
  7465. ret = libc.UintptrFromInt32(0)
  7466. if !(__FcConfigHomeEnabled != 0) {
  7467. return libc.UintptrFromInt32(0)
  7468. }
  7469. if env != 0 {
  7470. ret = XIA__FcStrCopy(tls, env)
  7471. } else {
  7472. home = XIA__FcConfigHome(tls)
  7473. if home != 0 {
  7474. v1 = libc.Xstrlen(tls, home)
  7475. } else {
  7476. v1 = uint32(0)
  7477. }
  7478. len1 = v1
  7479. ret = libc.Xmalloc(tls, len1+uint32(13)+uint32(1))
  7480. if ret != 0 {
  7481. if home != 0 {
  7482. libc.Xmemcpy(tls, ret, home, len1)
  7483. }
  7484. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1591, uint32(13))
  7485. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint32(13)))) = uint8(0)
  7486. }
  7487. }
  7488. return ret
  7489. }
  7490. func XFcConfigXdgDataDirs(tls *libc.TLS) (r uintptr) {
  7491. var e, ee, env, p, ret, s, v1 uintptr
  7492. var len1 Tsize_t
  7493. _, _, _, _, _, _, _, _ = e, ee, env, len1, p, ret, s, v1
  7494. env = libc.Xgetenv(tls, __ccgo_ts+1605)
  7495. ret = XIA__FcStrSetCreate(tls)
  7496. if env != 0 {
  7497. v1 = XIA__FcStrCopy(tls, env)
  7498. ee = v1
  7499. e = v1
  7500. /* We don't intentionally use FC_SEARCH_PATH_SEPARATOR here because of:
  7501. * The directories in $XDG_DATA_DIRS should be seperated with a colon ':'.
  7502. * in doc.
  7503. */
  7504. for e != 0 {
  7505. p = libc.Xstrchr(tls, e, int32(':'))
  7506. if !(p != 0) {
  7507. s = XIA__FcStrCopy(tls, e)
  7508. e = libc.UintptrFromInt32(0)
  7509. } else {
  7510. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  7511. s = XIA__FcStrCopy(tls, e)
  7512. e = p + uintptr(1)
  7513. }
  7514. len1 = libc.Xstrlen(tls, s)
  7515. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint32(1))))) == int32('/') {
  7516. for cond := true; cond; cond = len1 > uint32(1) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint32(1))))) == int32('/') {
  7517. len1--
  7518. }
  7519. *(*TFcChar8)(unsafe.Pointer(s + uintptr(len1))) = uint8(0)
  7520. }
  7521. XIA__FcStrSetAdd(tls, ret, s)
  7522. XIA__FcStrFree(tls, s)
  7523. }
  7524. XIA__FcStrFree(tls, ee)
  7525. } else {
  7526. /* From spec doc at https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
  7527. *
  7528. * If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.
  7529. */
  7530. XIA__FcStrSetAdd(tls, ret, __ccgo_ts+1619)
  7531. XIA__FcStrSetAdd(tls, ret, __ccgo_ts+1636)
  7532. }
  7533. return ret
  7534. }
  7535. func XIA__FcConfigEnableHome(tls *libc.TLS, enable TFcBool) (r TFcBool) {
  7536. var prev TFcBool
  7537. _ = prev
  7538. prev = __FcConfigHomeEnabled
  7539. __FcConfigHomeEnabled = enable
  7540. return prev
  7541. }
  7542. var XFcConfigEnableHome = XIA__FcConfigEnableHome
  7543. func XIA__FcConfigGetFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  7544. bp := tls.Alloc(32)
  7545. defer tls.Free(32)
  7546. var dir, file, p, path, s, s1, sysroot uintptr
  7547. var len1 Tsize_t
  7548. _, _, _, _, _, _, _, _ = dir, file, len1, p, path, s, s1, sysroot
  7549. config = XIA__FcConfigReference(tls, config)
  7550. if !(config != 0) {
  7551. return libc.UintptrFromInt32(0)
  7552. }
  7553. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  7554. if !(url != 0) || !(*(*TFcChar8)(unsafe.Pointer(url)) != 0) {
  7555. url = libc.Xgetenv(tls, __ccgo_ts+1647)
  7556. if !(url != 0) {
  7557. url = __ccgo_ts + 1663
  7558. }
  7559. }
  7560. file = uintptr(0)
  7561. if XFcStrIsAbsoluteFilename(tls, url) != 0 {
  7562. if sysroot != 0 {
  7563. len1 = libc.Xstrlen(tls, sysroot)
  7564. /* Workaround to avoid adding sysroot repeatedly */
  7565. if libc.Xstrncmp(tls, url, sysroot, len1) == 0 {
  7566. sysroot = libc.UintptrFromInt32(0)
  7567. }
  7568. }
  7569. file = _FcConfigFileExists(tls, sysroot, url)
  7570. goto bail
  7571. }
  7572. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(url))) == int32('~') {
  7573. dir = XIA__FcConfigHome(tls)
  7574. if dir != 0 {
  7575. if sysroot != 0 {
  7576. s = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  7577. } else {
  7578. s = dir
  7579. }
  7580. file = _FcConfigFileExists(tls, s, url+uintptr(1))
  7581. if sysroot != 0 {
  7582. XIA__FcStrFree(tls, s)
  7583. }
  7584. } else {
  7585. file = uintptr(0)
  7586. }
  7587. } else {
  7588. path = _FcConfigGetPath(tls)
  7589. if !(path != 0) {
  7590. file = libc.UintptrFromInt32(0)
  7591. goto bail
  7592. }
  7593. p = path
  7594. for {
  7595. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  7596. break
  7597. }
  7598. if sysroot != 0 {
  7599. s1 = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(p)), libc.UintptrFromInt32(0)))
  7600. } else {
  7601. s1 = *(*uintptr)(unsafe.Pointer(p))
  7602. }
  7603. file = _FcConfigFileExists(tls, s1, url)
  7604. if sysroot != 0 {
  7605. XIA__FcStrFree(tls, s1)
  7606. }
  7607. if file != 0 {
  7608. break
  7609. }
  7610. goto _1
  7611. _1:
  7612. ;
  7613. p += 4
  7614. }
  7615. _FcConfigFreePath(tls, path)
  7616. }
  7617. goto bail
  7618. bail:
  7619. ;
  7620. XIA__FcConfigDestroy(tls, config)
  7621. return file
  7622. }
  7623. var XFcConfigGetFilename = XIA__FcConfigGetFilename
  7624. func XIA__FcConfigFilename(tls *libc.TLS, url uintptr) (r uintptr) {
  7625. return XIA__FcConfigGetFilename(tls, libc.UintptrFromInt32(0), url)
  7626. }
  7627. var XFcConfigFilename = XIA__FcConfigFilename
  7628. func XFcConfigRealFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  7629. bp := tls.Alloc(4272)
  7630. defer tls.Free(4272)
  7631. var dirname, n, path uintptr
  7632. var len1, v1 Tssize_t
  7633. var _ /* buf at bp+0 */ [4096]TFcChar8
  7634. var _ /* sb at bp+4096 */ Tstat
  7635. _, _, _, _, _ = dirname, len1, n, path, v1
  7636. n = XIA__FcConfigGetFilename(tls, config, url)
  7637. if n != 0 {
  7638. v1 = XFcReadLink(tls, n, bp, libc.Uint32FromInt64(4096)-libc.Uint32FromInt32(1))
  7639. len1 = v1
  7640. if v1 != -int32(1) {
  7641. (*(*[4096]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  7642. /* We try to pick up a config from FONTCONFIG_FILE
  7643. * when url is null. don't try to address the real filename
  7644. * if it is a named pipe.
  7645. */
  7646. if !(url != 0) && XFcStat(tls, n, bp+4096) == 0 && (*(*Tstat)(unsafe.Pointer(bp + 4096))).Fst_mode&uint32(m_S_IFMT1) == uint32(m_S_IFIFO1) {
  7647. return n
  7648. } else {
  7649. if !(XFcStrIsAbsoluteFilename(tls, bp) != 0) {
  7650. dirname = XIA__FcStrDirname(tls, n)
  7651. XIA__FcStrFree(tls, n)
  7652. if !(dirname != 0) {
  7653. return libc.UintptrFromInt32(0)
  7654. }
  7655. path = XIA__FcStrBuildFilename(tls, dirname, libc.VaList(bp+4256, bp, libc.UintptrFromInt32(0)))
  7656. XIA__FcStrFree(tls, dirname)
  7657. if !(path != 0) {
  7658. return libc.UintptrFromInt32(0)
  7659. }
  7660. n = XFcStrCanonFilename(tls, path)
  7661. XIA__FcStrFree(tls, path)
  7662. } else {
  7663. XIA__FcStrFree(tls, n)
  7664. n = libc.Xstrdup(tls, bp)
  7665. }
  7666. }
  7667. }
  7668. }
  7669. return n
  7670. }
  7671. /*
  7672. * Manage the application-specific fonts
  7673. */
  7674. func XIA__FcConfigAppFontAddFile(tls *libc.TLS, config uintptr, file uintptr) (r TFcBool) {
  7675. var ret TFcBool
  7676. var set, subdir, subdirs, sublist, v1, v2 uintptr
  7677. _, _, _, _, _, _, _ = ret, set, subdir, subdirs, sublist, v1, v2
  7678. ret = int32(m_FcTrue)
  7679. config = XIA__FcConfigReference(tls, config)
  7680. if !(config != 0) {
  7681. return m_FcFalse
  7682. }
  7683. subdirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  7684. if !(subdirs != 0) {
  7685. ret = m_FcFalse
  7686. goto bail
  7687. }
  7688. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  7689. if !(set != 0) {
  7690. set = XIA__FcFontSetCreate(tls)
  7691. if !(set != 0) {
  7692. XIA__FcStrSetDestroy(tls, subdirs)
  7693. ret = m_FcFalse
  7694. goto bail
  7695. }
  7696. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  7697. }
  7698. if !(XFcFileScanConfig(tls, set, subdirs, file, config) != 0) {
  7699. XIA__FcStrSetDestroy(tls, subdirs)
  7700. ret = m_FcFalse
  7701. goto bail
  7702. }
  7703. v1 = XIA__FcStrListCreate(tls, subdirs)
  7704. sublist = v1
  7705. if v1 != 0 {
  7706. for {
  7707. v2 = XIA__FcStrListNext(tls, sublist)
  7708. subdir = v2
  7709. if !(v2 != 0) {
  7710. break
  7711. }
  7712. XIA__FcConfigAppFontAddDir(tls, config, subdir)
  7713. }
  7714. XIA__FcStrListDone(tls, sublist)
  7715. }
  7716. XIA__FcStrSetDestroy(tls, subdirs)
  7717. goto bail
  7718. bail:
  7719. ;
  7720. XIA__FcConfigDestroy(tls, config)
  7721. return ret
  7722. }
  7723. var XFcConfigAppFontAddFile = XIA__FcConfigAppFontAddFile
  7724. func XIA__FcConfigAppFontAddDir(tls *libc.TLS, config uintptr, dir uintptr) (r TFcBool) {
  7725. var dirs, set uintptr
  7726. var ret TFcBool
  7727. _, _, _ = dirs, ret, set
  7728. ret = int32(m_FcTrue)
  7729. config = XIA__FcConfigReference(tls, config)
  7730. if !(config != 0) {
  7731. return m_FcFalse
  7732. }
  7733. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  7734. if !(dirs != 0) {
  7735. ret = m_FcFalse
  7736. goto bail
  7737. }
  7738. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  7739. if !(set != 0) {
  7740. set = XIA__FcFontSetCreate(tls)
  7741. if !(set != 0) {
  7742. XIA__FcStrSetDestroy(tls, dirs)
  7743. ret = m_FcFalse
  7744. goto bail
  7745. }
  7746. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  7747. }
  7748. XIA__FcStrSetAddFilename(tls, dirs, dir)
  7749. if !(_FcConfigAddDirList(tls, config, int32(_FcSetApplication), dirs) != 0) {
  7750. XIA__FcStrSetDestroy(tls, dirs)
  7751. ret = m_FcFalse
  7752. goto bail
  7753. }
  7754. XIA__FcStrSetDestroy(tls, dirs)
  7755. goto bail
  7756. bail:
  7757. ;
  7758. XIA__FcConfigDestroy(tls, config)
  7759. return ret
  7760. }
  7761. var XFcConfigAppFontAddDir = XIA__FcConfigAppFontAddDir
  7762. func XIA__FcConfigAppFontClear(tls *libc.TLS, config uintptr) {
  7763. config = XIA__FcConfigReference(tls, config)
  7764. if !(config != 0) {
  7765. return
  7766. }
  7767. XFcConfigSetFonts(tls, config, uintptr(0), int32(_FcSetApplication))
  7768. XIA__FcConfigDestroy(tls, config)
  7769. }
  7770. var XFcConfigAppFontClear = XIA__FcConfigAppFontClear
  7771. /*
  7772. * Manage filename-based font source selectors
  7773. */
  7774. func XFcConfigGlobAdd(tls *libc.TLS, config uintptr, glob uintptr, accept TFcBool) (r TFcBool) {
  7775. var set, v1 uintptr
  7776. _, _ = set, v1
  7777. if accept != 0 {
  7778. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs
  7779. } else {
  7780. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs
  7781. }
  7782. set = v1
  7783. return XIA__FcStrSetAdd(tls, set, glob)
  7784. }
  7785. func _FcConfigGlobsMatch(tls *libc.TLS, globs uintptr, string1 uintptr) (r TFcBool) {
  7786. var i int32
  7787. _ = i
  7788. i = 0
  7789. for {
  7790. if !(i < (*TFcStrSet)(unsafe.Pointer(globs)).Fnum) {
  7791. break
  7792. }
  7793. if XFcStrGlobMatch(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(globs)).Fstrs + uintptr(i)*4)), string1) != 0 {
  7794. return int32(m_FcTrue)
  7795. }
  7796. goto _1
  7797. _1:
  7798. ;
  7799. i++
  7800. }
  7801. return m_FcFalse
  7802. }
  7803. func XFcConfigAcceptFilename(tls *libc.TLS, config uintptr, filename uintptr) (r TFcBool) {
  7804. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs, filename) != 0 {
  7805. return int32(m_FcTrue)
  7806. }
  7807. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs, filename) != 0 {
  7808. return m_FcFalse
  7809. }
  7810. return int32(m_FcTrue)
  7811. }
  7812. /*
  7813. * Manage font-pattern based font source selectors
  7814. */
  7815. func XFcConfigPatternsAdd(tls *libc.TLS, config uintptr, pattern uintptr, accept TFcBool) (r TFcBool) {
  7816. var set, v1 uintptr
  7817. _, _ = set, v1
  7818. if accept != 0 {
  7819. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns
  7820. } else {
  7821. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns
  7822. }
  7823. set = v1
  7824. return XIA__FcFontSetAdd(tls, set, pattern)
  7825. }
  7826. func _FcConfigPatternsMatch(tls *libc.TLS, patterns uintptr, font uintptr) (r TFcBool) {
  7827. var i int32
  7828. _ = i
  7829. i = 0
  7830. for {
  7831. if !(i < (*TFcFontSet)(unsafe.Pointer(patterns)).Fnfont) {
  7832. break
  7833. }
  7834. if XFcListPatternMatchAny(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(patterns)).Ffonts + uintptr(i)*4)), font) != 0 {
  7835. return int32(m_FcTrue)
  7836. }
  7837. goto _1
  7838. _1:
  7839. ;
  7840. i++
  7841. }
  7842. return m_FcFalse
  7843. }
  7844. func XFcConfigAcceptFont(tls *libc.TLS, config uintptr, font uintptr) (r TFcBool) {
  7845. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns, font) != 0 {
  7846. return int32(m_FcTrue)
  7847. }
  7848. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns, font) != 0 {
  7849. return m_FcFalse
  7850. }
  7851. return int32(m_FcTrue)
  7852. }
  7853. func XIA__FcConfigGetSysRoot(tls *libc.TLS, config uintptr) (r uintptr) {
  7854. if !(config != 0) {
  7855. config = XIA__FcConfigGetCurrent(tls)
  7856. if !(config != 0) {
  7857. return libc.UintptrFromInt32(0)
  7858. }
  7859. }
  7860. return (*TFcConfig)(unsafe.Pointer(config)).FsysRoot
  7861. }
  7862. var XFcConfigGetSysRoot = XIA__FcConfigGetSysRoot
  7863. func XIA__FcConfigSetSysRoot(tls *libc.TLS, config uintptr, sysroot uintptr) {
  7864. var init1 TFcBool
  7865. var nretry, v1 int32
  7866. var s uintptr
  7867. _, _, _, _ = init1, nretry, s, v1
  7868. s = libc.UintptrFromInt32(0)
  7869. init1 = m_FcFalse
  7870. nretry = int32(3)
  7871. goto retry
  7872. retry:
  7873. ;
  7874. if !(config != 0) {
  7875. /* We can't use FcConfigGetCurrent() here to ensure
  7876. * the sysroot is set prior to initialize FcConfig,
  7877. * to avoid loading caches from non-sysroot dirs.
  7878. * So postpone the initialization later.
  7879. */
  7880. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  7881. if !(config != 0) {
  7882. config = XIA__FcConfigCreate(tls)
  7883. if !(config != 0) {
  7884. return
  7885. }
  7886. init1 = int32(m_FcTrue)
  7887. }
  7888. }
  7889. if sysroot != 0 {
  7890. s = XFcStrRealPath(tls, sysroot)
  7891. if !(s != 0) {
  7892. return
  7893. }
  7894. }
  7895. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  7896. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  7897. }
  7898. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = s
  7899. if init1 != 0 {
  7900. config = XFcInitLoadOwnConfigAndFonts(tls, config)
  7901. if !(config != 0) {
  7902. /* Something failed. this is usually unlikely. so retrying */
  7903. init1 = m_FcFalse
  7904. nretry--
  7905. v1 = nretry
  7906. if v1 == 0 {
  7907. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1674, 0)
  7908. return
  7909. }
  7910. goto retry
  7911. }
  7912. XIA__FcConfigSetCurrent(tls, config)
  7913. /* FcConfigSetCurrent() increases the refcount.
  7914. * decrease it here to avoid the memory leak.
  7915. */
  7916. XIA__FcConfigDestroy(tls, config)
  7917. }
  7918. }
  7919. var XFcConfigSetSysRoot = XIA__FcConfigSetSysRoot
  7920. func XFcRuleSetCreate(tls *libc.TLS, name uintptr) (r uintptr) {
  7921. var k TFcMatchKind
  7922. var p, ret uintptr
  7923. _, _, _ = k, p, ret
  7924. ret = libc.Xmalloc(tls, uint32(32))
  7925. if !(name != 0) {
  7926. p = __ccgo_ts + 112
  7927. } else {
  7928. p = name
  7929. }
  7930. if ret != 0 {
  7931. (*TFcRuleSet)(unsafe.Pointer(ret)).Fname = libc.Xstrdup(tls, p)
  7932. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdescription = libc.UintptrFromInt32(0)
  7933. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdomain = libc.UintptrFromInt32(0)
  7934. k = int32(_FcMatchKindBegin)
  7935. for {
  7936. if !(k < int32(_FcMatchKindEnd)) {
  7937. break
  7938. }
  7939. *(*uintptr)(unsafe.Pointer(ret + 20 + uintptr(k)*4)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRule))
  7940. goto _1
  7941. _1:
  7942. ;
  7943. k++
  7944. }
  7945. (*TFcRef)(unsafe.Pointer(ret)).Fcount = int32(1)
  7946. }
  7947. return ret
  7948. }
  7949. func XFcRuleSetDestroy(tls *libc.TLS, rs uintptr) {
  7950. var k TFcMatchKind
  7951. var v1 int32
  7952. var p3 uintptr
  7953. _, _, _ = k, v1, p3
  7954. if !(rs != 0) {
  7955. return
  7956. }
  7957. p3 = rs
  7958. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  7959. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  7960. goto _2
  7961. _2:
  7962. if v1 != int32(1) {
  7963. return
  7964. }
  7965. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fname != 0 {
  7966. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname)
  7967. }
  7968. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7969. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7970. }
  7971. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7972. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7973. }
  7974. k = int32(_FcMatchKindBegin)
  7975. for {
  7976. if !(k < int32(_FcMatchKindEnd)) {
  7977. break
  7978. }
  7979. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(k)*4)))
  7980. goto _4
  7981. _4:
  7982. ;
  7983. k++
  7984. }
  7985. libc.Xfree(tls, rs)
  7986. }
  7987. func XFcRuleSetReference(tls *libc.TLS, rs uintptr) {
  7988. var v1 TFcBool
  7989. var p4 uintptr
  7990. _, _ = v1, p4
  7991. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(rs)).Fcount == -libc.Int32FromInt32(1))
  7992. goto _2
  7993. _2:
  7994. if !(v1 != 0) {
  7995. p4 = rs
  7996. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  7997. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  7998. goto _3
  7999. _3:
  8000. }
  8001. }
  8002. func XFcRuleSetEnable(tls *libc.TLS, rs uintptr, flag TFcBool) {
  8003. if rs != 0 {
  8004. (*TFcRuleSet)(unsafe.Pointer(rs)).Fenabled = flag
  8005. /* XXX: we may want to provide a feature
  8006. * to enable/disable rulesets through API
  8007. * in the future?
  8008. */
  8009. }
  8010. }
  8011. func XFcRuleSetAddDescription(tls *libc.TLS, rs uintptr, domain uintptr, description uintptr) {
  8012. var v1, v2 uintptr
  8013. _, _ = v1, v2
  8014. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  8015. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  8016. }
  8017. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  8018. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  8019. }
  8020. if domain != 0 {
  8021. v1 = libc.Xstrdup(tls, domain)
  8022. } else {
  8023. v1 = libc.UintptrFromInt32(0)
  8024. }
  8025. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain = v1
  8026. if description != 0 {
  8027. v2 = libc.Xstrdup(tls, description)
  8028. } else {
  8029. v2 = libc.UintptrFromInt32(0)
  8030. }
  8031. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription = v2
  8032. }
  8033. func XFcRuleSetAdd(tls *libc.TLS, rs uintptr, rule uintptr, kind TFcMatchKind) (r1 int32) {
  8034. bp := tls.Alloc(48)
  8035. defer tls.Free(48)
  8036. var n, ret, v2 int32
  8037. var r uintptr
  8038. var _ /* iter at bp+0 */ TFcPtrListIter
  8039. _, _, _, _ = n, r, ret, v2
  8040. n = 0
  8041. if !(rs != 0) || kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  8042. return -int32(1)
  8043. }
  8044. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp)
  8045. if !(XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp, rule) != 0) {
  8046. return -int32(1)
  8047. }
  8048. r = rule
  8049. for {
  8050. if !(r != 0) {
  8051. break
  8052. }
  8053. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  8054. case int32(_FcRuleTest):
  8055. if *(*uintptr)(unsafe.Pointer(r + 8)) != 0 {
  8056. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind == -libc.Int32FromInt32(1) {
  8057. (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind = kind
  8058. }
  8059. if n < (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject {
  8060. n = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject
  8061. }
  8062. }
  8063. case int32(_FcRuleEdit):
  8064. if n < (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject {
  8065. n = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject
  8066. }
  8067. default:
  8068. break
  8069. }
  8070. goto _1
  8071. _1:
  8072. ;
  8073. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  8074. }
  8075. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8076. libc.Xprintf(tls, __ccgo_ts+1797, libc.VaList(bp+24, kind, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  8077. XFcRulePrint(tls, rule)
  8078. }
  8079. ret = n & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) - (int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1))
  8080. if ret < 0 {
  8081. v2 = 0
  8082. } else {
  8083. v2 = ret
  8084. }
  8085. return v2
  8086. }
  8087. func XIA__FcConfigFileInfoIterInit(tls *libc.TLS, config uintptr, iter uintptr) {
  8088. var c, i uintptr
  8089. _, _ = c, i
  8090. i = iter
  8091. if !(config != 0) {
  8092. c = XIA__FcConfigGetCurrent(tls)
  8093. } else {
  8094. c = config
  8095. }
  8096. XFcPtrListIterInit(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  8097. }
  8098. var XFcConfigFileInfoIterInit = XIA__FcConfigFileInfoIterInit
  8099. func XIA__FcConfigFileInfoIterNext(tls *libc.TLS, config uintptr, iter uintptr) (r TFcBool) {
  8100. var c, i uintptr
  8101. _, _ = c, i
  8102. i = iter
  8103. if !(config != 0) {
  8104. c = XIA__FcConfigGetCurrent(tls)
  8105. } else {
  8106. c = config
  8107. }
  8108. if XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0 {
  8109. XFcPtrListIterNext(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  8110. } else {
  8111. return m_FcFalse
  8112. }
  8113. return int32(m_FcTrue)
  8114. }
  8115. var XFcConfigFileInfoIterNext = XIA__FcConfigFileInfoIterNext
  8116. func XIA__FcConfigFileInfoIterGet(tls *libc.TLS, config uintptr, iter uintptr, name uintptr, description uintptr, enabled uintptr) (r1 TFcBool) {
  8117. var c, i, r, v1, v2, v3 uintptr
  8118. _, _, _, _, _, _ = c, i, r, v1, v2, v3
  8119. i = iter
  8120. if !(config != 0) {
  8121. c = XIA__FcConfigGetCurrent(tls)
  8122. } else {
  8123. c = config
  8124. }
  8125. if !(XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0) {
  8126. return m_FcFalse
  8127. }
  8128. r = XFcPtrListIterGetValue(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  8129. if name != 0 {
  8130. if (*TFcRuleSet)(unsafe.Pointer(r)).Fname != 0 && *(*TFcChar8)(unsafe.Pointer((*TFcRuleSet)(unsafe.Pointer(r)).Fname)) != 0 {
  8131. v1 = (*TFcRuleSet)(unsafe.Pointer(r)).Fname
  8132. } else {
  8133. v1 = __ccgo_ts + 1663
  8134. }
  8135. *(*uintptr)(unsafe.Pointer(name)) = libc.Xstrdup(tls, v1)
  8136. }
  8137. if description != 0 {
  8138. if !((*TFcRuleSet)(unsafe.Pointer(r)).Fdescription != 0) {
  8139. v2 = libc.Xdgettext(tls, __ccgo_ts+1826, __ccgo_ts+1837)
  8140. } else {
  8141. if (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain != 0 {
  8142. v3 = (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain
  8143. } else {
  8144. v3 = __ccgo_ts + 1852
  8145. }
  8146. v2 = libc.Xdgettext(tls, v3, (*TFcRuleSet)(unsafe.Pointer(r)).Fdescription)
  8147. }
  8148. *(*uintptr)(unsafe.Pointer(description)) = libc.Xstrdup(tls, v2)
  8149. }
  8150. if enabled != 0 {
  8151. *(*TFcBool)(unsafe.Pointer(enabled)) = (*TFcRuleSet)(unsafe.Pointer(r)).Fenabled
  8152. }
  8153. return int32(m_FcTrue)
  8154. }
  8155. var XFcConfigFileInfoIterGet = XIA__FcConfigFileInfoIterGet
  8156. const m_FC_CHAR_LEAF_HASH_SIZE = 257
  8157. const m_FC_CHAR_SET_HASH_SIZE = 67
  8158. const m_FC_DIR_SEPARATOR2 = '/'
  8159. const m_FC_DIR_SEPARATOR_S2 = "/"
  8160. const m_FC_SEARCH_PATH_SEPARATOR2 = ':'
  8161. const m_S_IFIFO2 = 0010000
  8162. const m_S_IFMT2 = 0170000
  8163. type TFcCharSetFreezer = struct {
  8164. Fleaf_hash_table [257]uintptr
  8165. Fleaf_blocks uintptr
  8166. Fleaf_block_count int32
  8167. Fset_hash_table [67]uintptr
  8168. Forig_hash_table [67]uintptr
  8169. Fcurrent_block uintptr
  8170. Fleaf_remain int32
  8171. Fleaves_seen int32
  8172. Fcharsets_seen int32
  8173. Fleaves_allocated int32
  8174. Fcharsets_allocated int32
  8175. }
  8176. type T_FcCharSetFreezer = TFcCharSetFreezer
  8177. /* #define CHECK */
  8178. func XIA__FcCharSetCreate(tls *libc.TLS) (r uintptr) {
  8179. var fcs uintptr
  8180. _ = fcs
  8181. fcs = libc.Xmalloc(tls, uint32(16))
  8182. if !(fcs != 0) {
  8183. return uintptr(0)
  8184. }
  8185. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = int32(1)
  8186. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  8187. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  8188. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  8189. return fcs
  8190. }
  8191. var XFcCharSetCreate = XIA__FcCharSetCreate
  8192. func XFcCharSetPromote(tls *libc.TLS, vbuf uintptr) (r uintptr) {
  8193. var fcs uintptr
  8194. _ = fcs
  8195. fcs = vbuf
  8196. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = -libc.Int32FromInt32(1)
  8197. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  8198. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  8199. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  8200. return fcs
  8201. }
  8202. func XIA__FcCharSetNew(tls *libc.TLS) (r uintptr) {
  8203. return XIA__FcCharSetCreate(tls)
  8204. }
  8205. var XFcCharSetNew = XIA__FcCharSetNew
  8206. func XIA__FcCharSetDestroy(tls *libc.TLS, fcs uintptr) {
  8207. var i, v3 int32
  8208. var v1 TFcBool
  8209. var p5 uintptr
  8210. _, _, _, _ = i, v1, v3, p5
  8211. if fcs != 0 {
  8212. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8213. goto _2
  8214. _2:
  8215. if v1 != 0 {
  8216. XFcCacheObjectDereference(tls, fcs)
  8217. return
  8218. }
  8219. p5 = fcs
  8220. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  8221. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  8222. goto _4
  8223. _4:
  8224. if v3 != int32(1) {
  8225. return
  8226. }
  8227. i = 0
  8228. for {
  8229. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8230. break
  8231. }
  8232. libc.Xfree(tls, uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*4))))
  8233. goto _6
  8234. _6:
  8235. ;
  8236. i++
  8237. }
  8238. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  8239. libc.Xfree(tls, uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  8240. libc.Xfree(tls, uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset))
  8241. }
  8242. libc.Xfree(tls, fcs)
  8243. }
  8244. }
  8245. var XFcCharSetDestroy = XIA__FcCharSetDestroy
  8246. /*
  8247. * Search for the leaf containing with the specified num.
  8248. * Return its index if it exists, otherwise return negative of
  8249. * the (position + 1) where it should be inserted
  8250. */
  8251. func _FcCharSetFindLeafForward(tls *libc.TLS, fcs uintptr, start int32, num TFcChar16) (r int32) {
  8252. var high, low, mid int32
  8253. var numbers uintptr
  8254. var page TFcChar16
  8255. _, _, _, _, _ = high, low, mid, numbers, page
  8256. numbers = uintptr(int32(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  8257. low = start
  8258. high = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum - int32(1)
  8259. if !(numbers != 0) {
  8260. return -int32(1)
  8261. }
  8262. for low <= high {
  8263. mid = (low + high) >> int32(1)
  8264. page = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(mid)*2))
  8265. if libc.Int32FromUint16(page) == libc.Int32FromUint16(num) {
  8266. return mid
  8267. }
  8268. if libc.Int32FromUint16(page) < libc.Int32FromUint16(num) {
  8269. low = mid + int32(1)
  8270. } else {
  8271. high = mid - int32(1)
  8272. }
  8273. }
  8274. if high < 0 || high < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(high)*2))) < libc.Int32FromUint16(num) {
  8275. high++
  8276. }
  8277. return -(high + int32(1))
  8278. }
  8279. /*
  8280. * Locate the leaf containing the specified char, return
  8281. * its index if it exists, otherwise return negative of
  8282. * the (position + 1) where it should be inserted
  8283. */
  8284. func _FcCharSetFindLeafPos(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r int32) {
  8285. return _FcCharSetFindLeafForward(tls, fcs, 0, uint16(ucs4>>int32(8)))
  8286. }
  8287. func _FcCharSetFindLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  8288. var pos int32
  8289. _ = pos
  8290. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8291. if pos >= 0 {
  8292. return uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*4)))
  8293. }
  8294. return uintptr(0)
  8295. }
  8296. func _FcCharSetPutLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr, pos int32) (r TFcBool) {
  8297. var alloced, alloced1 uint32
  8298. var distance Tptrdiff_t
  8299. var i int32
  8300. var leaves, new_leaves, numbers uintptr
  8301. _, _, _, _, _, _, _ = alloced, alloced1, distance, i, leaves, new_leaves, numbers
  8302. leaves = uintptr(int32(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)
  8303. numbers = uintptr(int32(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  8304. ucs4 >>= uint32(8)
  8305. if ucs4 >= uint32(0x10000) {
  8306. return m_FcFalse
  8307. }
  8308. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum&((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-libc.Int32FromInt32(1)) != 0) {
  8309. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0) {
  8310. alloced = uint32(8)
  8311. leaves = libc.Xmalloc(tls, alloced*uint32(4))
  8312. numbers = libc.Xmalloc(tls, alloced*uint32(2))
  8313. if !(leaves != 0) || !(numbers != 0) {
  8314. if leaves != 0 {
  8315. libc.Xfree(tls, leaves)
  8316. }
  8317. if numbers != 0 {
  8318. libc.Xfree(tls, numbers)
  8319. }
  8320. return m_FcFalse
  8321. }
  8322. } else {
  8323. alloced1 = libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)
  8324. alloced1 *= uint32(2)
  8325. numbers = libc.Xrealloc(tls, numbers, alloced1*uint32(2))
  8326. if !(numbers != 0) {
  8327. return m_FcFalse
  8328. }
  8329. new_leaves = libc.Xrealloc(tls, leaves, alloced1*uint32(4))
  8330. if !(new_leaves != 0) {
  8331. /*
  8332. * Revert the reallocation of numbers. We update numbers_offset
  8333. * first in case realloc() fails.
  8334. */
  8335. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int32(numbers) - int32(fcs)
  8336. numbers = libc.Xrealloc(tls, numbers, alloced1/uint32(2)*uint32(2))
  8337. /* unlikely to fail though */
  8338. if !(numbers != 0) {
  8339. return m_FcFalse
  8340. }
  8341. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int32(numbers) - int32(fcs)
  8342. return m_FcFalse
  8343. }
  8344. distance = int32(new_leaves) - int32(leaves)
  8345. i = 0
  8346. for {
  8347. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8348. break
  8349. }
  8350. *(*Tintptr_t)(unsafe.Pointer(new_leaves + uintptr(i)*4)) -= distance
  8351. goto _1
  8352. _1:
  8353. ;
  8354. i++
  8355. }
  8356. leaves = new_leaves
  8357. }
  8358. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int32(leaves) - int32(fcs)
  8359. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int32(numbers) - int32(fcs)
  8360. }
  8361. libc.Xmemmove(tls, leaves+uintptr(pos)*4+uintptr(1)*4, leaves+uintptr(pos)*4, libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint32(4))
  8362. libc.Xmemmove(tls, numbers+uintptr(pos)*2+uintptr(1)*2, numbers+uintptr(pos)*2, libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint32(2))
  8363. *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(pos)*2)) = uint16(ucs4)
  8364. *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(pos)*4)) = int32(leaf) - int32(leaves)
  8365. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum++
  8366. return int32(m_FcTrue)
  8367. }
  8368. /*
  8369. * Locate the leaf containing the specified char, creating it
  8370. * if desired
  8371. */
  8372. func XFcCharSetFindLeafCreate(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  8373. var leaf uintptr
  8374. var pos int32
  8375. _, _ = leaf, pos
  8376. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8377. if pos >= 0 {
  8378. return uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*4)))
  8379. }
  8380. leaf = libc.Xcalloc(tls, uint32(1), uint32(32))
  8381. if !(leaf != 0) {
  8382. return uintptr(0)
  8383. }
  8384. pos = -pos - int32(1)
  8385. if !(_FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos) != 0) {
  8386. libc.Xfree(tls, leaf)
  8387. return uintptr(0)
  8388. }
  8389. return leaf
  8390. }
  8391. func _FcCharSetInsertLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  8392. var pos int32
  8393. _ = pos
  8394. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8395. if pos >= 0 {
  8396. libc.Xfree(tls, uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*4))))
  8397. *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*4)) = int32(leaf) - int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  8398. return int32(m_FcTrue)
  8399. }
  8400. pos = -pos - int32(1)
  8401. return _FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos)
  8402. }
  8403. func XIA__FcCharSetAddChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8404. var b, leaf uintptr
  8405. var v1 TFcBool
  8406. var v3 bool
  8407. _, _, _, _ = b, leaf, v1, v3
  8408. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  8409. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8410. goto _2
  8411. _2:
  8412. }
  8413. if v3 || v1 != 0 {
  8414. return m_FcFalse
  8415. }
  8416. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  8417. if !(leaf != 0) {
  8418. return m_FcFalse
  8419. }
  8420. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  8421. *(*TFcChar32)(unsafe.Pointer(b)) |= uint32(1) << (ucs4 & uint32(0x1f))
  8422. return int32(m_FcTrue)
  8423. }
  8424. var XFcCharSetAddChar = XIA__FcCharSetAddChar
  8425. func XIA__FcCharSetDelChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8426. var b, leaf uintptr
  8427. var v1 TFcBool
  8428. var v3 bool
  8429. _, _, _, _ = b, leaf, v1, v3
  8430. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  8431. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8432. goto _2
  8433. _2:
  8434. }
  8435. if v3 || v1 != 0 {
  8436. return m_FcFalse
  8437. }
  8438. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  8439. if !(leaf != 0) {
  8440. return int32(m_FcTrue)
  8441. }
  8442. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  8443. *(*TFcChar32)(unsafe.Pointer(b)) &= ^(libc.Uint32FromUint32(1) << (ucs4 & libc.Uint32FromInt32(0x1f)))
  8444. /* We don't bother removing the leaf if it's empty */
  8445. return int32(m_FcTrue)
  8446. }
  8447. var XFcCharSetDelChar = XIA__FcCharSetDelChar
  8448. /*
  8449. * An iterator for the leaves of a charset
  8450. */
  8451. type TFcCharSetIter = struct {
  8452. Fleaf uintptr
  8453. Fucs4 TFcChar32
  8454. Fpos int32
  8455. }
  8456. /*
  8457. * An iterator for the leaves of a charset
  8458. */
  8459. type T_fcCharSetIter = TFcCharSetIter
  8460. /*
  8461. * Set iter->leaf to the leaf containing iter->ucs4 or higher
  8462. */
  8463. func _FcCharSetIterSet(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8464. var pos int32
  8465. _ = pos
  8466. pos = _FcCharSetFindLeafPos(tls, fcs, (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4)
  8467. if pos < 0 {
  8468. pos = -pos - int32(1)
  8469. if pos == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  8470. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  8471. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  8472. return
  8473. }
  8474. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  8475. }
  8476. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*4)))
  8477. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  8478. }
  8479. func _FcCharSetIterNext(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8480. var pos int32
  8481. _ = pos
  8482. pos = (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos + int32(1)
  8483. if pos >= (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  8484. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  8485. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  8486. } else {
  8487. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  8488. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*4)))
  8489. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  8490. }
  8491. }
  8492. func _FcCharSetIterStart(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8493. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(0)
  8494. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = 0
  8495. _FcCharSetIterSet(tls, fcs, iter)
  8496. }
  8497. func XIA__FcCharSetCopy(tls *libc.TLS, src uintptr) (r uintptr) {
  8498. var v1 TFcBool
  8499. var p4 uintptr
  8500. _, _ = v1, p4
  8501. if src != 0 {
  8502. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(src)).Fcount == -libc.Int32FromInt32(1))
  8503. goto _2
  8504. _2:
  8505. if !(v1 != 0) {
  8506. p4 = src
  8507. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  8508. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  8509. goto _3
  8510. _3:
  8511. } else {
  8512. XFcCacheObjectReference(tls, src)
  8513. }
  8514. }
  8515. return src
  8516. }
  8517. var XFcCharSetCopy = XIA__FcCharSetCopy
  8518. func XIA__FcCharSetEqual(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  8519. bp := tls.Alloc(32)
  8520. defer tls.Free(32)
  8521. var i int32
  8522. var _ /* ai at bp+0 */ TFcCharSetIter
  8523. var _ /* bi at bp+12 */ TFcCharSetIter
  8524. _ = i
  8525. if a == b {
  8526. return int32(m_FcTrue)
  8527. }
  8528. if !(a != 0) || !(b != 0) {
  8529. return m_FcFalse
  8530. }
  8531. _FcCharSetIterStart(tls, a, bp)
  8532. _FcCharSetIterStart(tls, b, bp+12)
  8533. for {
  8534. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf != 0) {
  8535. break
  8536. }
  8537. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 != (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8538. return m_FcFalse
  8539. }
  8540. i = 0
  8541. for {
  8542. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8543. break
  8544. }
  8545. if *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf + uintptr(i)*4)) {
  8546. return m_FcFalse
  8547. }
  8548. goto _2
  8549. _2:
  8550. ;
  8551. i++
  8552. }
  8553. goto _1
  8554. _1:
  8555. ;
  8556. _FcCharSetIterNext(tls, a, bp)
  8557. _FcCharSetIterNext(tls, b, bp+12)
  8558. }
  8559. return libc.BoolInt32((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf)
  8560. }
  8561. var XFcCharSetEqual = XIA__FcCharSetEqual
  8562. func _FcCharSetAddLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  8563. var new1 uintptr
  8564. _ = new1
  8565. new1 = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  8566. if !(new1 != 0) {
  8567. return m_FcFalse
  8568. }
  8569. *(*TFcCharLeaf)(unsafe.Pointer(new1)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  8570. return int32(m_FcTrue)
  8571. }
  8572. func _FcCharSetOperate(tls *libc.TLS, a uintptr, b uintptr, overlap uintptr, aonly TFcBool, bonly TFcBool) (r uintptr) {
  8573. bp := tls.Alloc(64)
  8574. defer tls.Free(64)
  8575. var fcs uintptr
  8576. var _ /* ai at bp+0 */ TFcCharSetIter
  8577. var _ /* bi at bp+12 */ TFcCharSetIter
  8578. var _ /* leaf at bp+24 */ TFcCharLeaf
  8579. _ = fcs
  8580. if !(a != 0) || !(b != 0) {
  8581. goto bail0
  8582. }
  8583. fcs = XIA__FcCharSetCreate(tls)
  8584. if !(fcs != 0) {
  8585. goto bail0
  8586. }
  8587. _FcCharSetIterStart(tls, a, bp)
  8588. _FcCharSetIterStart(tls, b, bp+12)
  8589. for ((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 || bonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf != 0) && ((*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf != 0 || aonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8590. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8591. if aonly != 0 {
  8592. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf) != 0) {
  8593. goto bail1
  8594. }
  8595. _FcCharSetIterNext(tls, a, bp)
  8596. } else {
  8597. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4
  8598. _FcCharSetIterSet(tls, a, bp)
  8599. }
  8600. } else {
  8601. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  8602. if bonly != 0 {
  8603. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf) != 0) {
  8604. goto bail1
  8605. }
  8606. _FcCharSetIterNext(tls, b, bp+12)
  8607. } else {
  8608. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8609. _FcCharSetIterSet(tls, b, bp+12)
  8610. }
  8611. } else {
  8612. if (*(*func(*libc.TLS, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{overlap})))(tls, bp+24, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf) != 0 {
  8613. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, bp+24) != 0) {
  8614. goto bail1
  8615. }
  8616. }
  8617. _FcCharSetIterNext(tls, a, bp)
  8618. _FcCharSetIterNext(tls, b, bp+12)
  8619. }
  8620. }
  8621. }
  8622. return fcs
  8623. goto bail1
  8624. bail1:
  8625. ;
  8626. XIA__FcCharSetDestroy(tls, fcs)
  8627. goto bail0
  8628. bail0:
  8629. ;
  8630. return uintptr(0)
  8631. return r
  8632. }
  8633. func _FcCharSetIntersectLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8634. var i int32
  8635. var nonempty TFcBool
  8636. var v2 TFcChar32
  8637. _, _, _ = i, nonempty, v2
  8638. nonempty = m_FcFalse
  8639. i = 0
  8640. for {
  8641. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8642. break
  8643. }
  8644. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8645. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  8646. if v2 != 0 {
  8647. nonempty = int32(m_FcTrue)
  8648. }
  8649. goto _1
  8650. _1:
  8651. ;
  8652. i++
  8653. }
  8654. return nonempty
  8655. }
  8656. func XIA__FcCharSetIntersect(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8657. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetIntersectLeaf), m_FcFalse, m_FcFalse)
  8658. }
  8659. var XFcCharSetIntersect = XIA__FcCharSetIntersect
  8660. func _FcCharSetUnionLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8661. var i int32
  8662. _ = i
  8663. i = 0
  8664. for {
  8665. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8666. break
  8667. }
  8668. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) | *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8669. goto _1
  8670. _1:
  8671. ;
  8672. i++
  8673. }
  8674. return int32(m_FcTrue)
  8675. }
  8676. func XIA__FcCharSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8677. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetUnionLeaf), int32(m_FcTrue), int32(m_FcTrue))
  8678. }
  8679. var XFcCharSetUnion = XIA__FcCharSetUnion
  8680. func XIA__FcCharSetMerge(tls *libc.TLS, a uintptr, b uintptr, changed uintptr) (r TFcBool) {
  8681. var ai, bi, v3 int32
  8682. var al, bl uintptr
  8683. var an, bn TFcChar16
  8684. var v1 TFcBool
  8685. _, _, _, _, _, _, _, _ = ai, al, an, bi, bl, bn, v1, v3
  8686. ai = 0
  8687. bi = 0
  8688. if !(a != 0) || !(b != 0) {
  8689. return m_FcFalse
  8690. }
  8691. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(a)).Fcount == -libc.Int32FromInt32(1))
  8692. goto _2
  8693. _2:
  8694. if v1 != 0 {
  8695. if changed != 0 {
  8696. *(*TFcBool)(unsafe.Pointer(changed)) = m_FcFalse
  8697. }
  8698. return m_FcFalse
  8699. }
  8700. if changed != 0 {
  8701. *(*TFcBool)(unsafe.Pointer(changed)) = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, b, a) != 0))
  8702. if !(*(*TFcBool)(unsafe.Pointer(changed)) != 0) {
  8703. return int32(m_FcTrue)
  8704. }
  8705. }
  8706. for bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  8707. if ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum {
  8708. v3 = libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int32(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2)))
  8709. } else {
  8710. v3 = ^libc.Int32FromInt32(0)
  8711. }
  8712. an = libc.Uint16FromInt32(v3)
  8713. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  8714. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  8715. ai = _FcCharSetFindLeafForward(tls, a, ai+int32(1), bn)
  8716. if ai < 0 {
  8717. ai = -ai - int32(1)
  8718. }
  8719. } else {
  8720. bl = uintptr(int32(uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*4)))
  8721. if libc.Int32FromUint16(bn) < libc.Int32FromUint16(an) {
  8722. if !(_FcCharSetAddLeaf(tls, a, libc.Uint32FromInt32(libc.Int32FromUint16(bn)<<int32(8)), bl) != 0) {
  8723. return m_FcFalse
  8724. }
  8725. } else {
  8726. al = uintptr(int32(uintptr(int32(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*4)))
  8727. _FcCharSetUnionLeaf(tls, al, al, bl)
  8728. }
  8729. ai++
  8730. bi++
  8731. }
  8732. }
  8733. return int32(m_FcTrue)
  8734. }
  8735. var XFcCharSetMerge = XIA__FcCharSetMerge
  8736. func _FcCharSetSubtractLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8737. var i int32
  8738. var nonempty TFcBool
  8739. var v2 TFcChar32
  8740. _, _, _ = i, nonempty, v2
  8741. nonempty = m_FcFalse
  8742. i = 0
  8743. for {
  8744. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8745. break
  8746. }
  8747. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8748. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  8749. if v2 != 0 {
  8750. nonempty = int32(m_FcTrue)
  8751. }
  8752. goto _1
  8753. _1:
  8754. ;
  8755. i++
  8756. }
  8757. return nonempty
  8758. }
  8759. func XIA__FcCharSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8760. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetSubtractLeaf), int32(m_FcTrue), m_FcFalse)
  8761. }
  8762. var XFcCharSetSubtract = XIA__FcCharSetSubtract
  8763. func XIA__FcCharSetHasChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8764. var leaf uintptr
  8765. _ = leaf
  8766. if !(fcs != 0) {
  8767. return m_FcFalse
  8768. }
  8769. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  8770. if !(leaf != 0) {
  8771. return m_FcFalse
  8772. }
  8773. return libc.BoolInt32(*(*TFcChar32)(unsafe.Pointer(leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4))&(uint32(1)<<(ucs4&uint32(0x1f))) != uint32(0))
  8774. }
  8775. var XFcCharSetHasChar = XIA__FcCharSetHasChar
  8776. func _FcCharSetPopCount(tls *libc.TLS, c1 TFcChar32) (r TFcChar32) {
  8777. return libc.Uint32FromInt32(libc.X__builtin_popcount(tls, c1))
  8778. }
  8779. func XIA__FcCharSetIntersectCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  8780. bp := tls.Alloc(32)
  8781. defer tls.Free(32)
  8782. var am, bm, v2, v3 uintptr
  8783. var count TFcChar32
  8784. var i, v1 int32
  8785. var _ /* ai at bp+0 */ TFcCharSetIter
  8786. var _ /* bi at bp+12 */ TFcCharSetIter
  8787. _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3
  8788. count = uint32(0)
  8789. if a != 0 && b != 0 {
  8790. _FcCharSetIterStart(tls, a, bp)
  8791. _FcCharSetIterStart(tls, b, bp+12)
  8792. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf != 0 {
  8793. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8794. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8795. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf
  8796. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8797. for {
  8798. v1 = i
  8799. i--
  8800. if !(v1 != 0) {
  8801. break
  8802. }
  8803. v2 = am
  8804. am += 4
  8805. v3 = bm
  8806. bm += 4
  8807. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2))&*(*TFcChar32)(unsafe.Pointer(v3)))
  8808. }
  8809. _FcCharSetIterNext(tls, a, bp)
  8810. } else {
  8811. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8812. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4
  8813. _FcCharSetIterSet(tls, a, bp)
  8814. }
  8815. }
  8816. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  8817. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8818. _FcCharSetIterSet(tls, b, bp+12)
  8819. }
  8820. }
  8821. }
  8822. return count
  8823. }
  8824. var XFcCharSetIntersectCount = XIA__FcCharSetIntersectCount
  8825. func XIA__FcCharSetCount(tls *libc.TLS, a uintptr) (r TFcChar32) {
  8826. bp := tls.Alloc(16)
  8827. defer tls.Free(16)
  8828. var am, v3 uintptr
  8829. var count TFcChar32
  8830. var i, v2 int32
  8831. var _ /* ai at bp+0 */ TFcCharSetIter
  8832. _, _, _, _, _ = am, count, i, v2, v3
  8833. count = uint32(0)
  8834. if a != 0 {
  8835. _FcCharSetIterStart(tls, a, bp)
  8836. for {
  8837. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8838. break
  8839. }
  8840. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8841. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8842. for {
  8843. v2 = i
  8844. i--
  8845. if !(v2 != 0) {
  8846. break
  8847. }
  8848. v3 = am
  8849. am += 4
  8850. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v3)))
  8851. }
  8852. goto _1
  8853. _1:
  8854. ;
  8855. _FcCharSetIterNext(tls, a, bp)
  8856. }
  8857. }
  8858. return count
  8859. }
  8860. var XFcCharSetCount = XIA__FcCharSetCount
  8861. func XIA__FcCharSetSubtractCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  8862. bp := tls.Alloc(32)
  8863. defer tls.Free(32)
  8864. var am, bm, v2, v3, v5 uintptr
  8865. var count TFcChar32
  8866. var i, v1, v4 int32
  8867. var _ /* ai at bp+0 */ TFcCharSetIter
  8868. var _ /* bi at bp+12 */ TFcCharSetIter
  8869. _, _, _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3, v4, v5
  8870. count = uint32(0)
  8871. if a != 0 && b != 0 {
  8872. _FcCharSetIterStart(tls, a, bp)
  8873. _FcCharSetIterStart(tls, b, bp+12)
  8874. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 {
  8875. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 <= (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8876. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8877. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8878. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8879. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf
  8880. for {
  8881. v1 = i
  8882. i--
  8883. if !(v1 != 0) {
  8884. break
  8885. }
  8886. v2 = am
  8887. am += 4
  8888. v3 = bm
  8889. bm += 4
  8890. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)))
  8891. }
  8892. } else {
  8893. for {
  8894. v4 = i
  8895. i--
  8896. if !(v4 != 0) {
  8897. break
  8898. }
  8899. v5 = am
  8900. am += 4
  8901. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v5)))
  8902. }
  8903. }
  8904. _FcCharSetIterNext(tls, a, bp)
  8905. } else {
  8906. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf != 0 {
  8907. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8908. _FcCharSetIterSet(tls, b, bp+12)
  8909. }
  8910. }
  8911. }
  8912. }
  8913. return count
  8914. }
  8915. var XFcCharSetSubtractCount = XIA__FcCharSetSubtractCount
  8916. // C documentation
  8917. //
  8918. // /*
  8919. // * return FcTrue iff a is a subset of b
  8920. // */
  8921. func XIA__FcCharSetIsSubset(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  8922. var ai, bi, i, v1 int32
  8923. var am, bm, v2, v3 uintptr
  8924. var an, bn TFcChar16
  8925. _, _, _, _, _, _, _, _, _, _ = ai, am, an, bi, bm, bn, i, v1, v2, v3
  8926. if a == b {
  8927. return int32(m_FcTrue)
  8928. }
  8929. if !(a != 0) || !(b != 0) {
  8930. return m_FcFalse
  8931. }
  8932. bi = 0
  8933. ai = 0
  8934. for ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum && bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  8935. an = *(*TFcChar16)(unsafe.Pointer(uintptr(int32(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2))
  8936. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  8937. /*
  8938. * Check matching pages
  8939. */
  8940. if libc.Int32FromUint16(an) == libc.Int32FromUint16(bn) {
  8941. am = uintptr(int32(uintptr(int32(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*4)))
  8942. bm = uintptr(int32(uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*4)))
  8943. if am != bm {
  8944. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8945. /*
  8946. * Does am have any bits not in bm?
  8947. */
  8948. for {
  8949. v1 = i
  8950. i--
  8951. if !(v1 != 0) {
  8952. break
  8953. }
  8954. v2 = am
  8955. am += 4
  8956. v3 = bm
  8957. bm += 4
  8958. if *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)) != 0 {
  8959. return m_FcFalse
  8960. }
  8961. }
  8962. }
  8963. ai++
  8964. bi++
  8965. } else {
  8966. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  8967. return m_FcFalse
  8968. } else {
  8969. bi = _FcCharSetFindLeafForward(tls, b, bi+int32(1), an)
  8970. if bi < 0 {
  8971. bi = -bi - int32(1)
  8972. }
  8973. }
  8974. }
  8975. }
  8976. /*
  8977. * did we look at every page?
  8978. */
  8979. return libc.BoolInt32(ai >= (*TFcCharSet)(unsafe.Pointer(a)).Fnum)
  8980. }
  8981. var XFcCharSetIsSubset = XIA__FcCharSetIsSubset
  8982. /*
  8983. * These two functions efficiently walk the entire charmap for
  8984. * other software (like pango) that want their own copy
  8985. */
  8986. func XIA__FcCharSetNextPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8987. bp := tls.Alloc(16)
  8988. defer tls.Free(16)
  8989. var page TFcChar32
  8990. var _ /* ai at bp+0 */ TFcCharSetIter
  8991. _ = page
  8992. if !(a != 0) {
  8993. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8994. }
  8995. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = *(*TFcChar32)(unsafe.Pointer(next))
  8996. _FcCharSetIterSet(tls, a, bp)
  8997. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8998. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8999. }
  9000. /*
  9001. * Save current information
  9002. */
  9003. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  9004. libc.Xmemcpy(tls, map1, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint32(32))
  9005. /*
  9006. * Step to next page
  9007. */
  9008. _FcCharSetIterNext(tls, a, bp)
  9009. *(*TFcChar32)(unsafe.Pointer(next)) = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  9010. return page
  9011. }
  9012. var XFcCharSetNextPage = XIA__FcCharSetNextPage
  9013. func XIA__FcCharSetFirstPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  9014. *(*TFcChar32)(unsafe.Pointer(next)) = uint32(0)
  9015. return XIA__FcCharSetNextPage(tls, a, map1, next)
  9016. }
  9017. var XFcCharSetFirstPage = XIA__FcCharSetFirstPage
  9018. /*
  9019. * old coverage API, rather hard to use correctly
  9020. */
  9021. func XIA__FcCharSetCoverage(tls *libc.TLS, a uintptr, page TFcChar32, result uintptr) (r TFcChar32) {
  9022. bp := tls.Alloc(16)
  9023. defer tls.Free(16)
  9024. var _ /* ai at bp+0 */ TFcCharSetIter
  9025. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = page
  9026. _FcCharSetIterSet(tls, a, bp)
  9027. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  9028. libc.Xmemset(tls, result, int32('\000'), libc.Uint32FromInt32(libc.Int32FromInt32(256)/libc.Int32FromInt32(8)))
  9029. page = uint32(0)
  9030. } else {
  9031. libc.Xmemcpy(tls, result, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint32(32))
  9032. _FcCharSetIterNext(tls, a, bp)
  9033. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  9034. }
  9035. return page
  9036. }
  9037. var XFcCharSetCoverage = XIA__FcCharSetCoverage
  9038. func _FcNameParseRange(tls *libc.TLS, string1 uintptr, pfirst uintptr, plast uintptr) (r TFcBool) {
  9039. bp := tls.Alloc(16)
  9040. defer tls.Free(16)
  9041. var first, last, v1, v2, v4, v5, v6 int32
  9042. var t uintptr
  9043. var _ /* s at bp+0 */ uintptr
  9044. _, _, _, _, _, _, _, _ = first, last, t, v1, v2, v4, v5, v6
  9045. *(*uintptr)(unsafe.Pointer(bp)) = *(*uintptr)(unsafe.Pointer(string1))
  9046. for {
  9047. v1 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))))
  9048. v2 = libc.BoolInt32(v1 == int32(' ') || libc.Uint32FromInt32(v1)-uint32('\t') < uint32(5))
  9049. goto _3
  9050. _3:
  9051. if !(v2 != 0) {
  9052. break
  9053. }
  9054. *(*uintptr)(unsafe.Pointer(bp))++
  9055. }
  9056. t = *(*uintptr)(unsafe.Pointer(bp))
  9057. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  9058. v4 = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  9059. last = v4
  9060. first = v4
  9061. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  9062. return m_FcFalse
  9063. }
  9064. for {
  9065. v5 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))))
  9066. v6 = libc.BoolInt32(v5 == int32(' ') || libc.Uint32FromInt32(v5)-uint32('\t') < uint32(5))
  9067. goto _7
  9068. _7:
  9069. if !(v6 != 0) {
  9070. break
  9071. }
  9072. *(*uintptr)(unsafe.Pointer(bp))++
  9073. }
  9074. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) == int32('-') {
  9075. *(*uintptr)(unsafe.Pointer(bp))++
  9076. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  9077. last = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  9078. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  9079. return m_FcFalse
  9080. }
  9081. }
  9082. if *(*uintptr)(unsafe.Pointer(bp)) == t || first < 0 || last < 0 || last < first || last > int32(0x10ffff) {
  9083. return m_FcFalse
  9084. }
  9085. *(*uintptr)(unsafe.Pointer(string1)) = *(*uintptr)(unsafe.Pointer(bp))
  9086. *(*TFcChar32)(unsafe.Pointer(pfirst)) = libc.Uint32FromInt32(first)
  9087. *(*TFcChar32)(unsafe.Pointer(plast)) = libc.Uint32FromInt32(last)
  9088. return int32(m_FcTrue)
  9089. }
  9090. func XFcNameParseCharSet(tls *libc.TLS, _string uintptr) (r uintptr) {
  9091. bp := tls.Alloc(16)
  9092. defer tls.Free(16)
  9093. *(*uintptr)(unsafe.Pointer(bp)) = _string
  9094. var c uintptr
  9095. var u TFcChar32
  9096. var _ /* first at bp+4 */ TFcChar32
  9097. var _ /* last at bp+8 */ TFcChar32
  9098. _, _ = c, u
  9099. c = XIA__FcCharSetCreate(tls)
  9100. if !(c != 0) {
  9101. goto bail0
  9102. }
  9103. for *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != 0 {
  9104. if !(_FcNameParseRange(tls, bp, bp+4, bp+8) != 0) {
  9105. goto bail1
  9106. }
  9107. u = *(*TFcChar32)(unsafe.Pointer(bp + 4))
  9108. for {
  9109. if !(u < *(*TFcChar32)(unsafe.Pointer(bp + 8))+uint32(1)) {
  9110. break
  9111. }
  9112. XIA__FcCharSetAddChar(tls, c, u)
  9113. goto _1
  9114. _1:
  9115. ;
  9116. u++
  9117. }
  9118. }
  9119. return c
  9120. goto bail1
  9121. bail1:
  9122. ;
  9123. XIA__FcCharSetDestroy(tls, c)
  9124. goto bail0
  9125. bail0:
  9126. ;
  9127. return libc.UintptrFromInt32(0)
  9128. return r
  9129. }
  9130. func _FcNameUnparseUnicode(tls *libc.TLS, buf uintptr, u TFcChar32) {
  9131. bp := tls.Alloc(80)
  9132. defer tls.Free(80)
  9133. var _ /* buf_static at bp+0 */ [64]TFcChar8
  9134. libc.X__builtin_snprintf(tls, bp, uint32(64), __ccgo_ts+1868, libc.VaList(bp+72, u))
  9135. XFcStrBufString(tls, buf, bp)
  9136. }
  9137. func XFcNameUnparseCharSet(tls *libc.TLS, buf uintptr, c uintptr) (r TFcBool) {
  9138. bp := tls.Alloc(16)
  9139. defer tls.Free(16)
  9140. var bits, first, last, u, v1 TFcChar32
  9141. var i int32
  9142. var _ /* ci at bp+0 */ TFcCharSetIter
  9143. _, _, _, _, _, _ = bits, first, i, last, u, v1
  9144. v1 = libc.Uint32FromInt32(0x7FFFFFFF)
  9145. last = v1
  9146. first = v1
  9147. _FcCharSetIterStart(tls, c, bp)
  9148. for {
  9149. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  9150. break
  9151. }
  9152. i = 0
  9153. for {
  9154. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9155. break
  9156. }
  9157. bits = *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4))
  9158. u = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 + libc.Uint32FromInt32(i*int32(32))
  9159. for bits != 0 {
  9160. if bits&uint32(1) != 0 {
  9161. if u != last+uint32(1) {
  9162. if last != first {
  9163. XFcStrBufChar(tls, buf, uint8('-'))
  9164. _FcNameUnparseUnicode(tls, buf, last)
  9165. }
  9166. if last != uint32(0x7FFFFFFF) {
  9167. XFcStrBufChar(tls, buf, uint8(' '))
  9168. }
  9169. /* Start new range. */
  9170. first = u
  9171. _FcNameUnparseUnicode(tls, buf, u)
  9172. }
  9173. last = u
  9174. }
  9175. bits >>= uint32(1)
  9176. u++
  9177. }
  9178. goto _3
  9179. _3:
  9180. ;
  9181. i++
  9182. }
  9183. goto _2
  9184. _2:
  9185. ;
  9186. _FcCharSetIterNext(tls, c, bp)
  9187. }
  9188. if last != first {
  9189. XFcStrBufChar(tls, buf, uint8('-'))
  9190. _FcNameUnparseUnicode(tls, buf, last)
  9191. }
  9192. return int32(m_FcTrue)
  9193. }
  9194. type TFcCharLeafEnt = struct {
  9195. Fnext uintptr
  9196. Fhash TFcChar32
  9197. Fleaf TFcCharLeaf
  9198. }
  9199. type T_FcCharLeafEnt = TFcCharLeafEnt
  9200. type TFcCharSetEnt = struct {
  9201. Fnext uintptr
  9202. Fhash TFcChar32
  9203. Fset TFcCharSet
  9204. }
  9205. type T_FcCharSetEnt = TFcCharSetEnt
  9206. type TFcCharSetOrigEnt = struct {
  9207. Fnext uintptr
  9208. Forig uintptr
  9209. Ffrozen uintptr
  9210. }
  9211. type T_FcCharSetOrigEnt = TFcCharSetOrigEnt
  9212. func _FcCharLeafEntCreate(tls *libc.TLS, freezer uintptr) (r uintptr) {
  9213. var newBlocks, v1, v2, v3 uintptr
  9214. _, _, _, _ = newBlocks, v1, v2, v3
  9215. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain != 0) {
  9216. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count++
  9217. newBlocks = libc.Xrealloc(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks, libc.Uint32FromInt32((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count)*uint32(4))
  9218. if !(newBlocks != 0) {
  9219. return uintptr(0)
  9220. }
  9221. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks = newBlocks
  9222. v1 = libc.Xmalloc(tls, libc.Uint32FromInt32(4096)/libc.Uint32FromInt64(40)*libc.Uint32FromInt64(40))
  9223. *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count-int32(1))*4)) = v1
  9224. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block = v1
  9225. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block != 0) {
  9226. return uintptr(0)
  9227. }
  9228. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain = libc.Int32FromUint32(libc.Uint32FromInt32(4096) / libc.Uint32FromInt64(40))
  9229. }
  9230. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain--
  9231. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated++
  9232. v3 = freezer + 1572
  9233. v2 = *(*uintptr)(unsafe.Pointer(v3))
  9234. *(*uintptr)(unsafe.Pointer(v3)) += 40
  9235. return v2
  9236. }
  9237. func _FcCharLeafHash(tls *libc.TLS, leaf uintptr) (r TFcChar32) {
  9238. var hash TFcChar32
  9239. var i int32
  9240. _, _ = hash, i
  9241. hash = uint32(0)
  9242. i = 0
  9243. for {
  9244. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9245. break
  9246. }
  9247. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(i)*4))
  9248. goto _1
  9249. _1:
  9250. ;
  9251. i++
  9252. }
  9253. return hash
  9254. }
  9255. func _FcCharSetFreezeLeaf(tls *libc.TLS, freezer uintptr, leaf uintptr) (r uintptr) {
  9256. var bucket, ent uintptr
  9257. var hash TFcChar32
  9258. _, _, _ = bucket, ent, hash
  9259. hash = _FcCharLeafHash(tls, leaf)
  9260. bucket = freezer + uintptr(hash%uint32(m_FC_CHAR_LEAF_HASH_SIZE))*4
  9261. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9262. for {
  9263. if !(ent != 0) {
  9264. break
  9265. }
  9266. if (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash == hash && !(libc.Xmemcmp(tls, ent+8, leaf, uint32(32)) != 0) {
  9267. return ent + 8
  9268. }
  9269. goto _1
  9270. _1:
  9271. ;
  9272. ent = (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext
  9273. }
  9274. ent = _FcCharLeafEntCreate(tls, freezer)
  9275. if !(ent != 0) {
  9276. return uintptr(0)
  9277. }
  9278. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fleaf = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  9279. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash = hash
  9280. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9281. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9282. return ent + 8
  9283. }
  9284. func _FcCharSetHash(tls *libc.TLS, fcs uintptr) (r TFcChar32) {
  9285. var hash TFcChar32
  9286. var i int32
  9287. _, _ = hash, i
  9288. hash = uint32(0)
  9289. /* hash in leaves */
  9290. i = 0
  9291. for {
  9292. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9293. break
  9294. }
  9295. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcCharLeafHash(tls, uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*4))))
  9296. goto _1
  9297. _1:
  9298. ;
  9299. i++
  9300. }
  9301. /* hash in numbers */
  9302. i = 0
  9303. for {
  9304. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9305. break
  9306. }
  9307. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))
  9308. goto _2
  9309. _2:
  9310. ;
  9311. i++
  9312. }
  9313. return hash
  9314. }
  9315. func _FcCharSetFreezeOrig(tls *libc.TLS, freezer uintptr, orig uintptr, frozen uintptr) (r TFcBool) {
  9316. var bucket, ent uintptr
  9317. _, _ = bucket, ent
  9318. bucket = freezer + 1304 + uintptr(uint32(orig)%uint32(m_FC_CHAR_SET_HASH_SIZE))*4
  9319. ent = libc.Xmalloc(tls, uint32(12))
  9320. if !(ent != 0) {
  9321. return m_FcFalse
  9322. }
  9323. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig = orig
  9324. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen = frozen
  9325. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9326. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9327. return int32(m_FcTrue)
  9328. }
  9329. func _FcCharSetFreezeBase(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  9330. var bucket, ent, ent_leaves uintptr
  9331. var hash TFcChar32
  9332. var i, i1, size int32
  9333. var ok TFcBool
  9334. _, _, _, _, _, _, _, _ = bucket, ent, ent_leaves, hash, i, i1, ok, size
  9335. hash = _FcCharSetHash(tls, fcs)
  9336. bucket = freezer + 1036 + uintptr(hash%uint32(m_FC_CHAR_SET_HASH_SIZE))*4
  9337. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9338. for {
  9339. if !(ent != 0) {
  9340. break
  9341. }
  9342. if (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash == hash && (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && !(libc.Xmemcmp(tls, uintptr(Tintptr_t(ent+8)+(*TFcCharSet)(unsafe.Pointer(ent+8)).Fnumbers_offset), uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint32(2)) != 0) {
  9343. ok = int32(m_FcTrue)
  9344. i1 = 0
  9345. for {
  9346. if !(i1 < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9347. break
  9348. }
  9349. if uintptr(int32(uintptr(Tintptr_t(ent+8)+(*TFcCharSet)(unsafe.Pointer(ent+8)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(ent+8)+(*TFcCharSet)(unsafe.Pointer(ent+8)).Fleaves_offset) + uintptr(i1)*4))) != uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i1)*4))) {
  9350. ok = m_FcFalse
  9351. }
  9352. goto _2
  9353. _2:
  9354. ;
  9355. i1++
  9356. }
  9357. if ok != 0 {
  9358. return ent + 8
  9359. }
  9360. }
  9361. goto _1
  9362. _1:
  9363. ;
  9364. ent = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  9365. }
  9366. size = libc.Int32FromUint32(libc.Uint32FromInt64(24) + libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint32FromInt64(2))
  9367. ent = libc.Xmalloc(tls, libc.Uint32FromInt32(size))
  9368. if !(ent != 0) {
  9369. return uintptr(0)
  9370. }
  9371. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated++
  9372. (*TFcRef)(unsafe.Pointer(ent + 8)).Fcount = -libc.Int32FromInt32(1)
  9373. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  9374. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  9375. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = int32(16)
  9376. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset) + libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint32FromInt64(4))
  9377. ent_leaves = uintptr(Tintptr_t(ent+8) + (*TFcCharSet)(unsafe.Pointer(ent+8)).Fleaves_offset)
  9378. i = 0
  9379. for {
  9380. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9381. break
  9382. }
  9383. *(*Tintptr_t)(unsafe.Pointer(ent_leaves + uintptr(i)*4)) = int32(uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*4)))) - int32(ent_leaves)
  9384. goto _3
  9385. _3:
  9386. ;
  9387. i++
  9388. }
  9389. libc.Xmemcpy(tls, uintptr(Tintptr_t(ent+8)+(*TFcCharSet)(unsafe.Pointer(ent+8)).Fnumbers_offset), uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint32(2))
  9390. } else {
  9391. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = 0
  9392. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = 0
  9393. }
  9394. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash = hash
  9395. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9396. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9397. return ent + 8
  9398. }
  9399. func _FcCharSetFindFrozen(tls *libc.TLS, freezer uintptr, orig uintptr) (r uintptr) {
  9400. var bucket, ent uintptr
  9401. _, _ = bucket, ent
  9402. bucket = freezer + 1304 + uintptr(uint32(orig)%uint32(m_FC_CHAR_SET_HASH_SIZE))*4
  9403. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9404. for {
  9405. if !(ent != 0) {
  9406. break
  9407. }
  9408. if (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig == orig {
  9409. return (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen
  9410. }
  9411. goto _1
  9412. _1:
  9413. ;
  9414. ent = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext
  9415. }
  9416. return libc.UintptrFromInt32(0)
  9417. }
  9418. func XFcCharSetFreeze(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  9419. var b, l, n uintptr
  9420. var i int32
  9421. _, _, _, _ = b, i, l, n
  9422. n = uintptr(0)
  9423. b = XIA__FcCharSetCreate(tls)
  9424. if !(b != 0) {
  9425. goto bail0
  9426. }
  9427. i = 0
  9428. for {
  9429. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9430. break
  9431. }
  9432. l = _FcCharSetFreezeLeaf(tls, freezer, uintptr(int32(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*4))))
  9433. if !(l != 0) {
  9434. goto bail1
  9435. }
  9436. if !(_FcCharSetInsertLeaf(tls, b, libc.Uint32FromInt32(libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))<<int32(8)), l) != 0) {
  9437. goto bail1
  9438. }
  9439. goto _1
  9440. _1:
  9441. ;
  9442. i++
  9443. }
  9444. n = _FcCharSetFreezeBase(tls, freezer, b)
  9445. if !(_FcCharSetFreezeOrig(tls, freezer, fcs, n) != 0) {
  9446. n = libc.UintptrFromInt32(0)
  9447. goto bail1
  9448. }
  9449. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen++
  9450. *(*int32)(unsafe.Pointer(freezer + 1580)) += (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  9451. goto bail1
  9452. bail1:
  9453. ;
  9454. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  9455. libc.Xfree(tls, uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset))
  9456. }
  9457. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  9458. libc.Xfree(tls, uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset))
  9459. }
  9460. libc.Xfree(tls, b)
  9461. goto bail0
  9462. bail0:
  9463. ;
  9464. return n
  9465. return r
  9466. }
  9467. func XFcCharSetFreezerCreate(tls *libc.TLS) (r uintptr) {
  9468. var freezer uintptr
  9469. _ = freezer
  9470. freezer = libc.Xcalloc(tls, uint32(1), uint32(1596))
  9471. return freezer
  9472. }
  9473. func XFcCharSetFreezerDestroy(tls *libc.TLS, freezer uintptr) {
  9474. bp := tls.Alloc(48)
  9475. defer tls.Free(48)
  9476. var ent, ent1, next, next1 uintptr
  9477. var i int32
  9478. _, _, _, _, _ = ent, ent1, i, next, next1
  9479. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  9480. libc.Xprintf(tls, __ccgo_ts+1871, libc.VaList(bp+8, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated))
  9481. }
  9482. i = 0
  9483. for {
  9484. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  9485. break
  9486. }
  9487. ent = *(*uintptr)(unsafe.Pointer(freezer + 1036 + uintptr(i)*4))
  9488. for {
  9489. if !(ent != 0) {
  9490. break
  9491. }
  9492. next = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  9493. libc.Xfree(tls, ent)
  9494. goto _2
  9495. _2:
  9496. ;
  9497. ent = next
  9498. }
  9499. goto _1
  9500. _1:
  9501. ;
  9502. i++
  9503. }
  9504. i = 0
  9505. for {
  9506. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  9507. break
  9508. }
  9509. ent1 = *(*uintptr)(unsafe.Pointer(freezer + 1304 + uintptr(i)*4))
  9510. for {
  9511. if !(ent1 != 0) {
  9512. break
  9513. }
  9514. next1 = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent1)).Fnext
  9515. libc.Xfree(tls, ent1)
  9516. goto _4
  9517. _4:
  9518. ;
  9519. ent1 = next1
  9520. }
  9521. goto _3
  9522. _3:
  9523. ;
  9524. i++
  9525. }
  9526. i = 0
  9527. for {
  9528. if !(i < (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count) {
  9529. break
  9530. }
  9531. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr(i)*4)))
  9532. goto _5
  9533. _5:
  9534. ;
  9535. i++
  9536. }
  9537. libc.Xfree(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks)
  9538. libc.Xfree(tls, freezer)
  9539. }
  9540. func XFcCharSetSerializeAlloc(tls *libc.TLS, serialize uintptr, cs uintptr) (r TFcBool) {
  9541. var i int32
  9542. var leaves, numbers uintptr
  9543. var v1 TFcBool
  9544. _, _, _, _ = i, leaves, numbers, v1
  9545. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  9546. goto _2
  9547. _2:
  9548. if !(v1 != 0) {
  9549. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  9550. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = XFcCharSetFreezerCreate(tls)
  9551. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  9552. return m_FcFalse
  9553. }
  9554. }
  9555. if _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs) != 0 {
  9556. return int32(m_FcTrue)
  9557. }
  9558. cs = XFcCharSetFreeze(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  9559. }
  9560. leaves = uintptr(int32(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  9561. numbers = uintptr(int32(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  9562. if !(XFcSerializeAlloc(tls, serialize, cs, int32(16)) != 0) {
  9563. return m_FcFalse
  9564. }
  9565. if !(XFcSerializeAlloc(tls, serialize, leaves, libc.Int32FromUint32(libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint32(4))) != 0) {
  9566. return m_FcFalse
  9567. }
  9568. if !(XFcSerializeAlloc(tls, serialize, numbers, libc.Int32FromUint32(libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint32(2))) != 0) {
  9569. return m_FcFalse
  9570. }
  9571. i = 0
  9572. for {
  9573. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  9574. break
  9575. }
  9576. if !(XFcSerializeAlloc(tls, serialize, uintptr(int32(uintptr(int32(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int32(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*4))), int32(32)) != 0) {
  9577. return m_FcFalse
  9578. }
  9579. goto _3
  9580. _3:
  9581. ;
  9582. i++
  9583. }
  9584. return int32(m_FcTrue)
  9585. }
  9586. func XFcCharSetSerialize(tls *libc.TLS, serialize uintptr, cs uintptr) (r uintptr) {
  9587. var cs_serialized, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized uintptr
  9588. var i int32
  9589. var v1 TFcBool
  9590. _, _, _, _, _, _, _, _, _ = cs_serialized, i, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized, v1
  9591. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  9592. goto _2
  9593. _2:
  9594. ;
  9595. if !(v1 != 0) && (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  9596. cs = _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  9597. if !(cs != 0) {
  9598. return libc.UintptrFromInt32(0)
  9599. }
  9600. }
  9601. cs_serialized = XFcSerializePtr(tls, serialize, cs)
  9602. if !(cs_serialized != 0) {
  9603. return libc.UintptrFromInt32(0)
  9604. }
  9605. (*TFcRef)(unsafe.Pointer(cs_serialized)).Fcount = -libc.Int32FromInt32(1)
  9606. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnum = (*TFcCharSet)(unsafe.Pointer(cs)).Fnum
  9607. if (*TFcCharSet)(unsafe.Pointer(cs)).Fnum != 0 {
  9608. leaves = uintptr(int32(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  9609. leaves_serialized = XFcSerializePtr(tls, serialize, leaves)
  9610. if !(leaves_serialized != 0) {
  9611. return libc.UintptrFromInt32(0)
  9612. }
  9613. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = int32(leaves_serialized) - int32(cs_serialized)
  9614. numbers = uintptr(int32(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  9615. numbers_serialized = XFcSerializePtr(tls, serialize, numbers)
  9616. if !(numbers != 0) {
  9617. return libc.UintptrFromInt32(0)
  9618. }
  9619. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = int32(numbers_serialized) - int32(cs_serialized)
  9620. i = 0
  9621. for {
  9622. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  9623. break
  9624. }
  9625. leaf = uintptr(int32(uintptr(int32(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int32(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*4)))
  9626. leaf_serialized = XFcSerializePtr(tls, serialize, leaf)
  9627. if !(leaf_serialized != 0) {
  9628. return libc.UintptrFromInt32(0)
  9629. }
  9630. *(*TFcCharLeaf)(unsafe.Pointer(leaf_serialized)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  9631. *(*Tintptr_t)(unsafe.Pointer(leaves_serialized + uintptr(i)*4)) = int32(leaf_serialized) - int32(leaves_serialized)
  9632. *(*TFcChar16)(unsafe.Pointer(numbers_serialized + uintptr(i)*2)) = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2))
  9633. goto _3
  9634. _3:
  9635. ;
  9636. i++
  9637. }
  9638. } else {
  9639. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = 0
  9640. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = 0
  9641. }
  9642. return cs_serialized
  9643. }
  9644. const m_FC_O_BINARY = 0
  9645. const m_FC_O_CLOEXEC = "O_CLOEXEC"
  9646. const m_FC_O_LARGEFILE = "O_LARGEFILE"
  9647. const m_FC_O_NOINHERIT = 0
  9648. const m_FC_O_TEMPORARY = 0
  9649. const m_O_CLOEXEC1 = 524288
  9650. const m_O_LARGEFILE1 = 131072
  9651. const m_O_RDONLY1 = 00
  9652. const m_O_RDWR1 = 02
  9653. func XFcOpen(tls *libc.TLS, pathname uintptr, flags int32, va uintptr) (r int32) {
  9654. bp := tls.Alloc(16)
  9655. defer tls.Free(16)
  9656. var ap Tva_list
  9657. var fd int32
  9658. var mode Tmode_t
  9659. _, _, _ = ap, fd, mode
  9660. fd = -int32(1)
  9661. if flags&int32(m_O_CREAT) != 0 {
  9662. ap = va
  9663. mode = libc.Uint32FromInt32(libc.VaInt32(&ap))
  9664. _ = ap
  9665. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), libc.VaList(bp+8, mode))
  9666. } else {
  9667. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), 0)
  9668. }
  9669. return fd
  9670. }
  9671. func XFcMakeTempfile(tls *libc.TLS, template uintptr) (r int32) {
  9672. var fd int32
  9673. _ = fd
  9674. fd = -int32(1)
  9675. fd = libc.Xmkostemp(tls, template, int32(m_O_CLOEXEC1))
  9676. return fd
  9677. }
  9678. func XFcRandom(tls *libc.TLS) (r Tint32_t) {
  9679. bp := tls.Alloc(16)
  9680. defer tls.Free(16)
  9681. var _ /* result at bp+0 */ Tint32_t
  9682. if _initialized != int32(m_FcTrue) {
  9683. libc.Xinitstate_r(tls, libc.Uint32FromInt64(libc.Xtime(tls, libc.UintptrFromInt32(0))), uintptr(unsafe.Pointer(&_statebuf)), uint32(256), uintptr(unsafe.Pointer(&_fcrandbuf)))
  9684. _initialized = int32(m_FcTrue)
  9685. }
  9686. libc.Xrandom_r(tls, uintptr(unsafe.Pointer(&_fcrandbuf)), bp)
  9687. return *(*Tint32_t)(unsafe.Pointer(bp))
  9688. }
  9689. var _fcrandbuf int32
  9690. var _statebuf [256]uint8
  9691. var _initialized TFcBool
  9692. func XFcMakeDirectory(tls *libc.TLS, dir uintptr) (r TFcBool) {
  9693. var parent uintptr
  9694. var ret TFcBool
  9695. _, _ = parent, ret
  9696. if libc.Xstrlen(tls, dir) == uint32(0) {
  9697. return m_FcFalse
  9698. }
  9699. parent = XIA__FcStrDirname(tls, dir)
  9700. if !(parent != 0) {
  9701. return m_FcFalse
  9702. }
  9703. if libc.Xaccess(tls, parent, m_F_OK) == 0 {
  9704. ret = libc.BoolInt32(libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  9705. } else {
  9706. if libc.Xaccess(tls, parent, m_F_OK) == -int32(1) {
  9707. ret = libc.BoolInt32(XFcMakeDirectory(tls, parent) != 0 && libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  9708. } else {
  9709. ret = m_FcFalse
  9710. }
  9711. }
  9712. XIA__FcStrFree(tls, parent)
  9713. return ret
  9714. }
  9715. func XFcReadLink(tls *libc.TLS, pathname uintptr, buf uintptr, bufsiz Tsize_t) (r Tssize_t) {
  9716. return libc.Xreadlink(tls, pathname, buf, bufsiz)
  9717. }
  9718. func __FcValuePrintFile(tls *libc.TLS, f uintptr, _v TFcValue) {
  9719. bp := tls.Alloc(64)
  9720. defer tls.Free(64)
  9721. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  9722. var v1, v2 uintptr
  9723. _, _ = v1, v2
  9724. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  9725. case int32(_FcTypeUnknown):
  9726. libc.Xfprintf(tls, f, __ccgo_ts+1907, 0)
  9727. case int32(_FcTypeVoid):
  9728. libc.Xfprintf(tls, f, __ccgo_ts+1917, 0)
  9729. case int32(_FcTypeInteger):
  9730. libc.Xfprintf(tls, f, __ccgo_ts+1924, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 8))))
  9731. case int32(_FcTypeDouble):
  9732. libc.Xfprintf(tls, f, __ccgo_ts+1930, libc.VaList(bp+24, *(*float64)(unsafe.Pointer(bp + 8))))
  9733. case int32(_FcTypeString):
  9734. libc.Xfprintf(tls, f, __ccgo_ts+1936, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 8))))
  9735. case int32(_FcTypeBool):
  9736. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcTrue) {
  9737. v1 = __ccgo_ts + 1941
  9738. } else {
  9739. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == m_FcFalse {
  9740. v2 = __ccgo_ts + 1946
  9741. } else {
  9742. v2 = __ccgo_ts + 1952
  9743. }
  9744. v1 = v2
  9745. }
  9746. libc.Xfprintf(tls, f, v1, 0)
  9747. case int32(_FcTypeMatrix):
  9748. libc.Xfprintf(tls, f, __ccgo_ts+1961, libc.VaList(bp+24, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyy))
  9749. case int32(_FcTypeCharSet): /* XXX */
  9750. if f == libc.Xstdout {
  9751. XFcCharSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  9752. }
  9753. case int32(_FcTypeLangSet):
  9754. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  9755. case int32(_FcTypeFTFace):
  9756. libc.Xfprintf(tls, f, __ccgo_ts+1976, 0)
  9757. case int32(_FcTypeRange):
  9758. libc.Xfprintf(tls, f, __ccgo_ts+1981, libc.VaList(bp+24, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend))
  9759. break
  9760. }
  9761. }
  9762. func XFcValuePrintFile(tls *libc.TLS, f uintptr, v TFcValue) {
  9763. libc.Xfprintf(tls, f, __ccgo_ts+1989, 0)
  9764. __FcValuePrintFile(tls, f, v)
  9765. }
  9766. func XIA__FcValuePrint(tls *libc.TLS, v TFcValue) {
  9767. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  9768. __FcValuePrintFile(tls, libc.Xstdout, v)
  9769. }
  9770. var XFcValuePrint = XIA__FcValuePrint
  9771. func XFcValuePrintWithPosition(tls *libc.TLS, v TFcValue, show_pos_mark TFcBool) {
  9772. if show_pos_mark != 0 {
  9773. libc.Xprintf(tls, __ccgo_ts+1991, 0)
  9774. } else {
  9775. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  9776. }
  9777. __FcValuePrintFile(tls, libc.Xstdout, v)
  9778. }
  9779. func _FcValueBindingPrint(tls *libc.TLS, l TFcValueListPtr) {
  9780. switch (*T_FcValueList)(unsafe.Pointer(l)).Fbinding {
  9781. case int32(_FcValueBindingWeak):
  9782. libc.Xprintf(tls, __ccgo_ts+2002, 0)
  9783. case int32(_FcValueBindingStrong):
  9784. libc.Xprintf(tls, __ccgo_ts+2006, 0)
  9785. case int32(_FcValueBindingSame):
  9786. libc.Xprintf(tls, __ccgo_ts+2010, 0)
  9787. default:
  9788. /* shouldn't be reached */
  9789. libc.Xprintf(tls, __ccgo_ts+2014, 0)
  9790. break
  9791. }
  9792. }
  9793. func XFcValueListPrintWithPosition(tls *libc.TLS, l TFcValueListPtr, pos TFcValueListPtr) {
  9794. var v2 uintptr
  9795. _ = v2
  9796. for {
  9797. if !(l != libc.UintptrFromInt32(0)) {
  9798. break
  9799. }
  9800. XFcValuePrintWithPosition(tls, XFcValueCanonicalize(tls, l+8), libc.BoolInt32(pos != libc.UintptrFromInt32(0) && l == pos))
  9801. _FcValueBindingPrint(tls, l)
  9802. goto _1
  9803. _1:
  9804. ;
  9805. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  9806. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  9807. } else {
  9808. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  9809. }
  9810. l = v2
  9811. }
  9812. if !(pos != 0) {
  9813. libc.Xprintf(tls, __ccgo_ts+2018, 0)
  9814. }
  9815. }
  9816. func XFcValueListPrint(tls *libc.TLS, l TFcValueListPtr) {
  9817. var v2 uintptr
  9818. _ = v2
  9819. for {
  9820. if !(l != libc.UintptrFromInt32(0)) {
  9821. break
  9822. }
  9823. XIA__FcValuePrint(tls, XFcValueCanonicalize(tls, l+8))
  9824. _FcValueBindingPrint(tls, l)
  9825. goto _1
  9826. _1:
  9827. ;
  9828. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  9829. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  9830. } else {
  9831. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  9832. }
  9833. l = v2
  9834. }
  9835. }
  9836. func XFcLangSetPrint(tls *libc.TLS, ls uintptr) {
  9837. bp := tls.Alloc(1136)
  9838. defer tls.Free(1136)
  9839. var _ /* buf at bp+0 */ TFcStrBuf
  9840. var _ /* init_buf at bp+84 */ [1024]TFcChar8
  9841. XFcStrBufInit(tls, bp, bp+84, int32(1024))
  9842. if XFcNameUnparseLangSet(tls, bp, ls) != 0 && XFcStrBufChar(tls, bp, uint8('\000')) != 0 {
  9843. libc.Xprintf(tls, __ccgo_ts+2028, libc.VaList(bp+1120, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf))
  9844. } else {
  9845. libc.Xprintf(tls, __ccgo_ts+2031, 0)
  9846. }
  9847. XFcStrBufDestroy(tls, bp)
  9848. }
  9849. func XFcCharSetPrint(tls *libc.TLS, c uintptr) {
  9850. bp := tls.Alloc(16)
  9851. defer tls.Free(16)
  9852. var i, j int32
  9853. var leaf, leaves, numbers uintptr
  9854. var leaf_offset Tintptr_t
  9855. _, _, _, _, _, _ = i, j, leaf, leaf_offset, leaves, numbers
  9856. leaves = uintptr(int32(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fleaves_offset)
  9857. numbers = uintptr(int32(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fnumbers_offset)
  9858. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9859. i = 0
  9860. for {
  9861. if !(i < (*TFcCharSet)(unsafe.Pointer(c)).Fnum) {
  9862. break
  9863. }
  9864. leaf_offset = *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(i)*4))
  9865. leaf = uintptr(int32(leaves) + leaf_offset)
  9866. libc.Xprintf(tls, __ccgo_ts+2053, 0)
  9867. libc.Xprintf(tls, __ccgo_ts+2055, libc.VaList(bp+8, libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2)))))
  9868. j = 0
  9869. for {
  9870. if !(j < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9871. break
  9872. }
  9873. libc.Xprintf(tls, __ccgo_ts+2061, libc.VaList(bp+8, *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(j)*4))))
  9874. goto _2
  9875. _2:
  9876. ;
  9877. j++
  9878. }
  9879. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9880. goto _1
  9881. _1:
  9882. ;
  9883. i++
  9884. }
  9885. }
  9886. func XIA__FcPatternPrint(tls *libc.TLS, p uintptr) {
  9887. bp := tls.Alloc(32)
  9888. defer tls.Free(32)
  9889. var _ /* iter at bp+0 */ TFcPatternIter
  9890. if !(p != 0) {
  9891. libc.Xprintf(tls, __ccgo_ts+2067, 0)
  9892. return
  9893. }
  9894. libc.Xprintf(tls, __ccgo_ts+2081, libc.VaList(bp+16, XIA__FcPatternObjectCount(tls, p), (*TFcPattern)(unsafe.Pointer(p)).Fsize))
  9895. XIA__FcPatternIterStart(tls, p, bp)
  9896. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, p, bp) != 0 {
  9897. libc.Xprintf(tls, __ccgo_ts+2112, libc.VaList(bp+16, XIA__FcPatternIterGetObject(tls, p, bp)))
  9898. XFcValueListPrint(tls, XFcPatternIterGetValues(tls, p, bp))
  9899. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9900. }
  9901. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9902. }
  9903. var XFcPatternPrint = XIA__FcPatternPrint
  9904. func XFcPatternPrint2(tls *libc.TLS, pp1 uintptr, pp2 uintptr, os uintptr) {
  9905. bp := tls.Alloc(48)
  9906. defer tls.Free(48)
  9907. var e1, e2, p1, p2, v10, v5, v6, v7, v8 uintptr
  9908. var i, j, k, pos int32
  9909. _, _, _, _, _, _, _, _, _, _, _, _, _ = e1, e2, i, j, k, p1, p2, pos, v10, v5, v6, v7, v8
  9910. if os != 0 {
  9911. p1 = XIA__FcPatternFilter(tls, pp1, os)
  9912. p2 = XIA__FcPatternFilter(tls, pp2, os)
  9913. } else {
  9914. p1 = pp1
  9915. p2 = pp2
  9916. }
  9917. libc.Xprintf(tls, __ccgo_ts+2117, libc.VaList(bp+8, (*TFcPattern)(unsafe.Pointer(p1)).Fnum, (*TFcPattern)(unsafe.Pointer(p1)).Fsize, (*TFcPattern)(unsafe.Pointer(p2)).Fnum, (*TFcPattern)(unsafe.Pointer(p2)).Fsize))
  9918. i = 0
  9919. j = libc.Int32FromInt32(0)
  9920. for {
  9921. if !(i < (*TFcPattern)(unsafe.Pointer(p1)).Fnum) {
  9922. break
  9923. }
  9924. e1 = uintptr(int32(p1)+(*TFcPattern)(unsafe.Pointer(p1)).Felts_offset) + uintptr(i)*8
  9925. e2 = uintptr(int32(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*8
  9926. if !(!(e2 != 0) || (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject != (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) {
  9927. goto _2
  9928. }
  9929. pos = XFcPatternPosition(tls, p2, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject))
  9930. if pos >= 0 {
  9931. k = j
  9932. for {
  9933. if !(k < pos) {
  9934. break
  9935. }
  9936. e2 = uintptr(int32(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*8
  9937. libc.Xprintf(tls, __ccgo_ts+2167, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9938. if int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int32(1) != 0 {
  9939. v5 = uintptr(int32(e2) + int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues) & ^libc.Int32FromInt32(1))
  9940. } else {
  9941. v5 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9942. }
  9943. XFcValueListPrint(tls, v5)
  9944. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9945. goto _4
  9946. _4:
  9947. ;
  9948. k++
  9949. }
  9950. j = pos
  9951. goto cont
  9952. } else {
  9953. libc.Xprintf(tls, __ccgo_ts+2112, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9954. if int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int32(1) != 0 {
  9955. v6 = uintptr(int32(e1) + int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues) & ^libc.Int32FromInt32(1))
  9956. } else {
  9957. v6 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9958. }
  9959. XFcValueListPrint(tls, v6)
  9960. libc.Xprintf(tls, __ccgo_ts+2183, 0)
  9961. }
  9962. goto _3
  9963. _2:
  9964. ;
  9965. goto cont
  9966. cont:
  9967. ;
  9968. libc.Xprintf(tls, __ccgo_ts+2112, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9969. if int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int32(1) != 0 {
  9970. v7 = uintptr(int32(e1) + int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues) & ^libc.Int32FromInt32(1))
  9971. } else {
  9972. v7 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9973. }
  9974. XFcValueListPrint(tls, v7)
  9975. libc.Xprintf(tls, __ccgo_ts+2195, 0)
  9976. e2 = uintptr(int32(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*8
  9977. if int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int32(1) != 0 {
  9978. v8 = uintptr(int32(e2) + int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues) & ^libc.Int32FromInt32(1))
  9979. } else {
  9980. v8 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9981. }
  9982. XFcValueListPrint(tls, v8)
  9983. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9984. j++
  9985. _3:
  9986. ;
  9987. goto _1
  9988. _1:
  9989. ;
  9990. i++
  9991. }
  9992. if j < (*TFcPattern)(unsafe.Pointer(p2)).Fnum {
  9993. k = j
  9994. for {
  9995. if !(k < (*TFcPattern)(unsafe.Pointer(p2)).Fnum) {
  9996. break
  9997. }
  9998. e2 = uintptr(int32(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*8
  9999. if XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) != 0 {
  10000. libc.Xprintf(tls, __ccgo_ts+2167, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  10001. if int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int32(1) != 0 {
  10002. v10 = uintptr(int32(e2) + int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues) & ^libc.Int32FromInt32(1))
  10003. } else {
  10004. v10 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  10005. }
  10006. XFcValueListPrint(tls, v10)
  10007. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  10008. }
  10009. goto _9
  10010. _9:
  10011. ;
  10012. k++
  10013. }
  10014. }
  10015. if p1 != pp1 {
  10016. XIA__FcPatternDestroy(tls, p1)
  10017. }
  10018. if p2 != pp2 {
  10019. XIA__FcPatternDestroy(tls, p2)
  10020. }
  10021. }
  10022. func XFcOpPrint(tls *libc.TLS, op_ TFcOp) {
  10023. var f, f1, f2 int32
  10024. var op TFcOp
  10025. _, _, _, _ = f, f1, f2, op
  10026. op = op_ & libc.Int32FromInt32(0xffff)
  10027. switch op {
  10028. case int32(_FcOpInteger):
  10029. libc.Xprintf(tls, __ccgo_ts+2200, 0)
  10030. case int32(_FcOpDouble):
  10031. libc.Xprintf(tls, __ccgo_ts+2208, 0)
  10032. case int32(_FcOpString):
  10033. libc.Xprintf(tls, __ccgo_ts+2215, 0)
  10034. case int32(_FcOpMatrix):
  10035. libc.Xprintf(tls, __ccgo_ts+2222, 0)
  10036. case int32(_FcOpRange):
  10037. libc.Xprintf(tls, __ccgo_ts+2229, 0)
  10038. case int32(_FcOpBool):
  10039. libc.Xprintf(tls, __ccgo_ts+2235, 0)
  10040. case int32(_FcOpCharSet):
  10041. libc.Xprintf(tls, __ccgo_ts+2240, 0)
  10042. case int32(_FcOpLangSet):
  10043. libc.Xprintf(tls, __ccgo_ts+2248, 0)
  10044. case int32(_FcOpField):
  10045. libc.Xprintf(tls, __ccgo_ts+2256, 0)
  10046. case int32(_FcOpConst):
  10047. libc.Xprintf(tls, __ccgo_ts+2262, 0)
  10048. case int32(_FcOpAssign):
  10049. libc.Xprintf(tls, __ccgo_ts+2268, 0)
  10050. case int32(_FcOpAssignReplace):
  10051. libc.Xprintf(tls, __ccgo_ts+2275, 0)
  10052. case int32(_FcOpPrepend):
  10053. libc.Xprintf(tls, __ccgo_ts+1319, 0)
  10054. case int32(_FcOpPrependFirst):
  10055. libc.Xprintf(tls, __ccgo_ts+2289, 0)
  10056. case int32(_FcOpAppend):
  10057. libc.Xprintf(tls, __ccgo_ts+1312, 0)
  10058. case int32(_FcOpAppendLast):
  10059. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  10060. case int32(_FcOpDelete):
  10061. libc.Xprintf(tls, __ccgo_ts+2313, 0)
  10062. case int32(_FcOpDeleteAll):
  10063. libc.Xprintf(tls, __ccgo_ts+2320, 0)
  10064. case int32(_FcOpQuest):
  10065. libc.Xprintf(tls, __ccgo_ts+2330, 0)
  10066. case int32(_FcOpOr):
  10067. libc.Xprintf(tls, __ccgo_ts+2336, 0)
  10068. case int32(_FcOpAnd):
  10069. libc.Xprintf(tls, __ccgo_ts+2339, 0)
  10070. case int32(_FcOpEqual):
  10071. libc.Xprintf(tls, __ccgo_ts+2343, 0)
  10072. f = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10073. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10074. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10075. }
  10076. case int32(_FcOpNotEqual):
  10077. libc.Xprintf(tls, __ccgo_ts+2365, 0)
  10078. f1 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10079. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10080. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10081. }
  10082. case int32(_FcOpLess):
  10083. libc.Xprintf(tls, __ccgo_ts+2374, 0)
  10084. case int32(_FcOpLessEqual):
  10085. libc.Xprintf(tls, __ccgo_ts+2379, 0)
  10086. case int32(_FcOpMore):
  10087. libc.Xprintf(tls, __ccgo_ts+2389, 0)
  10088. case int32(_FcOpMoreEqual):
  10089. libc.Xprintf(tls, __ccgo_ts+2394, 0)
  10090. case int32(_FcOpContains):
  10091. libc.Xprintf(tls, __ccgo_ts+2404, 0)
  10092. case int32(_FcOpNotContains):
  10093. libc.Xprintf(tls, __ccgo_ts+2413, 0)
  10094. case int32(_FcOpPlus):
  10095. libc.Xprintf(tls, __ccgo_ts+2425, 0)
  10096. case int32(_FcOpMinus):
  10097. libc.Xprintf(tls, __ccgo_ts+2430, 0)
  10098. case int32(_FcOpTimes):
  10099. libc.Xprintf(tls, __ccgo_ts+2436, 0)
  10100. case int32(_FcOpDivide):
  10101. libc.Xprintf(tls, __ccgo_ts+2442, 0)
  10102. case int32(_FcOpNot):
  10103. libc.Xprintf(tls, __ccgo_ts+2449, 0)
  10104. case int32(_FcOpNil):
  10105. libc.Xprintf(tls, __ccgo_ts+2453, 0)
  10106. case int32(_FcOpComma):
  10107. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  10108. case int32(_FcOpFloor):
  10109. libc.Xprintf(tls, __ccgo_ts+2463, 0)
  10110. case int32(_FcOpCeil):
  10111. libc.Xprintf(tls, __ccgo_ts+2469, 0)
  10112. case int32(_FcOpRound):
  10113. libc.Xprintf(tls, __ccgo_ts+2474, 0)
  10114. case int32(_FcOpTrunc):
  10115. libc.Xprintf(tls, __ccgo_ts+2480, 0)
  10116. case int32(_FcOpListing):
  10117. libc.Xprintf(tls, __ccgo_ts+2486, 0)
  10118. f2 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10119. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10120. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10121. }
  10122. case int32(_FcOpInvalid):
  10123. libc.Xprintf(tls, __ccgo_ts+2494, 0)
  10124. break
  10125. }
  10126. }
  10127. func XFcExprPrint(tls *libc.TLS, expr uintptr) {
  10128. bp := tls.Alloc(32)
  10129. defer tls.Free(32)
  10130. var f, f1, f2 int32
  10131. var v1 uintptr
  10132. _, _, _, _ = f, f1, f2, v1
  10133. if !(expr != 0) {
  10134. libc.Xprintf(tls, __ccgo_ts+2502, 0)
  10135. } else {
  10136. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  10137. case int32(_FcOpInteger):
  10138. libc.Xprintf(tls, __ccgo_ts+2507, libc.VaList(bp+8, (*TFcExpr)(unsafe.Pointer(expr)).Fu.Fival))
  10139. case int32(_FcOpDouble):
  10140. libc.Xprintf(tls, __ccgo_ts+2510, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(expr + 8))))
  10141. case int32(_FcOpString):
  10142. libc.Xprintf(tls, __ccgo_ts+1936, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  10143. case int32(_FcOpMatrix):
  10144. libc.Xprintf(tls, __ccgo_ts+2513, 0)
  10145. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxx)
  10146. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10147. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxy)
  10148. libc.Xprintf(tls, __ccgo_ts+2515, 0)
  10149. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyx)
  10150. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10151. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyy)
  10152. libc.Xprintf(tls, __ccgo_ts+2518, 0)
  10153. case int32(_FcOpRange):
  10154. libc.Xprintf(tls, __ccgo_ts+2520, libc.VaList(bp+8, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fend))
  10155. case int32(_FcOpBool):
  10156. if *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)) != 0 {
  10157. v1 = __ccgo_ts + 2529
  10158. } else {
  10159. v1 = __ccgo_ts + 2534
  10160. }
  10161. libc.Xprintf(tls, __ccgo_ts+2028, libc.VaList(bp+8, v1))
  10162. case int32(_FcOpCharSet):
  10163. libc.Xprintf(tls, __ccgo_ts+2540, 0)
  10164. case int32(_FcOpLangSet):
  10165. libc.Xprintf(tls, __ccgo_ts+2549, 0)
  10166. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  10167. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  10168. case int32(_FcOpNil):
  10169. libc.Xprintf(tls, __ccgo_ts+2558, 0)
  10170. case int32(_FcOpField):
  10171. libc.Xprintf(tls, __ccgo_ts+2563, libc.VaList(bp+8, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(expr + 8))).Fobject)))
  10172. switch (*(*TFcExprName)(unsafe.Pointer(expr + 8))).Fkind {
  10173. case int32(_FcMatchPattern):
  10174. libc.Xprintf(tls, __ccgo_ts+2567, 0)
  10175. case int32(_FcMatchFont):
  10176. libc.Xprintf(tls, __ccgo_ts+2578, 0)
  10177. break
  10178. }
  10179. case int32(_FcOpConst):
  10180. libc.Xprintf(tls, __ccgo_ts+2028, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  10181. case int32(_FcOpQuest):
  10182. XFcExprPrint(tls, (*(*struct {
  10183. Fleft uintptr
  10184. Fright uintptr
  10185. })(unsafe.Pointer(expr + 8))).Fleft)
  10186. libc.Xprintf(tls, __ccgo_ts+2586, 0)
  10187. XFcExprPrint(tls, (*(*struct {
  10188. Fleft uintptr
  10189. Fright uintptr
  10190. })(unsafe.Pointer((*(*struct {
  10191. Fleft uintptr
  10192. Fright uintptr
  10193. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft)
  10194. libc.Xprintf(tls, __ccgo_ts+2594, 0)
  10195. XFcExprPrint(tls, (*(*struct {
  10196. Fleft uintptr
  10197. Fright uintptr
  10198. })(unsafe.Pointer((*(*struct {
  10199. Fleft uintptr
  10200. Fright uintptr
  10201. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright)
  10202. case int32(_FcOpAssign):
  10203. fallthrough
  10204. case int32(_FcOpAssignReplace):
  10205. fallthrough
  10206. case int32(_FcOpPrependFirst):
  10207. fallthrough
  10208. case int32(_FcOpPrepend):
  10209. fallthrough
  10210. case int32(_FcOpAppend):
  10211. fallthrough
  10212. case int32(_FcOpAppendLast):
  10213. fallthrough
  10214. case int32(_FcOpOr):
  10215. fallthrough
  10216. case int32(_FcOpAnd):
  10217. fallthrough
  10218. case int32(_FcOpEqual):
  10219. fallthrough
  10220. case int32(_FcOpNotEqual):
  10221. fallthrough
  10222. case int32(_FcOpLess):
  10223. fallthrough
  10224. case int32(_FcOpLessEqual):
  10225. fallthrough
  10226. case int32(_FcOpMore):
  10227. fallthrough
  10228. case int32(_FcOpMoreEqual):
  10229. fallthrough
  10230. case int32(_FcOpContains):
  10231. fallthrough
  10232. case int32(_FcOpListing):
  10233. fallthrough
  10234. case int32(_FcOpNotContains):
  10235. fallthrough
  10236. case int32(_FcOpPlus):
  10237. fallthrough
  10238. case int32(_FcOpMinus):
  10239. fallthrough
  10240. case int32(_FcOpTimes):
  10241. fallthrough
  10242. case int32(_FcOpDivide):
  10243. fallthrough
  10244. case int32(_FcOpComma):
  10245. XFcExprPrint(tls, (*(*struct {
  10246. Fleft uintptr
  10247. Fright uintptr
  10248. })(unsafe.Pointer(expr + 8))).Fleft)
  10249. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10250. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  10251. case int32(_FcOpAssign):
  10252. libc.Xprintf(tls, __ccgo_ts+2268, 0)
  10253. case int32(_FcOpAssignReplace):
  10254. libc.Xprintf(tls, __ccgo_ts+2275, 0)
  10255. case int32(_FcOpPrependFirst):
  10256. libc.Xprintf(tls, __ccgo_ts+2289, 0)
  10257. case int32(_FcOpPrepend):
  10258. libc.Xprintf(tls, __ccgo_ts+1319, 0)
  10259. case int32(_FcOpAppend):
  10260. libc.Xprintf(tls, __ccgo_ts+1312, 0)
  10261. case int32(_FcOpAppendLast):
  10262. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  10263. case int32(_FcOpOr):
  10264. libc.Xprintf(tls, __ccgo_ts+2336, 0)
  10265. case int32(_FcOpAnd):
  10266. libc.Xprintf(tls, __ccgo_ts+2339, 0)
  10267. case int32(_FcOpEqual):
  10268. libc.Xprintf(tls, __ccgo_ts+2343, 0)
  10269. f = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10270. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10271. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10272. }
  10273. case int32(_FcOpNotEqual):
  10274. libc.Xprintf(tls, __ccgo_ts+2365, 0)
  10275. f1 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10276. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10277. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10278. }
  10279. case int32(_FcOpLess):
  10280. libc.Xprintf(tls, __ccgo_ts+2374, 0)
  10281. case int32(_FcOpLessEqual):
  10282. libc.Xprintf(tls, __ccgo_ts+2379, 0)
  10283. case int32(_FcOpMore):
  10284. libc.Xprintf(tls, __ccgo_ts+2389, 0)
  10285. case int32(_FcOpMoreEqual):
  10286. libc.Xprintf(tls, __ccgo_ts+2394, 0)
  10287. case int32(_FcOpContains):
  10288. libc.Xprintf(tls, __ccgo_ts+2404, 0)
  10289. case int32(_FcOpListing):
  10290. libc.Xprintf(tls, __ccgo_ts+2486, 0)
  10291. f2 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10292. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10293. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10294. }
  10295. case int32(_FcOpNotContains):
  10296. libc.Xprintf(tls, __ccgo_ts+2413, 0)
  10297. case int32(_FcOpPlus):
  10298. libc.Xprintf(tls, __ccgo_ts+2425, 0)
  10299. case int32(_FcOpMinus):
  10300. libc.Xprintf(tls, __ccgo_ts+2430, 0)
  10301. case int32(_FcOpTimes):
  10302. libc.Xprintf(tls, __ccgo_ts+2436, 0)
  10303. case int32(_FcOpDivide):
  10304. libc.Xprintf(tls, __ccgo_ts+2442, 0)
  10305. case int32(_FcOpComma):
  10306. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  10307. default:
  10308. break
  10309. }
  10310. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10311. XFcExprPrint(tls, (*(*struct {
  10312. Fleft uintptr
  10313. Fright uintptr
  10314. })(unsafe.Pointer(expr + 8))).Fright)
  10315. case int32(_FcOpNot):
  10316. libc.Xprintf(tls, __ccgo_ts+2602, 0)
  10317. XFcExprPrint(tls, (*(*struct {
  10318. Fleft uintptr
  10319. Fright uintptr
  10320. })(unsafe.Pointer(expr + 8))).Fleft)
  10321. case int32(_FcOpFloor):
  10322. libc.Xprintf(tls, __ccgo_ts+2607, 0)
  10323. XFcExprPrint(tls, (*(*struct {
  10324. Fleft uintptr
  10325. Fright uintptr
  10326. })(unsafe.Pointer(expr + 8))).Fleft)
  10327. case int32(_FcOpCeil):
  10328. libc.Xprintf(tls, __ccgo_ts+2614, 0)
  10329. XFcExprPrint(tls, (*(*struct {
  10330. Fleft uintptr
  10331. Fright uintptr
  10332. })(unsafe.Pointer(expr + 8))).Fleft)
  10333. case int32(_FcOpRound):
  10334. libc.Xprintf(tls, __ccgo_ts+2620, 0)
  10335. XFcExprPrint(tls, (*(*struct {
  10336. Fleft uintptr
  10337. Fright uintptr
  10338. })(unsafe.Pointer(expr + 8))).Fleft)
  10339. case int32(_FcOpTrunc):
  10340. libc.Xprintf(tls, __ccgo_ts+2627, 0)
  10341. XFcExprPrint(tls, (*(*struct {
  10342. Fleft uintptr
  10343. Fright uintptr
  10344. })(unsafe.Pointer(expr + 8))).Fleft)
  10345. case int32(_FcOpInvalid):
  10346. libc.Xprintf(tls, __ccgo_ts+2494, 0)
  10347. break
  10348. }
  10349. }
  10350. }
  10351. func XFcTestPrint(tls *libc.TLS, test uintptr) {
  10352. bp := tls.Alloc(16)
  10353. defer tls.Free(16)
  10354. switch (*TFcTest)(unsafe.Pointer(test)).Fkind {
  10355. case int32(_FcMatchPattern):
  10356. libc.Xprintf(tls, __ccgo_ts+2634, 0)
  10357. case int32(_FcMatchFont):
  10358. libc.Xprintf(tls, __ccgo_ts+2643, 0)
  10359. case int32(_FcMatchScan):
  10360. libc.Xprintf(tls, __ccgo_ts+2649, 0)
  10361. case int32(_FcMatchKindEnd):
  10362. /* shouldn't be reached */
  10363. return
  10364. }
  10365. switch (*TFcTest)(unsafe.Pointer(test)).Fqual {
  10366. case int32(_FcQualAny):
  10367. libc.Xprintf(tls, __ccgo_ts+2655, 0)
  10368. case int32(_FcQualAll):
  10369. libc.Xprintf(tls, __ccgo_ts+2660, 0)
  10370. case int32(_FcQualFirst):
  10371. libc.Xprintf(tls, __ccgo_ts+2665, 0)
  10372. case int32(_FcQualNotFirst):
  10373. libc.Xprintf(tls, __ccgo_ts+2672, 0)
  10374. break
  10375. }
  10376. libc.Xprintf(tls, __ccgo_ts+2563, libc.VaList(bp+8, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject)))
  10377. XFcOpPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fop)
  10378. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10379. XFcExprPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  10380. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  10381. }
  10382. func XFcEditPrint(tls *libc.TLS, edit uintptr) {
  10383. bp := tls.Alloc(16)
  10384. defer tls.Free(16)
  10385. libc.Xprintf(tls, __ccgo_ts+2683, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fobject)))
  10386. XFcOpPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fop)
  10387. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10388. XFcExprPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fexpr)
  10389. }
  10390. func XFcRulePrint(tls *libc.TLS, rule uintptr) {
  10391. var last_type TFcRuleType
  10392. var r uintptr
  10393. _, _ = last_type, r
  10394. last_type = int32(_FcRuleUnknown)
  10395. r = rule
  10396. for {
  10397. if !(r != 0) {
  10398. break
  10399. }
  10400. if last_type != (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10401. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10402. case int32(_FcRuleTest):
  10403. libc.Xprintf(tls, __ccgo_ts+2692, 0)
  10404. case int32(_FcRuleEdit):
  10405. libc.Xprintf(tls, __ccgo_ts+2700, 0)
  10406. default:
  10407. break
  10408. }
  10409. last_type = (*TFcRule)(unsafe.Pointer(r)).Ftype1
  10410. }
  10411. libc.Xprintf(tls, __ccgo_ts+2053, 0)
  10412. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10413. case int32(_FcRuleTest):
  10414. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 8)))
  10415. case int32(_FcRuleEdit):
  10416. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 8)))
  10417. libc.Xprintf(tls, __ccgo_ts+2708, 0)
  10418. default:
  10419. break
  10420. }
  10421. goto _1
  10422. _1:
  10423. ;
  10424. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  10425. }
  10426. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  10427. }
  10428. func XIA__FcFontSetPrint(tls *libc.TLS, s uintptr) {
  10429. bp := tls.Alloc(32)
  10430. defer tls.Free(32)
  10431. var i int32
  10432. _ = i
  10433. libc.Xprintf(tls, __ccgo_ts+2711, libc.VaList(bp+8, (*TFcFontSet)(unsafe.Pointer(s)).Fnfont, (*TFcFontSet)(unsafe.Pointer(s)).Fsfont))
  10434. i = 0
  10435. for {
  10436. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  10437. break
  10438. }
  10439. libc.Xprintf(tls, __ccgo_ts+2729, libc.VaList(bp+8, i))
  10440. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*4)))
  10441. goto _1
  10442. _1:
  10443. ;
  10444. i++
  10445. }
  10446. }
  10447. var XFcFontSetPrint = XIA__FcFontSetPrint
  10448. func XFcInitDebug(tls *libc.TLS) {
  10449. bp := tls.Alloc(16)
  10450. defer tls.Free(16)
  10451. var e uintptr
  10452. _ = e
  10453. if !(XFcDebugVal != 0) {
  10454. e = libc.Xgetenv(tls, __ccgo_ts+2738)
  10455. if e != 0 {
  10456. libc.Xprintf(tls, __ccgo_ts+2747, libc.VaList(bp+8, e))
  10457. XFcDebugVal = libc.Xatoi(tls, e)
  10458. if XFcDebugVal < 0 {
  10459. XFcDebugVal = 0
  10460. }
  10461. }
  10462. }
  10463. }
  10464. /* MT-safe */
  10465. var _FcBoolDefaults = [8]struct {
  10466. Ffield TFcObject
  10467. Fvalue TFcBool
  10468. }{
  10469. 0: {
  10470. Ffield: int32(_FC_HINTING_OBJECT),
  10471. Fvalue: int32(m_FcTrue),
  10472. },
  10473. 1: {
  10474. Ffield: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  10475. },
  10476. 2: {
  10477. Ffield: int32(_FC_AUTOHINT_OBJECT),
  10478. },
  10479. 3: {
  10480. Ffield: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  10481. Fvalue: int32(m_FcTrue),
  10482. },
  10483. 4: {
  10484. Ffield: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  10485. Fvalue: int32(m_FcTrue),
  10486. },
  10487. 5: {
  10488. Ffield: int32(_FC_DECORATIVE_OBJECT),
  10489. },
  10490. 6: {
  10491. Ffield: int32(_FC_SYMBOL_OBJECT),
  10492. },
  10493. 7: {
  10494. Ffield: int32(_FC_VARIABLE_OBJECT),
  10495. },
  10496. }
  10497. func XIA__FcGetDefaultLangs(tls *libc.TLS) (r uintptr) {
  10498. var langs, result uintptr
  10499. var v1 int32
  10500. _, _, _ = langs, result, v1
  10501. goto retry
  10502. retry:
  10503. ;
  10504. result = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  10505. if !(result != 0) {
  10506. result = XIA__FcStrSetCreate(tls)
  10507. langs = libc.Xgetenv(tls, __ccgo_ts+2760)
  10508. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  10509. langs = libc.Xgetenv(tls, __ccgo_ts+2768)
  10510. }
  10511. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  10512. langs = libc.Xgetenv(tls, __ccgo_ts+2775)
  10513. }
  10514. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  10515. langs = libc.Xgetenv(tls, __ccgo_ts+2784)
  10516. }
  10517. if langs != 0 && *(*uint8)(unsafe.Pointer(langs)) != 0 {
  10518. if !(XFcStrSetAddLangs(tls, result, langs) != 0) {
  10519. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2789)
  10520. }
  10521. } else {
  10522. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2789)
  10523. }
  10524. (*TFcRef)(unsafe.Pointer(result)).Fcount = -libc.Int32FromInt32(1)
  10525. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == libc.UintptrFromInt32(0) {
  10526. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = result
  10527. v1 = libc.Int32FromInt32(m_FcTrue)
  10528. } else {
  10529. v1 = m_FcFalse
  10530. }
  10531. if !(v1 != 0) {
  10532. (*TFcRef)(unsafe.Pointer(result)).Fcount = int32(1)
  10533. XIA__FcStrSetDestroy(tls, result)
  10534. goto retry
  10535. }
  10536. }
  10537. return result
  10538. }
  10539. var XFcGetDefaultLangs = XIA__FcGetDefaultLangs
  10540. var _default_lang uintptr /* MT-safe */
  10541. func XFcGetDefaultLang(tls *libc.TLS) (r uintptr) {
  10542. var lang, langs uintptr
  10543. var v1 int32
  10544. _, _, _ = lang, langs, v1
  10545. goto retry
  10546. retry:
  10547. ;
  10548. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  10549. if !(lang != 0) {
  10550. langs = XIA__FcGetDefaultLangs(tls)
  10551. lang = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(langs)).Fstrs)))
  10552. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == libc.UintptrFromInt32(0) {
  10553. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = lang
  10554. v1 = libc.Int32FromInt32(m_FcTrue)
  10555. } else {
  10556. v1 = m_FcFalse
  10557. }
  10558. if !(v1 != 0) {
  10559. libc.Xfree(tls, lang)
  10560. goto retry
  10561. }
  10562. }
  10563. return lang
  10564. }
  10565. var _default_prgname uintptr
  10566. func XFcGetPrgname(tls *libc.TLS) (r1 uintptr) {
  10567. var buf, p, prgname, r uintptr
  10568. var len1 Tssize_t
  10569. var size Tsize_t
  10570. var v1 int32
  10571. _, _, _, _, _, _, _ = buf, len1, p, prgname, r, size, v1
  10572. goto retry
  10573. retry:
  10574. ;
  10575. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  10576. if !(prgname != 0) {
  10577. size = uint32(m_PATH_MAX)
  10578. p = libc.UintptrFromInt32(0)
  10579. for int32(1) != 0 {
  10580. buf = libc.Xmalloc(tls, size)
  10581. if !(buf != 0) {
  10582. break
  10583. }
  10584. len1 = libc.Xreadlink(tls, __ccgo_ts+2792, buf, size-uint32(1))
  10585. if len1 < 0 {
  10586. libc.Xfree(tls, buf)
  10587. break
  10588. }
  10589. if libc.Uint32FromInt32(len1) < size-uint32(1) {
  10590. *(*uint8)(unsafe.Pointer(buf + uintptr(len1))) = uint8(0)
  10591. p = buf
  10592. break
  10593. }
  10594. libc.Xfree(tls, buf)
  10595. size *= uint32(2)
  10596. }
  10597. if p != 0 {
  10598. r = libc.Xstrrchr(tls, p, int32('/'))
  10599. if r != 0 {
  10600. r++
  10601. } else {
  10602. r = p
  10603. }
  10604. prgname = libc.Xstrdup(tls, r)
  10605. }
  10606. if !(prgname != 0) {
  10607. prgname = libc.Xstrdup(tls, __ccgo_ts+112)
  10608. }
  10609. if p != 0 {
  10610. libc.Xfree(tls, p)
  10611. }
  10612. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == libc.UintptrFromInt32(0) {
  10613. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = prgname
  10614. v1 = libc.Int32FromInt32(m_FcTrue)
  10615. } else {
  10616. v1 = m_FcFalse
  10617. }
  10618. if !(v1 != 0) {
  10619. libc.Xfree(tls, prgname)
  10620. goto retry
  10621. }
  10622. }
  10623. if prgname != 0 && !(*(*TFcChar8)(unsafe.Pointer(prgname)) != 0) {
  10624. return libc.UintptrFromInt32(0)
  10625. }
  10626. return prgname
  10627. }
  10628. func XFcDefaultFini(tls *libc.TLS) {
  10629. var lang, langs, prgname uintptr
  10630. var v1, v3, v5 int32
  10631. var v2, v4, v6 bool
  10632. _, _, _, _, _, _, _, _, _ = lang, langs, prgname, v1, v2, v3, v4, v5, v6
  10633. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  10634. if v2 = lang != 0; v2 {
  10635. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == lang {
  10636. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = libc.UintptrFromInt32(0)
  10637. v1 = libc.Int32FromInt32(m_FcTrue)
  10638. } else {
  10639. v1 = m_FcFalse
  10640. }
  10641. }
  10642. if v2 && v1 != 0 {
  10643. libc.Xfree(tls, lang)
  10644. }
  10645. langs = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  10646. if v4 = langs != 0; v4 {
  10647. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == langs {
  10648. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = libc.UintptrFromInt32(0)
  10649. v3 = libc.Int32FromInt32(m_FcTrue)
  10650. } else {
  10651. v3 = m_FcFalse
  10652. }
  10653. }
  10654. if v4 && v3 != 0 {
  10655. (*TFcRef)(unsafe.Pointer(langs)).Fcount = int32(1)
  10656. XIA__FcStrSetDestroy(tls, langs)
  10657. }
  10658. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  10659. if v6 = prgname != 0; v6 {
  10660. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == prgname {
  10661. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = libc.UintptrFromInt32(0)
  10662. v5 = libc.Int32FromInt32(m_FcTrue)
  10663. } else {
  10664. v5 = m_FcFalse
  10665. }
  10666. }
  10667. if v6 && v5 != 0 {
  10668. libc.Xfree(tls, prgname)
  10669. }
  10670. }
  10671. func XIA__FcDefaultSubstitute(tls *libc.TLS, pattern uintptr) {
  10672. bp := tls.Alloc(112)
  10673. defer tls.Free(112)
  10674. var i int32
  10675. var pixelsize float64
  10676. var prgname uintptr
  10677. var _ /* b at bp+88 */ float64
  10678. var _ /* dpi at bp+56 */ float64
  10679. var _ /* e at bp+96 */ float64
  10680. var _ /* iter at bp+0 */ TFcPatternIter
  10681. var _ /* namelang at bp+24 */ TFcValue
  10682. var _ /* r at bp+80 */ uintptr
  10683. var _ /* scale at bp+72 */ float64
  10684. var _ /* size at bp+64 */ float64
  10685. var _ /* v at bp+8 */ TFcValue
  10686. var _ /* v2 at bp+40 */ TFcValue
  10687. _, _, _ = i, pixelsize, prgname
  10688. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WEIGHT_OBJECT)) != 0) {
  10689. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WEIGHT_OBJECT), int32(m_FC_WEIGHT_REGULAR))
  10690. }
  10691. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_SLANT_OBJECT)) != 0) {
  10692. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_SLANT_OBJECT), m_FC_SLANT_ROMAN)
  10693. }
  10694. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WIDTH_OBJECT)) != 0) {
  10695. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WIDTH_OBJECT), int32(m_FC_WIDTH_NORMAL))
  10696. }
  10697. i = 0
  10698. for {
  10699. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(64)/libc.Uint32FromInt64(8))) {
  10700. break
  10701. }
  10702. if !(XFcPatternFindObjectIter(tls, pattern, bp, _FcBoolDefaults[i].Ffield) != 0) {
  10703. XFcPatternObjectAddBool(tls, pattern, _FcBoolDefaults[i].Ffield, _FcBoolDefaults[i].Fvalue)
  10704. }
  10705. goto _1
  10706. _1:
  10707. ;
  10708. i++
  10709. }
  10710. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+64) != int32(_FcResultMatch) {
  10711. if XFcPatternObjectGetRange(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+80) == int32(_FcResultMatch) && XIA__FcRangeGetDouble(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), bp+88, bp+96) != 0 {
  10712. *(*float64)(unsafe.Pointer(bp + 64)) = (*(*float64)(unsafe.Pointer(bp + 88)) + *(*float64)(unsafe.Pointer(bp + 96))) * float64(0.5)
  10713. } else {
  10714. *(*float64)(unsafe.Pointer(bp + 64)) = libc.Float64FromFloat64(12)
  10715. }
  10716. }
  10717. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SCALE_OBJECT), 0, bp+72) != int32(_FcResultMatch) {
  10718. *(*float64)(unsafe.Pointer(bp + 72)) = float64(1)
  10719. }
  10720. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_DPI_OBJECT), 0, bp+56) != int32(_FcResultMatch) {
  10721. *(*float64)(unsafe.Pointer(bp + 56)) = float64(75)
  10722. }
  10723. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_PIXEL_SIZE_OBJECT)) != 0) {
  10724. XFcPatternObjectDel(tls, pattern, int32(_FC_SCALE_OBJECT))
  10725. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SCALE_OBJECT), *(*float64)(unsafe.Pointer(bp + 72)))
  10726. pixelsize = *(*float64)(unsafe.Pointer(bp + 64)) * *(*float64)(unsafe.Pointer(bp + 72))
  10727. XFcPatternObjectDel(tls, pattern, int32(_FC_DPI_OBJECT))
  10728. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_DPI_OBJECT), *(*float64)(unsafe.Pointer(bp + 56)))
  10729. pixelsize *= *(*float64)(unsafe.Pointer(bp + 56)) / float64(72)
  10730. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_PIXEL_SIZE_OBJECT), pixelsize)
  10731. } else {
  10732. XIA__FcPatternIterGetValue(tls, pattern, bp, 0, bp+8, libc.UintptrFromInt32(0))
  10733. *(*float64)(unsafe.Pointer(bp + 64)) = *(*float64)(unsafe.Pointer(bp + 8 + 8))
  10734. *(*float64)(unsafe.Pointer(bp + 64)) = *(*float64)(unsafe.Pointer(bp + 64)) / *(*float64)(unsafe.Pointer(bp + 56)) * float64(72) / *(*float64)(unsafe.Pointer(bp + 72))
  10735. }
  10736. XFcPatternObjectDel(tls, pattern, int32(_FC_SIZE_OBJECT))
  10737. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SIZE_OBJECT), *(*float64)(unsafe.Pointer(bp + 64)))
  10738. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FONTVERSION_OBJECT)) != 0) {
  10739. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_FONTVERSION_OBJECT), int32(0x7fffffff))
  10740. }
  10741. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_HINT_STYLE_OBJECT)) != 0) {
  10742. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_HINT_STYLE_OBJECT), int32(m_FC_HINT_FULL))
  10743. }
  10744. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_NAMELANG_OBJECT)) != 0) {
  10745. XFcPatternObjectAddString(tls, pattern, int32(_FC_NAMELANG_OBJECT), XFcGetDefaultLang(tls))
  10746. }
  10747. /* shouldn't be failed. */
  10748. XFcPatternObjectGet(tls, pattern, int32(_FC_NAMELANG_OBJECT), 0, bp+24)
  10749. /* Add a fallback to ensure the english name when the requested language
  10750. * isn't available. this would helps for the fonts that have non-English
  10751. * name at the beginning.
  10752. */
  10753. /* Set "en-us" instead of "en" to avoid giving higher score to "en".
  10754. * This is a hack for the case that the orth is not like ll-cc, because,
  10755. * if no namelang isn't explicitly set, it will has something like ll-cc
  10756. * according to current locale. which may causes FcLangDifferentTerritory
  10757. * at FcLangCompare(). thus, the English name is selected so that
  10758. * exact matched "en" has higher score than ll-cc.
  10759. */
  10760. (*(*TFcValue)(unsafe.Pointer(bp + 40))).Ftype1 = int32(_FcTypeString)
  10761. *(*uintptr)(unsafe.Pointer(bp + 40 + 8)) = __ccgo_ts + 2807
  10762. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FAMILYLANG_OBJECT)) != 0) {
  10763. XFcPatternObjectAdd(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 24)), int32(m_FcTrue))
  10764. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 40)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10765. }
  10766. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_STYLELANG_OBJECT)) != 0) {
  10767. XFcPatternObjectAdd(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 24)), int32(m_FcTrue))
  10768. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 40)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10769. }
  10770. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FULLNAMELANG_OBJECT)) != 0) {
  10771. XFcPatternObjectAdd(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 24)), int32(m_FcTrue))
  10772. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 40)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10773. }
  10774. if XFcPatternObjectGet(tls, pattern, int32(_FC_PRGNAME_OBJECT), 0, bp+8) == int32(_FcResultNoMatch) {
  10775. prgname = XFcGetPrgname(tls)
  10776. if prgname != 0 {
  10777. XFcPatternObjectAddString(tls, pattern, int32(_FC_PRGNAME_OBJECT), prgname)
  10778. }
  10779. }
  10780. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_ORDER_OBJECT)) != 0) {
  10781. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_ORDER_OBJECT), 0)
  10782. }
  10783. }
  10784. var XFcDefaultSubstitute = XIA__FcDefaultSubstitute
  10785. const m_S_IFDIR1 = 16384
  10786. const m_S_IFLNK1 = 40960
  10787. const m_S_IFMT3 = 61440
  10788. const m_S_IFREG1 = 32768
  10789. func XIA__FcFileIsDir(tls *libc.TLS, file uintptr) (r TFcBool) {
  10790. bp := tls.Alloc(160)
  10791. defer tls.Free(160)
  10792. var _ /* statb at bp+0 */ Tstat
  10793. if XFcStat(tls, file, bp) != 0 {
  10794. return m_FcFalse
  10795. }
  10796. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFDIR1))
  10797. }
  10798. var XFcFileIsDir = XIA__FcFileIsDir
  10799. func XFcFileIsLink(tls *libc.TLS, file uintptr) (r TFcBool) {
  10800. bp := tls.Alloc(160)
  10801. defer tls.Free(160)
  10802. var _ /* statb at bp+0 */ Tstat
  10803. if libc.Xlstat(tls, file, bp) != 0 {
  10804. return m_FcFalse
  10805. }
  10806. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFLNK1))
  10807. }
  10808. func XFcFileIsFile(tls *libc.TLS, file uintptr) (r TFcBool) {
  10809. bp := tls.Alloc(160)
  10810. defer tls.Free(160)
  10811. var _ /* statb at bp+0 */ Tstat
  10812. if XFcStat(tls, file, bp) != 0 {
  10813. return m_FcFalse
  10814. }
  10815. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFREG1))
  10816. }
  10817. func _FcFileScanFontConfig(tls *libc.TLS, set uintptr, file uintptr, config uintptr) (r TFcBool) {
  10818. bp := tls.Alloc(32)
  10819. defer tls.Free(32)
  10820. var font, s, sysroot uintptr
  10821. var i, old_nfont int32
  10822. var len1 Tsize_t
  10823. var ret TFcBool
  10824. var _ /* f at bp+0 */ uintptr
  10825. _, _, _, _, _, _, _ = font, i, len1, old_nfont, ret, s, sysroot
  10826. ret = int32(m_FcTrue)
  10827. old_nfont = (*TFcFontSet)(unsafe.Pointer(set)).Fnfont
  10828. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10829. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10830. libc.Xprintf(tls, __ccgo_ts+2813, libc.VaList(bp+16, file))
  10831. libc.Xfflush(tls, libc.Xstdout)
  10832. }
  10833. if !(XIA__FcFreeTypeQueryAll(tls, file, libc.Uint32FromInt32(-libc.Int32FromInt32(1)), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), set) != 0) {
  10834. return m_FcFalse
  10835. }
  10836. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10837. libc.Xprintf(tls, __ccgo_ts+2834, 0)
  10838. }
  10839. i = old_nfont
  10840. for {
  10841. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  10842. break
  10843. }
  10844. font = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*4))
  10845. /*
  10846. * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
  10847. * and they should usually expect without sysroot.
  10848. */
  10849. if sysroot != 0 {
  10850. len1 = libc.Xstrlen(tls, sysroot)
  10851. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  10852. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) && libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(bp)), sysroot, len1) == 0 {
  10853. s = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp)))
  10854. XFcPatternObjectDel(tls, font, int32(_FC_FILE_OBJECT))
  10855. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1)))) != int32('/') {
  10856. len1--
  10857. } else {
  10858. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1+uint32(1))))) == int32('/') {
  10859. len1++
  10860. }
  10861. }
  10862. XFcPatternObjectAddString(tls, font, int32(_FC_FILE_OBJECT), s+uintptr(len1))
  10863. XIA__FcStrFree(tls, s)
  10864. }
  10865. }
  10866. /*
  10867. * Edit pattern with user-defined rules
  10868. */
  10869. if config != 0 && !(XIA__FcConfigSubstitute(tls, config, font, int32(_FcMatchScan)) != 0) {
  10870. ret = m_FcFalse
  10871. }
  10872. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  10873. libc.Xprintf(tls, __ccgo_ts+2840, 0)
  10874. XIA__FcPatternPrint(tls, font)
  10875. }
  10876. goto _1
  10877. _1:
  10878. ;
  10879. i++
  10880. }
  10881. return ret
  10882. }
  10883. func XFcFileScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, file uintptr, config uintptr) (r TFcBool) {
  10884. var d, sysroot uintptr
  10885. var len1 Tsize_t
  10886. _, _, _ = d, len1, sysroot
  10887. if XIA__FcFileIsDir(tls, file) != 0 {
  10888. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10889. d = file
  10890. if sysroot != 0 {
  10891. len1 = libc.Xstrlen(tls, sysroot)
  10892. if libc.Xstrncmp(tls, file, sysroot, len1) == 0 {
  10893. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1)))) != int32('/') {
  10894. len1--
  10895. } else {
  10896. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1+uint32(1))))) == int32('/') {
  10897. len1++
  10898. }
  10899. }
  10900. d = file + uintptr(len1)
  10901. }
  10902. }
  10903. return XIA__FcStrSetAdd(tls, dirs, d)
  10904. } else {
  10905. if set != 0 {
  10906. return _FcFileScanFontConfig(tls, set, file, config)
  10907. } else {
  10908. return int32(m_FcTrue)
  10909. }
  10910. }
  10911. return r
  10912. }
  10913. func XIA__FcFileScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, file uintptr, force TFcBool) (r TFcBool) {
  10914. var config uintptr
  10915. var ret TFcBool
  10916. _, _ = config, ret
  10917. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  10918. if !(config != 0) {
  10919. return m_FcFalse
  10920. }
  10921. ret = XFcFileScanConfig(tls, set, dirs, file, config)
  10922. XIA__FcConfigDestroy(tls, config)
  10923. return ret
  10924. }
  10925. var XFcFileScan = XIA__FcFileScan
  10926. // C documentation
  10927. //
  10928. // /*
  10929. // * Strcmp helper that takes pointers to pointers, copied from qsort(3) manpage
  10930. // */
  10931. func _cmpstringp(tls *libc.TLS, p1 uintptr, p2 uintptr) (r int32) {
  10932. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(p1)), *(*uintptr)(unsafe.Pointer(p2)))
  10933. }
  10934. func XFcDirScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  10935. bp := tls.Alloc(32)
  10936. defer tls.Free(32)
  10937. var base, d, e, file_prefix, files, s_dir, sysroot, v1 uintptr
  10938. var i int32
  10939. var ret TFcBool
  10940. _, _, _, _, _, _, _, _, _, _ = base, d, e, file_prefix, files, i, ret, s_dir, sysroot, v1
  10941. s_dir = libc.UintptrFromInt32(0)
  10942. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10943. ret = int32(m_FcTrue)
  10944. if !(force != 0) {
  10945. return m_FcFalse
  10946. }
  10947. if !(set != 0) && !(dirs != 0) {
  10948. return int32(m_FcTrue)
  10949. }
  10950. /* freed below */
  10951. file_prefix = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint32(1)+uint32(m_FC_MAX_FILE_LEN)+uint32(1))
  10952. if !(file_prefix != 0) {
  10953. ret = m_FcFalse
  10954. goto bail
  10955. }
  10956. libc.Xstrcpy(tls, file_prefix, dir)
  10957. libc.Xstrcat(tls, file_prefix, __ccgo_ts+1495)
  10958. base = file_prefix + uintptr(libc.Xstrlen(tls, file_prefix))
  10959. if sysroot != 0 {
  10960. s_dir = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  10961. } else {
  10962. s_dir = libc.Xstrdup(tls, dir)
  10963. }
  10964. if !(s_dir != 0) {
  10965. ret = m_FcFalse
  10966. goto bail
  10967. }
  10968. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10969. libc.Xprintf(tls, __ccgo_ts+2861, libc.VaList(bp+8, s_dir))
  10970. }
  10971. d = libc.Xopendir(tls, s_dir)
  10972. if !(d != 0) {
  10973. /* Don't complain about missing directories */
  10974. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(m_ENOENT) {
  10975. ret = m_FcFalse
  10976. }
  10977. goto bail
  10978. }
  10979. files = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  10980. if !(files != 0) {
  10981. ret = m_FcFalse
  10982. goto bail1
  10983. }
  10984. for {
  10985. v1 = libc.Xreaddir(tls, d)
  10986. e = v1
  10987. if !(v1 != 0) {
  10988. break
  10989. }
  10990. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) != int32('.') && libc.Xstrlen(tls, e+19) < uint32(m_FC_MAX_FILE_LEN) {
  10991. libc.Xstrcpy(tls, base, e+19)
  10992. if !(XIA__FcStrSetAdd(tls, files, file_prefix) != 0) {
  10993. ret = m_FcFalse
  10994. goto bail2
  10995. }
  10996. }
  10997. }
  10998. /*
  10999. * Sort files to make things prettier
  11000. */
  11001. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint32(4), __ccgo_fp(_cmpstringp))
  11002. /*
  11003. * Scan file files to build font patterns
  11004. */
  11005. i = 0
  11006. for {
  11007. if !(i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  11008. break
  11009. }
  11010. XFcFileScanConfig(tls, set, dirs, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*4)), config)
  11011. goto _2
  11012. _2:
  11013. ;
  11014. i++
  11015. }
  11016. goto bail2
  11017. bail2:
  11018. ;
  11019. XIA__FcStrSetDestroy(tls, files)
  11020. goto bail1
  11021. bail1:
  11022. ;
  11023. libc.Xclosedir(tls, d)
  11024. goto bail
  11025. bail:
  11026. ;
  11027. if s_dir != 0 {
  11028. libc.Xfree(tls, s_dir)
  11029. }
  11030. if file_prefix != 0 {
  11031. libc.Xfree(tls, file_prefix)
  11032. }
  11033. return ret
  11034. }
  11035. func XIA__FcDirScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, dir uintptr, force TFcBool) (r TFcBool) {
  11036. var config uintptr
  11037. var ret TFcBool
  11038. _, _ = config, ret
  11039. if cache != 0 || !(force != 0) {
  11040. return m_FcFalse
  11041. }
  11042. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  11043. if !(config != 0) {
  11044. return m_FcFalse
  11045. }
  11046. ret = XFcDirScanConfig(tls, set, dirs, dir, force, config)
  11047. XIA__FcConfigDestroy(tls, config)
  11048. return ret
  11049. }
  11050. var XFcDirScan = XIA__FcDirScan
  11051. // C documentation
  11052. //
  11053. // /*
  11054. // * Scan the specified directory and construct a cache of its contents
  11055. // */
  11056. func XFcDirCacheScan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  11057. bp := tls.Alloc(176)
  11058. defer tls.Free(176)
  11059. var cache, d, dirs, set, sysroot uintptr
  11060. var fd int32
  11061. var _ /* dir_stat at bp+0 */ Tstat
  11062. _, _, _, _, _, _ = cache, d, dirs, fd, set, sysroot
  11063. cache = libc.UintptrFromInt32(0)
  11064. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  11065. fd = -int32(1)
  11066. if sysroot != 0 {
  11067. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+160, dir, libc.UintptrFromInt32(0)))
  11068. } else {
  11069. d = libc.Xstrdup(tls, dir)
  11070. }
  11071. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  11072. libc.Xprintf(tls, __ccgo_ts+2879, libc.VaList(bp+160, d))
  11073. }
  11074. if XFcStatChecksum(tls, d, bp) < 0 {
  11075. goto bail
  11076. }
  11077. set = XIA__FcFontSetCreate(tls)
  11078. if !(set != 0) {
  11079. goto bail
  11080. }
  11081. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  11082. if !(dirs != 0) {
  11083. goto bail1
  11084. }
  11085. fd = XFcDirCacheLock(tls, dir, config)
  11086. /*
  11087. * Scan the dir
  11088. */
  11089. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  11090. if !(XFcDirScanConfig(tls, set, dirs, dir, int32(m_FcTrue), config) != 0) {
  11091. goto bail2
  11092. }
  11093. /*
  11094. * Build the cache object
  11095. */
  11096. cache = XFcDirCacheBuild(tls, set, dir, bp, dirs)
  11097. if !(cache != 0) {
  11098. goto bail2
  11099. }
  11100. /*
  11101. * Write out the cache file, ignoring any troubles
  11102. */
  11103. XFcDirCacheWrite(tls, cache, config)
  11104. goto bail2
  11105. bail2:
  11106. ;
  11107. XFcDirCacheUnlock(tls, fd)
  11108. XIA__FcStrSetDestroy(tls, dirs)
  11109. goto bail1
  11110. bail1:
  11111. ;
  11112. XIA__FcFontSetDestroy(tls, set)
  11113. goto bail
  11114. bail:
  11115. ;
  11116. XIA__FcStrFree(tls, d)
  11117. return cache
  11118. }
  11119. func XIA__FcDirCacheRescan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  11120. bp := tls.Alloc(176)
  11121. defer tls.Free(176)
  11122. var cache, d, dirs, new1, sysroot uintptr
  11123. var fd int32
  11124. var _ /* dir_stat at bp+0 */ Tstat
  11125. _, _, _, _, _, _ = cache, d, dirs, fd, new1, sysroot
  11126. new1 = libc.UintptrFromInt32(0)
  11127. d = libc.UintptrFromInt32(0)
  11128. fd = -int32(1)
  11129. config = XIA__FcConfigReference(tls, config)
  11130. if !(config != 0) {
  11131. return libc.UintptrFromInt32(0)
  11132. }
  11133. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  11134. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  11135. if !(cache != 0) {
  11136. goto bail
  11137. }
  11138. if sysroot != 0 {
  11139. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+160, dir, libc.UintptrFromInt32(0)))
  11140. } else {
  11141. d = libc.Xstrdup(tls, dir)
  11142. }
  11143. if XFcStatChecksum(tls, d, bp) < 0 {
  11144. goto bail
  11145. }
  11146. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  11147. if !(dirs != 0) {
  11148. goto bail
  11149. }
  11150. fd = XFcDirCacheLock(tls, dir, config)
  11151. /*
  11152. * Scan the dir
  11153. */
  11154. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  11155. if !(XFcDirScanConfig(tls, libc.UintptrFromInt32(0), dirs, dir, int32(m_FcTrue), config) != 0) {
  11156. goto bail1
  11157. }
  11158. /*
  11159. * Rebuild the cache object
  11160. */
  11161. new1 = XFcDirCacheRebuild(tls, cache, bp, dirs)
  11162. if !(new1 != 0) {
  11163. goto bail1
  11164. }
  11165. XIA__FcDirCacheUnload(tls, cache)
  11166. /*
  11167. * Write out the cache file, ignoring any troubles
  11168. */
  11169. XFcDirCacheWrite(tls, new1, config)
  11170. goto bail1
  11171. bail1:
  11172. ;
  11173. XFcDirCacheUnlock(tls, fd)
  11174. XIA__FcStrSetDestroy(tls, dirs)
  11175. goto bail
  11176. bail:
  11177. ;
  11178. if d != 0 {
  11179. XIA__FcStrFree(tls, d)
  11180. }
  11181. XIA__FcConfigDestroy(tls, config)
  11182. return new1
  11183. }
  11184. var XFcDirCacheRescan = XIA__FcDirCacheRescan
  11185. // C documentation
  11186. //
  11187. // /*
  11188. // * Read (or construct) the cache for a directory
  11189. // */
  11190. func XIA__FcDirCacheRead(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r uintptr) {
  11191. var cache uintptr
  11192. _ = cache
  11193. cache = libc.UintptrFromInt32(0)
  11194. config = XIA__FcConfigReference(tls, config)
  11195. /* Try to use existing cache file */
  11196. if !(force != 0) {
  11197. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  11198. }
  11199. /* Not using existing cache file, construct new cache */
  11200. if !(cache != 0) {
  11201. cache = XFcDirCacheScan(tls, dir, config)
  11202. }
  11203. XIA__FcConfigDestroy(tls, config)
  11204. return cache
  11205. }
  11206. var XFcDirCacheRead = XIA__FcDirCacheRead
  11207. func XIA__FcDirSave(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr) (r TFcBool) {
  11208. return m_FcFalse /* XXX deprecated */
  11209. }
  11210. var XFcDirSave = XIA__FcDirSave
  11211. const m_FCCAT_FORMAT = "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
  11212. const m_FCLIST_FORMAT = "%{?file{%{file}: }}%{-file{%{=unparse}}}"
  11213. const m_FCMATCH_FORMAT = "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
  11214. const m_PKGKIT_FORMAT = "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
  11215. const m_S_IFDIR2 = 0040000
  11216. const m_S_IFLNK2 = 0120000
  11217. const m_S_IFMT4 = 0170000
  11218. const m_S_IFREG2 = 0100000
  11219. /* The language is documented in doc/fcformat.fncs
  11220. * These are the features implemented:
  11221. *
  11222. * simple %{elt}
  11223. * width %width{elt}
  11224. * index %{elt[idx]}
  11225. * name= %{elt=}
  11226. * :name= %{:elt}
  11227. * default %{elt:-word}
  11228. * count %{#elt}
  11229. * subexpr %{{expr}}
  11230. * filter-out %{-elt1,elt2,elt3{expr}}
  11231. * filter-in %{+elt1,elt2,elt3{expr}}
  11232. * conditional %{?elt1,elt2,!elt3{}{}}
  11233. * enumerate %{[]elt1,elt2{expr}}
  11234. * langset langset enumeration using the same syntax
  11235. * builtin %{=blt}
  11236. * convert %{elt|conv1|conv2|conv3}
  11237. *
  11238. * converters:
  11239. * basename FcStrBasename
  11240. * dirname FcStrDirname
  11241. * downcase FcStrDowncase
  11242. * shescape
  11243. * cescape
  11244. * xmlescape
  11245. * delete delete chars
  11246. * escape escape chars
  11247. * translate translate chars
  11248. *
  11249. * builtins:
  11250. * unparse FcNameUnparse
  11251. * fcmatch fc-match default
  11252. * fclist fc-list default
  11253. * fccat fc-cat default
  11254. * pkgkit PackageKit package tag format
  11255. *
  11256. *
  11257. * Some ideas for future syntax extensions:
  11258. *
  11259. * - verbose builtin that is like FcPatternPrint
  11260. * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
  11261. * - allow indexing in +, -, ? filtering?
  11262. * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  11263. */
  11264. func _message(tls *libc.TLS, fmt uintptr, va uintptr) {
  11265. var args Tva_list
  11266. _ = args
  11267. args = va
  11268. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2898, 0)
  11269. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  11270. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2933, 0)
  11271. _ = args
  11272. }
  11273. type TFcFormatContext = struct {
  11274. Fformat_orig uintptr
  11275. Fformat uintptr
  11276. Fformat_len int32
  11277. Fword uintptr
  11278. Fword_allocated TFcBool
  11279. }
  11280. type T_FcFormatContext = TFcFormatContext
  11281. func _FcFormatContextInit(tls *libc.TLS, c uintptr, format uintptr, scratch uintptr, scratch_len int32) (r TFcBool) {
  11282. var v1 uintptr
  11283. _ = v1
  11284. v1 = format
  11285. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = v1
  11286. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig = v1
  11287. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len = libc.Int32FromUint32(libc.Xstrlen(tls, format))
  11288. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len < scratch_len {
  11289. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = scratch
  11290. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = m_FcFalse
  11291. } else {
  11292. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = libc.Xmalloc(tls, libc.Uint32FromInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len+int32(1)))
  11293. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = int32(m_FcTrue)
  11294. }
  11295. return libc.BoolInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fword != libc.UintptrFromInt32(0))
  11296. }
  11297. func _FcFormatContextDone(tls *libc.TLS, c uintptr) {
  11298. if c != 0 && (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated != 0 {
  11299. libc.Xfree(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11300. }
  11301. }
  11302. func _consume_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11303. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  11304. return m_FcFalse
  11305. }
  11306. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11307. return int32(m_FcTrue)
  11308. }
  11309. func _expect_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11310. bp := tls.Alloc(32)
  11311. defer tls.Free(32)
  11312. var res TFcBool
  11313. _ = res
  11314. res = _consume_char(tls, c, term)
  11315. if !(res != 0) {
  11316. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig+uintptr((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len) {
  11317. _message(tls, __ccgo_ts+2936, libc.VaList(bp+8, libc.Int32FromUint8(term)))
  11318. } else {
  11319. _message(tls, __ccgo_ts+2970, libc.VaList(bp+8, libc.Int32FromUint8(term), int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int32(1)))
  11320. }
  11321. }
  11322. return res
  11323. }
  11324. func _FcCharIsPunct(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  11325. if libc.Int32FromUint8(c) < int32('0') {
  11326. return int32(m_FcTrue)
  11327. }
  11328. if libc.Int32FromUint8(c) <= int32('9') {
  11329. return m_FcFalse
  11330. }
  11331. if libc.Int32FromUint8(c) < int32('A') {
  11332. return int32(m_FcTrue)
  11333. }
  11334. if libc.Int32FromUint8(c) <= int32('Z') {
  11335. return m_FcFalse
  11336. }
  11337. if libc.Int32FromUint8(c) < int32('a') {
  11338. return int32(m_FcTrue)
  11339. }
  11340. if libc.Int32FromUint8(c) <= int32('z') {
  11341. return m_FcFalse
  11342. }
  11343. if libc.Int32FromUint8(c) <= int32('~') {
  11344. return int32(m_FcTrue)
  11345. }
  11346. return m_FcFalse
  11347. }
  11348. func _escaped_char(tls *libc.TLS, ch uint8) (r uint8) {
  11349. switch libc.Int32FromUint8(ch) {
  11350. case int32('a'):
  11351. return uint8('\a')
  11352. case int32('b'):
  11353. return uint8('\b')
  11354. case int32('f'):
  11355. return uint8('\f')
  11356. case int32('n'):
  11357. return uint8('\n')
  11358. case int32('r'):
  11359. return uint8('\r')
  11360. case int32('t'):
  11361. return uint8('\t')
  11362. case int32('v'):
  11363. return uint8('\v')
  11364. default:
  11365. return ch
  11366. }
  11367. return r
  11368. }
  11369. func _read_word(tls *libc.TLS, c uintptr) (r TFcBool) {
  11370. bp := tls.Alloc(16)
  11371. defer tls.Free(16)
  11372. var p, v1, v2, v3, v4, v5, v6 uintptr
  11373. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  11374. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11375. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11376. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  11377. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11378. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11379. v1 = p
  11380. p++
  11381. v3 = c + 4
  11382. v2 = *(*uintptr)(unsafe.Pointer(v3))
  11383. *(*uintptr)(unsafe.Pointer(v3))++
  11384. *(*TFcChar8)(unsafe.Pointer(v1)) = _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v2)))
  11385. }
  11386. continue
  11387. } else {
  11388. if _FcCharIsPunct(tls, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != 0 {
  11389. break
  11390. }
  11391. }
  11392. v4 = p
  11393. p++
  11394. v6 = c + 4
  11395. v5 = *(*uintptr)(unsafe.Pointer(v6))
  11396. *(*uintptr)(unsafe.Pointer(v6))++
  11397. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  11398. }
  11399. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  11400. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  11401. _message(tls, __ccgo_ts+2990, libc.VaList(bp+8, int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int32(1)))
  11402. return m_FcFalse
  11403. }
  11404. return int32(m_FcTrue)
  11405. }
  11406. func _read_chars(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11407. bp := tls.Alloc(16)
  11408. defer tls.Free(16)
  11409. var p, v1, v2, v3, v4, v5, v6 uintptr
  11410. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  11411. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11412. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  11413. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  11414. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11415. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11416. v1 = p
  11417. p++
  11418. v3 = c + 4
  11419. v2 = *(*uintptr)(unsafe.Pointer(v3))
  11420. *(*uintptr)(unsafe.Pointer(v3))++
  11421. *(*TFcChar8)(unsafe.Pointer(v1)) = _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v2)))
  11422. }
  11423. continue
  11424. }
  11425. v4 = p
  11426. p++
  11427. v6 = c + 4
  11428. v5 = *(*uintptr)(unsafe.Pointer(v6))
  11429. *(*uintptr)(unsafe.Pointer(v6))++
  11430. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  11431. }
  11432. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  11433. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  11434. _message(tls, __ccgo_ts+3016, libc.VaList(bp+8, int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int32(1)))
  11435. return m_FcFalse
  11436. }
  11437. return int32(m_FcTrue)
  11438. }
  11439. func _interpret_builtin(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11440. bp := tls.Alloc(16)
  11441. defer tls.Free(16)
  11442. var new_str uintptr
  11443. var ret TFcBool
  11444. _, _ = new_str, ret
  11445. if !(_expect_char(tls, c, uint8('=')) != 0) || !(_read_word(tls, c) != 0) {
  11446. return m_FcFalse
  11447. }
  11448. /* try simple builtins first */
  11449. if 0 != 0 {
  11450. } else {
  11451. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3046) {
  11452. new_str = XIA__FcNameUnparse(tls, pat)
  11453. ret = int32(m_FcTrue)
  11454. } else {
  11455. ret = m_FcFalse
  11456. }
  11457. }
  11458. if ret != 0 {
  11459. if new_str != 0 {
  11460. XFcStrBufString(tls, buf, new_str)
  11461. XIA__FcStrFree(tls, new_str)
  11462. return int32(m_FcTrue)
  11463. } else {
  11464. return m_FcFalse
  11465. }
  11466. }
  11467. /* now try our custom formats */
  11468. if 0 != 0 {
  11469. } else {
  11470. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3054) {
  11471. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3060, buf)
  11472. } else {
  11473. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3128) {
  11474. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3136, buf)
  11475. } else {
  11476. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3238) {
  11477. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3245, buf)
  11478. } else {
  11479. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3286) {
  11480. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3293, buf)
  11481. } else {
  11482. ret = m_FcFalse
  11483. }
  11484. }
  11485. }
  11486. }
  11487. }
  11488. if !(ret != 0) {
  11489. _message(tls, __ccgo_ts+3397, libc.VaList(bp+8, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  11490. }
  11491. return ret
  11492. }
  11493. func _interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11494. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _interpret_expr(tls, c, pat, buf, uint8('}')) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  11495. }
  11496. func _maybe_interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11497. var v1 int32
  11498. _ = v1
  11499. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  11500. v1 = _interpret_subexpr(tls, c, pat, buf)
  11501. } else {
  11502. v1 = int32(m_FcTrue)
  11503. }
  11504. return v1
  11505. }
  11506. func _skip_percent(tls *libc.TLS, c uintptr) (r TFcBool) {
  11507. if !(_expect_char(tls, c, uint8('%')) != 0) {
  11508. return m_FcFalse
  11509. }
  11510. /* skip an optional width specifier */
  11511. if libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+4, int32(10)) != 0 {
  11512. /* don't care */
  11513. }
  11514. if !(_expect_char(tls, c, uint8('{')) != 0) {
  11515. return m_FcFalse
  11516. }
  11517. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  11518. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11519. case int32('\\'):
  11520. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  11521. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11522. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11523. }
  11524. continue
  11525. case int32('{'):
  11526. if !(_skip_subexpr(tls, c) != 0) {
  11527. return m_FcFalse
  11528. }
  11529. continue
  11530. }
  11531. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11532. }
  11533. return _expect_char(tls, c, uint8('}'))
  11534. }
  11535. func _skip_expr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11536. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  11537. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11538. case int32('\\'):
  11539. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  11540. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11541. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11542. }
  11543. continue
  11544. case int32('%'):
  11545. if !(_skip_percent(tls, c) != 0) {
  11546. return m_FcFalse
  11547. }
  11548. continue
  11549. }
  11550. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11551. }
  11552. return int32(m_FcTrue)
  11553. }
  11554. func _skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11555. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _skip_expr(tls, c) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  11556. }
  11557. func _maybe_skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11558. var v1 int32
  11559. _ = v1
  11560. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  11561. v1 = _skip_subexpr(tls, c)
  11562. } else {
  11563. v1 = int32(m_FcTrue)
  11564. }
  11565. return v1
  11566. }
  11567. func _interpret_filter_in(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11568. var os, subpat uintptr
  11569. _, _ = os, subpat
  11570. if !(_expect_char(tls, c, uint8('+')) != 0) {
  11571. return m_FcFalse
  11572. }
  11573. os = XIA__FcObjectSetCreate(tls)
  11574. if !(os != 0) {
  11575. return m_FcFalse
  11576. }
  11577. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11578. /* XXX binding */
  11579. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  11580. XIA__FcObjectSetDestroy(tls, os)
  11581. return m_FcFalse
  11582. }
  11583. }
  11584. subpat = XIA__FcPatternFilter(tls, pat, os)
  11585. XIA__FcObjectSetDestroy(tls, os)
  11586. if !(subpat != 0) || !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  11587. return m_FcFalse
  11588. }
  11589. XIA__FcPatternDestroy(tls, subpat)
  11590. return int32(m_FcTrue)
  11591. }
  11592. func _interpret_filter_out(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11593. var subpat uintptr
  11594. _ = subpat
  11595. if !(_expect_char(tls, c, uint8('-')) != 0) {
  11596. return m_FcFalse
  11597. }
  11598. subpat = XIA__FcPatternDuplicate(tls, pat)
  11599. if !(subpat != 0) {
  11600. return m_FcFalse
  11601. }
  11602. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11603. if !(_read_word(tls, c) != 0) {
  11604. XIA__FcPatternDestroy(tls, subpat)
  11605. return m_FcFalse
  11606. }
  11607. XIA__FcPatternDel(tls, subpat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11608. }
  11609. if !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  11610. return m_FcFalse
  11611. }
  11612. XIA__FcPatternDestroy(tls, subpat)
  11613. return int32(m_FcTrue)
  11614. }
  11615. func _interpret_cond(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11616. bp := tls.Alloc(16)
  11617. defer tls.Free(16)
  11618. var negate, pass TFcBool
  11619. var _ /* v at bp+0 */ TFcValue
  11620. _, _ = negate, pass
  11621. if !(_expect_char(tls, c, uint8('?')) != 0) {
  11622. return m_FcFalse
  11623. }
  11624. pass = int32(m_FcTrue)
  11625. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11626. negate = _consume_char(tls, c, uint8('!'))
  11627. if !(_read_word(tls, c) != 0) {
  11628. return m_FcFalse
  11629. }
  11630. pass = libc.BoolInt32(pass != 0 && negate^libc.BoolInt32(int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, 0, bp)) != 0)
  11631. }
  11632. if pass != 0 {
  11633. if !(_interpret_subexpr(tls, c, pat, buf) != 0) || !(_maybe_skip_subexpr(tls, c) != 0) {
  11634. return m_FcFalse
  11635. }
  11636. } else {
  11637. if !(_skip_subexpr(tls, c) != 0) || !(_maybe_interpret_subexpr(tls, c, pat, buf) != 0) {
  11638. return m_FcFalse
  11639. }
  11640. }
  11641. return int32(m_FcTrue)
  11642. }
  11643. func _interpret_count(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11644. bp := tls.Alloc(96)
  11645. defer tls.Free(96)
  11646. var count int32
  11647. var _ /* buf_static at bp+8 */ [64]TFcChar8
  11648. var _ /* iter at bp+0 */ TFcPatternIter
  11649. _ = count
  11650. if !(_expect_char(tls, c, uint8('#')) != 0) {
  11651. return m_FcFalse
  11652. }
  11653. if !(_read_word(tls, c) != 0) {
  11654. return m_FcFalse
  11655. }
  11656. count = 0
  11657. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 {
  11658. count = XIA__FcPatternIterValueCount(tls, pat, bp)
  11659. }
  11660. libc.X__builtin_snprintf(tls, bp+8, uint32(64), __ccgo_ts+2507, libc.VaList(bp+80, count))
  11661. XFcStrBufString(tls, buf, bp+8)
  11662. return int32(m_FcTrue)
  11663. }
  11664. func _interpret_enumerate(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11665. bp := tls.Alloc(32)
  11666. defer tls.Free(32)
  11667. var done, ret TFcBool
  11668. var format_save, lang, lang_strs, os, ss, subpat, v1, v2, v4 uintptr
  11669. var i, idx int32
  11670. var v3 bool
  11671. var _ /* langset at bp+0 */ uintptr
  11672. var _ /* v at bp+8 */ TFcValue
  11673. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = done, format_save, i, idx, lang, lang_strs, os, ret, ss, subpat, v1, v2, v3, v4
  11674. if !(_expect_char(tls, c, uint8('[')) != 0) || !(_expect_char(tls, c, uint8(']')) != 0) {
  11675. return m_FcFalse
  11676. }
  11677. os = XIA__FcObjectSetCreate(tls)
  11678. if !(os != 0) {
  11679. return m_FcFalse
  11680. }
  11681. ret = int32(m_FcTrue)
  11682. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11683. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  11684. XIA__FcObjectSetDestroy(tls, os)
  11685. return m_FcFalse
  11686. }
  11687. }
  11688. /* If we have one element and it's of type FcLangSet, we want
  11689. * to enumerate the languages in it. */
  11690. lang_strs = libc.UintptrFromInt32(0)
  11691. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == int32(1) {
  11692. if int32(_FcResultMatch) == XIA__FcPatternGetLangSet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), 0, bp) {
  11693. v1 = XIA__FcLangSetGetLangs(tls, *(*uintptr)(unsafe.Pointer(bp)))
  11694. ss = v1
  11695. if v3 = !(v1 != 0); !v3 {
  11696. v2 = XIA__FcStrListCreate(tls, ss)
  11697. lang_strs = v2
  11698. }
  11699. if v3 || !(v2 != 0) {
  11700. goto bail0
  11701. }
  11702. }
  11703. }
  11704. subpat = XIA__FcPatternDuplicate(tls, pat)
  11705. if !(subpat != 0) {
  11706. goto bail0
  11707. }
  11708. format_save = (*TFcFormatContext)(unsafe.Pointer(c)).Fformat
  11709. idx = 0
  11710. for cond := true; cond; cond = !(done != 0) {
  11711. done = int32(m_FcTrue)
  11712. if lang_strs != 0 {
  11713. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)))
  11714. v4 = XIA__FcStrListNext(tls, lang_strs)
  11715. lang = v4
  11716. if v4 != 0 {
  11717. /* XXX binding? */
  11718. XIA__FcPatternAddString(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), lang)
  11719. done = m_FcFalse
  11720. }
  11721. } else {
  11722. i = 0
  11723. for {
  11724. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  11725. break
  11726. }
  11727. /* XXX this can be optimized by accessing valuelist linked lists
  11728. * directly and remembering where we were. Most (all) value lists
  11729. * in normal uses are pretty short though (language tags are
  11730. * stored as a LangSet, not separate values.). */
  11731. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)))
  11732. if int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)), idx, bp+8) {
  11733. /* XXX binding */
  11734. XIA__FcPatternAdd(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)), *(*TFcValue)(unsafe.Pointer(bp + 8)), m_FcFalse)
  11735. done = m_FcFalse
  11736. }
  11737. goto _5
  11738. _5:
  11739. ;
  11740. i++
  11741. }
  11742. }
  11743. if !(done != 0) {
  11744. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = format_save
  11745. ret = _interpret_subexpr(tls, c, subpat, buf)
  11746. if !(ret != 0) {
  11747. goto bail
  11748. }
  11749. }
  11750. idx++
  11751. }
  11752. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == format_save {
  11753. _skip_subexpr(tls, c)
  11754. }
  11755. goto bail
  11756. bail:
  11757. ;
  11758. XIA__FcPatternDestroy(tls, subpat)
  11759. goto bail0
  11760. bail0:
  11761. ;
  11762. if lang_strs != 0 {
  11763. XIA__FcStrListDone(tls, lang_strs)
  11764. }
  11765. XIA__FcObjectSetDestroy(tls, os)
  11766. return ret
  11767. }
  11768. func _interpret_simple(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11769. bp := tls.Alloc(32)
  11770. defer tls.Free(32)
  11771. var add_colon, add_elt_name TFcBool
  11772. var else_string, orig, v3 uintptr
  11773. var idx int32
  11774. var l TFcValueListPtr
  11775. var _ /* iter at bp+0 */ TFcPatternIter
  11776. _, _, _, _, _, _, _ = add_colon, add_elt_name, else_string, idx, l, orig, v3
  11777. add_colon = m_FcFalse
  11778. add_elt_name = m_FcFalse
  11779. if _consume_char(tls, c, uint8(':')) != 0 {
  11780. add_colon = int32(m_FcTrue)
  11781. }
  11782. if !(_read_word(tls, c) != 0) {
  11783. return m_FcFalse
  11784. }
  11785. idx = -int32(1)
  11786. if _consume_char(tls, c, uint8('[')) != 0 {
  11787. idx = libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+4, int32(10))
  11788. if idx < 0 {
  11789. _message(tls, __ccgo_ts+3418, libc.VaList(bp+16, int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat-uintptr(1))-int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int32(1)))
  11790. return m_FcFalse
  11791. }
  11792. if !(_expect_char(tls, c, uint8(']')) != 0) {
  11793. return m_FcFalse
  11794. }
  11795. }
  11796. if _consume_char(tls, c, uint8('=')) != 0 {
  11797. add_elt_name = int32(m_FcTrue)
  11798. }
  11799. /* modifiers */
  11800. else_string = libc.UintptrFromInt32(0)
  11801. if _consume_char(tls, c, uint8(':')) != 0 {
  11802. /* divert the c->word for now */
  11803. orig = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11804. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = (*TFcFormatContext)(unsafe.Pointer(c)).Fword + uintptr(libc.Xstrlen(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)) + uintptr(1)
  11805. /* for now we just support 'default value' */
  11806. if !(_expect_char(tls, c, uint8('-')) != 0) || !(_read_chars(tls, c, uint8('|')) != 0) {
  11807. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  11808. return m_FcFalse
  11809. }
  11810. else_string = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11811. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  11812. }
  11813. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 || else_string != 0 {
  11814. l = libc.UintptrFromInt32(0)
  11815. if add_colon != 0 {
  11816. XFcStrBufChar(tls, buf, uint8(':'))
  11817. }
  11818. if add_elt_name != 0 {
  11819. XFcStrBufString(tls, buf, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11820. XFcStrBufChar(tls, buf, uint8('='))
  11821. }
  11822. l = XFcPatternIterGetValues(tls, pat, bp)
  11823. if !(idx != -int32(1)) {
  11824. goto _1
  11825. }
  11826. for l != 0 && idx > 0 {
  11827. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  11828. v3 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  11829. } else {
  11830. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  11831. }
  11832. l = v3
  11833. idx--
  11834. }
  11835. if l != 0 && idx == 0 {
  11836. if !(XFcNameUnparseValue(tls, buf, l+8, libc.UintptrFromInt32(0)) != 0) {
  11837. return m_FcFalse
  11838. }
  11839. } else {
  11840. goto notfound
  11841. }
  11842. goto _2
  11843. _1:
  11844. ;
  11845. if !(l != 0) {
  11846. goto _4
  11847. }
  11848. XFcNameUnparseValueList(tls, buf, l, libc.UintptrFromInt32(0))
  11849. goto _5
  11850. _4:
  11851. ;
  11852. goto notfound
  11853. notfound:
  11854. ;
  11855. if else_string != 0 {
  11856. XFcStrBufString(tls, buf, else_string)
  11857. }
  11858. _5:
  11859. ;
  11860. _2:
  11861. }
  11862. return int32(m_FcTrue)
  11863. }
  11864. func _cescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11865. var v1 uintptr
  11866. _ = v1
  11867. /* XXX escape \n etc? */
  11868. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11869. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  11870. case int32('\\'):
  11871. fallthrough
  11872. case int32('"'):
  11873. XFcStrBufChar(tls, buf, uint8('\\'))
  11874. break
  11875. }
  11876. v1 = str
  11877. str++
  11878. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v1)))
  11879. }
  11880. return int32(m_FcTrue)
  11881. }
  11882. func _shescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11883. XFcStrBufChar(tls, buf, uint8('\''))
  11884. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11885. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) == int32('\'') {
  11886. XFcStrBufString(tls, buf, __ccgo_ts+3453)
  11887. } else {
  11888. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11889. }
  11890. str++
  11891. }
  11892. XFcStrBufChar(tls, buf, uint8('\''))
  11893. return int32(m_FcTrue)
  11894. }
  11895. func _xmlescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11896. /* XXX escape \n etc? */
  11897. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11898. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  11899. case int32('&'):
  11900. XFcStrBufString(tls, buf, __ccgo_ts+3458)
  11901. case int32('<'):
  11902. XFcStrBufString(tls, buf, __ccgo_ts+3464)
  11903. case int32('>'):
  11904. XFcStrBufString(tls, buf, __ccgo_ts+3469)
  11905. default:
  11906. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11907. break
  11908. }
  11909. str++
  11910. }
  11911. return int32(m_FcTrue)
  11912. }
  11913. func _delete_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11914. var p uintptr
  11915. _ = p
  11916. /* XXX not UTF-8 aware */
  11917. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11918. return m_FcFalse
  11919. }
  11920. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11921. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11922. if p != 0 {
  11923. XFcStrBufData(tls, buf, str, int32(p)-int32(str))
  11924. str = p + uintptr(1)
  11925. } else {
  11926. XFcStrBufString(tls, buf, str)
  11927. break
  11928. }
  11929. }
  11930. return int32(m_FcTrue)
  11931. }
  11932. func _escape_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11933. var p uintptr
  11934. _ = p
  11935. /* XXX not UTF-8 aware */
  11936. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11937. return m_FcFalse
  11938. }
  11939. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11940. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11941. if p != 0 {
  11942. XFcStrBufData(tls, buf, str, int32(p)-int32(str))
  11943. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fword)))
  11944. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(p)))
  11945. str = p + uintptr(1)
  11946. } else {
  11947. XFcStrBufString(tls, buf, str)
  11948. break
  11949. }
  11950. }
  11951. return int32(m_FcTrue)
  11952. }
  11953. func _translate_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11954. var from, p, to uintptr
  11955. var from_len, i, to_len, v1 int32
  11956. var repeat uint8
  11957. _, _, _, _, _, _, _, _ = from, from_len, i, p, repeat, to, to_len, v1
  11958. /* XXX not UTF-8 aware */
  11959. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(',')) != 0) || !(_expect_char(tls, c, uint8(',')) != 0) {
  11960. return m_FcFalse
  11961. }
  11962. from = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11963. from_len = libc.Int32FromUint32(libc.Xstrlen(tls, from))
  11964. to = from + uintptr(from_len) + uintptr(1)
  11965. /* hack: we temporarily divert c->word */
  11966. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = to
  11967. if !(_read_chars(tls, c, uint8(')')) != 0) {
  11968. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11969. return m_FcFalse
  11970. }
  11971. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11972. to_len = libc.Int32FromUint32(libc.Xstrlen(tls, to))
  11973. repeat = *(*uint8)(unsafe.Pointer(to + uintptr(to_len-int32(1))))
  11974. if !(_expect_char(tls, c, uint8(')')) != 0) {
  11975. return m_FcFalse
  11976. }
  11977. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11978. p = libc.Xstrpbrk(tls, str, from)
  11979. if p != 0 {
  11980. XFcStrBufData(tls, buf, str, int32(p)-int32(str))
  11981. i = int32(libc.Xstrchr(tls, from, libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(p))))) - int32(from)
  11982. if i < to_len {
  11983. v1 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(to + uintptr(i))))
  11984. } else {
  11985. v1 = libc.Int32FromUint8(repeat)
  11986. }
  11987. XFcStrBufChar(tls, buf, libc.Uint8FromInt32(v1))
  11988. str = p + uintptr(1)
  11989. } else {
  11990. XFcStrBufString(tls, buf, str)
  11991. break
  11992. }
  11993. }
  11994. return int32(m_FcTrue)
  11995. }
  11996. func _interpret_convert(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  11997. bp := tls.Alloc(8304)
  11998. defer tls.Free(8304)
  11999. var new_str, str uintptr
  12000. var ret TFcBool
  12001. var _ /* buf_static at bp+84 */ [8192]TFcChar8
  12002. var _ /* new_buf at bp+0 */ TFcStrBuf
  12003. _, _, _ = new_str, ret, str
  12004. if !(_expect_char(tls, c, uint8('|')) != 0) || !(_read_word(tls, c) != 0) {
  12005. return m_FcFalse
  12006. }
  12007. /* prepare the buffer */
  12008. XFcStrBufChar(tls, buf, uint8('\000'))
  12009. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  12010. return m_FcFalse
  12011. }
  12012. str = (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(start)
  12013. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = start
  12014. /* try simple converters first */
  12015. if 0 != 0 {
  12016. } else {
  12017. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3474) {
  12018. new_str = XIA__FcStrDowncase(tls, str)
  12019. ret = int32(m_FcTrue)
  12020. } else {
  12021. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3483) {
  12022. new_str = XIA__FcStrBasename(tls, str)
  12023. ret = int32(m_FcTrue)
  12024. } else {
  12025. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3492) {
  12026. new_str = XIA__FcStrDirname(tls, str)
  12027. ret = int32(m_FcTrue)
  12028. } else {
  12029. ret = m_FcFalse
  12030. }
  12031. }
  12032. }
  12033. }
  12034. if ret != 0 {
  12035. if new_str != 0 {
  12036. XFcStrBufString(tls, buf, new_str)
  12037. XIA__FcStrFree(tls, new_str)
  12038. return int32(m_FcTrue)
  12039. } else {
  12040. return m_FcFalse
  12041. }
  12042. }
  12043. XFcStrBufInit(tls, bp, bp+84, int32(8192))
  12044. /* now try our custom converters */
  12045. if 0 != 0 {
  12046. } else {
  12047. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3500) {
  12048. ret = _cescape(tls, c, str, bp)
  12049. } else {
  12050. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3508) {
  12051. ret = _shescape(tls, c, str, bp)
  12052. } else {
  12053. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3517) {
  12054. ret = _xmlescape(tls, c, str, bp)
  12055. } else {
  12056. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3527) {
  12057. ret = _delete_chars(tls, c, str, bp)
  12058. } else {
  12059. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3534) {
  12060. ret = _escape_chars(tls, c, str, bp)
  12061. } else {
  12062. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3541) {
  12063. ret = _translate_chars(tls, c, str, bp)
  12064. } else {
  12065. ret = m_FcFalse
  12066. }
  12067. }
  12068. }
  12069. }
  12070. }
  12071. }
  12072. }
  12073. if ret != 0 {
  12074. XFcStrBufChar(tls, bp, uint8('\000'))
  12075. XFcStrBufString(tls, buf, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf)
  12076. } else {
  12077. _message(tls, __ccgo_ts+3551, libc.VaList(bp+8288, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  12078. }
  12079. XFcStrBufDestroy(tls, bp)
  12080. return ret
  12081. }
  12082. func _maybe_interpret_converts(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  12083. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('|') {
  12084. if !(_interpret_convert(tls, c, buf, start) != 0) {
  12085. return m_FcFalse
  12086. }
  12087. }
  12088. return int32(m_FcTrue)
  12089. }
  12090. func _align_to_width(tls *libc.TLS, buf uintptr, start int32, width int32) (r TFcBool) {
  12091. var len1, old_len, v1, v2 int32
  12092. _, _, _, _ = len1, old_len, v1, v2
  12093. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  12094. return m_FcFalse
  12095. }
  12096. len1 = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 - start
  12097. if len1 < -width {
  12098. /* left align */
  12099. for {
  12100. v1 = len1
  12101. len1++
  12102. if !(v1 < -width) {
  12103. break
  12104. }
  12105. XFcStrBufChar(tls, buf, uint8(' '))
  12106. }
  12107. } else {
  12108. if len1 < width {
  12109. old_len = len1
  12110. /* right align */
  12111. for {
  12112. v2 = len1
  12113. len1++
  12114. if !(v2 < width) {
  12115. break
  12116. }
  12117. XFcStrBufChar(tls, buf, uint8(' '))
  12118. }
  12119. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  12120. return m_FcFalse
  12121. }
  12122. len1 = old_len
  12123. libc.Xmemmove(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(len1), (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), libc.Uint32FromInt32(len1))
  12124. libc.Xmemset(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), int32(' '), libc.Uint32FromInt32(width-len1))
  12125. }
  12126. }
  12127. return libc.BoolInt32(!((*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0))
  12128. }
  12129. func _interpret_percent(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  12130. var ret TFcBool
  12131. var start, width int32
  12132. _, _, _ = ret, start, width
  12133. if !(_expect_char(tls, c, uint8('%')) != 0) {
  12134. return m_FcFalse
  12135. }
  12136. if _consume_char(tls, c, uint8('%')) != 0 { /* "%%" */
  12137. XFcStrBufChar(tls, buf, uint8('%'))
  12138. return int32(m_FcTrue)
  12139. }
  12140. /* parse an optional width specifier */
  12141. width = libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+4, int32(10))
  12142. if !(_expect_char(tls, c, uint8('{')) != 0) {
  12143. return m_FcFalse
  12144. }
  12145. start = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1
  12146. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  12147. case int32('='):
  12148. ret = _interpret_builtin(tls, c, pat, buf)
  12149. case int32('{'):
  12150. ret = _interpret_subexpr(tls, c, pat, buf)
  12151. case int32('+'):
  12152. ret = _interpret_filter_in(tls, c, pat, buf)
  12153. case int32('-'):
  12154. ret = _interpret_filter_out(tls, c, pat, buf)
  12155. case int32('?'):
  12156. ret = _interpret_cond(tls, c, pat, buf)
  12157. case int32('#'):
  12158. ret = _interpret_count(tls, c, pat, buf)
  12159. case int32('['):
  12160. ret = _interpret_enumerate(tls, c, pat, buf)
  12161. default:
  12162. ret = _interpret_simple(tls, c, pat, buf)
  12163. break
  12164. }
  12165. return libc.BoolInt32(ret != 0 && _maybe_interpret_converts(tls, c, buf, start) != 0 && _align_to_width(tls, buf, start, width) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  12166. }
  12167. func _interpret_expr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr, term TFcChar8) (r TFcBool) {
  12168. var v1, v2, v3, v4 uintptr
  12169. _, _, _, _ = v1, v2, v3, v4
  12170. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  12171. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  12172. case int32('\\'):
  12173. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  12174. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  12175. v2 = c + 4
  12176. v1 = *(*uintptr)(unsafe.Pointer(v2))
  12177. *(*uintptr)(unsafe.Pointer(v2))++
  12178. XFcStrBufChar(tls, buf, _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v1))))
  12179. }
  12180. continue
  12181. case int32('%'):
  12182. if !(_interpret_percent(tls, c, pat, buf) != 0) {
  12183. return m_FcFalse
  12184. }
  12185. continue
  12186. }
  12187. v4 = c + 4
  12188. v3 = *(*uintptr)(unsafe.Pointer(v4))
  12189. *(*uintptr)(unsafe.Pointer(v4))++
  12190. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v3)))
  12191. }
  12192. return int32(m_FcTrue)
  12193. }
  12194. func _FcPatternFormatToBuf(tls *libc.TLS, pat uintptr, format uintptr, buf uintptr) (r TFcBool) {
  12195. bp := tls.Alloc(1056)
  12196. defer tls.Free(1056)
  12197. var ret TFcBool
  12198. var _ /* c at bp+0 */ TFcFormatContext
  12199. var _ /* word_static at bp+20 */ [1024]TFcChar8
  12200. _ = ret
  12201. if !(_FcFormatContextInit(tls, bp, format, bp+20, int32(1024)) != 0) {
  12202. return m_FcFalse
  12203. }
  12204. ret = _interpret_expr(tls, bp, pat, buf, uint8('\000'))
  12205. _FcFormatContextDone(tls, bp)
  12206. return ret
  12207. }
  12208. func XIA__FcPatternFormat(tls *libc.TLS, pat uintptr, format uintptr) (r uintptr) {
  12209. bp := tls.Alloc(7264)
  12210. defer tls.Free(7264)
  12211. var alloced, v1 uintptr
  12212. var ret TFcBool
  12213. var _ /* buf at bp+0 */ TFcStrBuf
  12214. var _ /* buf_static at bp+84 */ [7168]TFcChar8
  12215. _, _, _ = alloced, ret, v1
  12216. alloced = libc.UintptrFromInt32(0)
  12217. if !(pat != 0) {
  12218. v1 = XIA__FcPatternCreate(tls)
  12219. pat = v1
  12220. alloced = v1
  12221. }
  12222. XFcStrBufInit(tls, bp, bp+84, int32(7168))
  12223. ret = _FcPatternFormatToBuf(tls, pat, format, bp)
  12224. if alloced != 0 {
  12225. XIA__FcPatternDestroy(tls, alloced)
  12226. }
  12227. if ret != 0 {
  12228. return XFcStrBufDone(tls, bp)
  12229. } else {
  12230. XFcStrBufDestroy(tls, bp)
  12231. return libc.UintptrFromInt32(0)
  12232. }
  12233. return r
  12234. }
  12235. var XFcPatternFormat = XIA__FcPatternFormat
  12236. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 = 500
  12237. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 = 1000
  12238. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 = 1667
  12239. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 = 2333
  12240. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 = 400
  12241. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 = 275
  12242. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 = 275
  12243. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 = 0
  12244. const m_FC_ENCODING_MAC_ROMAN = "MACINTOSH"
  12245. const m_FREETYPE_MAJOR = 2
  12246. const m_FREETYPE_MINOR = 12
  12247. const m_FREETYPE_PATCH = 1
  12248. const m_FT_ADVANCE_FLAG_FAST_ONLY = 0x20000000
  12249. const m_FT_AUTOHINTER_H = "FT_DRIVER_H"
  12250. const m_FT_CACHE_CHARMAP_H = "FT_CACHE_H"
  12251. const m_FT_CACHE_IMAGE_H = "FT_CACHE_H"
  12252. const m_FT_CACHE_INTERNAL_CACHE_H = "FT_CACHE_H"
  12253. const m_FT_CACHE_INTERNAL_GLYPH_H = "FT_CACHE_H"
  12254. const m_FT_CACHE_INTERNAL_IMAGE_H = "FT_CACHE_H"
  12255. const m_FT_CACHE_INTERNAL_MANAGER_H = "FT_CACHE_H"
  12256. const m_FT_CACHE_INTERNAL_MRU_H = "FT_CACHE_H"
  12257. const m_FT_CACHE_INTERNAL_SBITS_H = "FT_CACHE_H"
  12258. const m_FT_CACHE_MANAGER_H = "FT_CACHE_H"
  12259. const m_FT_CACHE_SMALL_BITMAPS_H = "FT_CACHE_H"
  12260. const m_FT_CFF_DRIVER_H = "FT_DRIVER_H"
  12261. const m_FT_CHAR_BIT = "CHAR_BIT"
  12262. const m_FT_CURVE_TAG_CONIC = 0x00
  12263. const m_FT_CURVE_TAG_CUBIC = 0x02
  12264. const m_FT_CURVE_TAG_HAS_SCANMODE = 0x04
  12265. const m_FT_CURVE_TAG_ON = 0x01
  12266. const m_FT_CURVE_TAG_TOUCH_X = 0x08
  12267. const m_FT_CURVE_TAG_TOUCH_Y = 0x10
  12268. const m_FT_Curve_Tag_Conic = "FT_CURVE_TAG_CONIC"
  12269. const m_FT_Curve_Tag_Cubic = "FT_CURVE_TAG_CUBIC"
  12270. const m_FT_Curve_Tag_On = "FT_CURVE_TAG_ON"
  12271. const m_FT_Curve_Tag_Touch_X = "FT_CURVE_TAG_TOUCH_X"
  12272. const m_FT_Curve_Tag_Touch_Y = "FT_CURVE_TAG_TOUCH_Y"
  12273. const m_FT_DEBUG_HOOK_TRUETYPE = 0
  12274. const m_FT_FILE = "FILE"
  12275. const m_FT_FSTYPE_BITMAP_EMBEDDING_ONLY = 0x0200
  12276. const m_FT_FSTYPE_EDITABLE_EMBEDDING = 0x0008
  12277. const m_FT_FSTYPE_INSTALLABLE_EMBEDDING = 0x0000
  12278. const m_FT_FSTYPE_NO_SUBSETTING = 0x0100
  12279. const m_FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING = 0x0004
  12280. const m_FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING = 0x0002
  12281. const m_FT_INT_MAX = "INT_MAX"
  12282. const m_FT_INT_MIN = "INT_MIN"
  12283. const m_FT_LLONG_MAX = "LLONG_MAX"
  12284. const m_FT_LLONG_MIN = "LLONG_MIN"
  12285. const m_FT_LOAD_DEFAULT = 0x0
  12286. const m_FT_LONG_MAX = "LONG_MAX"
  12287. const m_FT_LONG_MIN = "LONG_MIN"
  12288. const m_FT_MAX_MODULES = 32
  12289. const m_FT_MODULE_DRIVER_HAS_HINTER = 0x400
  12290. const m_FT_MODULE_DRIVER_HINTS_LIGHTLY = 0x800
  12291. const m_FT_MODULE_DRIVER_NO_OUTLINES = 0x200
  12292. const m_FT_MODULE_DRIVER_SCALABLE = 0x100
  12293. const m_FT_MODULE_FONT_DRIVER = 1
  12294. const m_FT_MODULE_HINTER = 4
  12295. const m_FT_MODULE_RENDERER = 2
  12296. const m_FT_MODULE_STYLER = 8
  12297. const m_FT_OPEN_DRIVER = 0x8
  12298. const m_FT_OPEN_MEMORY = 0x1
  12299. const m_FT_OPEN_PARAMS = 0x10
  12300. const m_FT_OPEN_PATHNAME = 0x4
  12301. const m_FT_OPEN_STREAM = 0x2
  12302. const m_FT_OUTLINE_CONTOURS_MAX = "SHRT_MAX"
  12303. const m_FT_OUTLINE_EVEN_ODD_FILL = 0x2
  12304. const m_FT_OUTLINE_HIGH_PRECISION = 0x100
  12305. const m_FT_OUTLINE_IGNORE_DROPOUTS = 0x8
  12306. const m_FT_OUTLINE_INCLUDE_STUBS = 0x20
  12307. const m_FT_OUTLINE_NONE = 0x0
  12308. const m_FT_OUTLINE_OVERLAP = 0x40
  12309. const m_FT_OUTLINE_OWNER = 0x1
  12310. const m_FT_OUTLINE_POINTS_MAX = "SHRT_MAX"
  12311. const m_FT_OUTLINE_REVERSE_FILL = 0x4
  12312. const m_FT_OUTLINE_SINGLE_PASS = 0x200
  12313. const m_FT_OUTLINE_SMART_DROPOUTS = 0x10
  12314. const m_FT_Outline_ConicTo_Func = "FT_Outline_ConicToFunc"
  12315. const m_FT_Outline_CubicTo_Func = "FT_Outline_CubicToFunc"
  12316. const m_FT_Outline_LineTo_Func = "FT_Outline_LineToFunc"
  12317. const m_FT_Outline_MoveTo_Func = "FT_Outline_MoveToFunc"
  12318. const m_FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY"
  12319. const m_FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY"
  12320. const m_FT_PCF_DRIVER_H = "FT_DRIVER_H"
  12321. const m_FT_RASTER_FLAG_AA = 0x1
  12322. const m_FT_RASTER_FLAG_CLIP = 0x4
  12323. const m_FT_RASTER_FLAG_DEFAULT = 0x0
  12324. const m_FT_RASTER_FLAG_DIRECT = 0x2
  12325. const m_FT_RASTER_FLAG_SDF = 0x8
  12326. const m_FT_RENDER_POOL_SIZE = 16384
  12327. const m_FT_Raster_Done_Func = "FT_Raster_DoneFunc"
  12328. const m_FT_Raster_New_Func = "FT_Raster_NewFunc"
  12329. const m_FT_Raster_Render_Func = "FT_Raster_RenderFunc"
  12330. const m_FT_Raster_Reset_Func = "FT_Raster_ResetFunc"
  12331. const m_FT_Raster_Set_Mode_Func = "FT_Raster_SetModeFunc"
  12332. const m_FT_Raster_Span_Func = "FT_SpanFunc"
  12333. const m_FT_SUBGLYPH_FLAG_2X2 = 0x80
  12334. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS = 1
  12335. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES = 2
  12336. const m_FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID = 4
  12337. const m_FT_SUBGLYPH_FLAG_SCALE = 8
  12338. const m_FT_SUBGLYPH_FLAG_USE_MY_METRICS = 0x200
  12339. const m_FT_SUBGLYPH_FLAG_XY_SCALE = 0x40
  12340. const m_FT_TRUETYPE_DRIVER_H = "FT_DRIVER_H"
  12341. const m_FT_UINT_MAX = "UINT_MAX"
  12342. const m_FT_ULLONG_MAX = "ULLONG_MAX"
  12343. const m_FT_ULONG_MAX = "ULONG_MAX"
  12344. const m_FT_USHORT_MAX = "USHRT_MAX"
  12345. const m_FT_VAR_AXIS_FLAG_HIDDEN = 1
  12346. const m_FT_XFREE86_H = "FT_FONT_FORMATS_H"
  12347. const m_FcPatternAddFTFace = "IA__FcPatternAddFTFace"
  12348. const m_FcPatternGetFTFace = "IA__FcPatternGetFTFace"
  12349. const m_OTLAYOUT_HEAD = "otlayout:"
  12350. const m_OTLAYOUT_HEAD_LEN = 9
  12351. const m_OTLAYOUT_ID_LEN = 4
  12352. const m_T1_MAX_CHARSTRINGS_OPERANDS = 256
  12353. const m_T1_MAX_DICT_DEPTH = 5
  12354. const m_T1_MAX_MM_AXIS = 4
  12355. const m_T1_MAX_MM_DESIGNS = 16
  12356. const m_T1_MAX_MM_MAP_POINTS = 20
  12357. const m_T1_MAX_SUBRS_CALLS = 16
  12358. const m_TT_ADOBE_ID_CUSTOM = 2
  12359. const m_TT_ADOBE_ID_EXPERT = 1
  12360. const m_TT_ADOBE_ID_LATIN_1 = 3
  12361. const m_TT_ADOBE_ID_STANDARD = 0
  12362. const m_TT_APPLE_ID_DEFAULT = 0
  12363. const m_TT_APPLE_ID_FULL_UNICODE = 6
  12364. const m_TT_APPLE_ID_ISO_10646 = 2
  12365. const m_TT_APPLE_ID_UNICODE_1_1 = 1
  12366. const m_TT_APPLE_ID_UNICODE_2_0 = 3
  12367. const m_TT_APPLE_ID_UNICODE_32 = 4
  12368. const m_TT_APPLE_ID_VARIANT_SELECTOR = 5
  12369. const m_TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES = 1000000
  12370. const m_TT_CONFIG_OPTION_SUBPIXEL_HINTING = 2
  12371. const m_TT_ENCODING_DONT_CARE = 65535
  12372. const m_TT_ISO_ID_10646 = 1
  12373. const m_TT_ISO_ID_7BIT_ASCII = 0
  12374. const m_TT_ISO_ID_8859_1 = 2
  12375. const m_TT_LANGUAGE_DONT_CARE = 65535
  12376. const m_TT_MAC_ID_ARABIC = 4
  12377. const m_TT_MAC_ID_ARMENIAN = 24
  12378. const m_TT_MAC_ID_BENGALI = 13
  12379. const m_TT_MAC_ID_BURMESE = 19
  12380. const m_TT_MAC_ID_DEVANAGARI = 9
  12381. const m_TT_MAC_ID_GEEZ = 28
  12382. const m_TT_MAC_ID_GEORGIAN = 23
  12383. const m_TT_MAC_ID_GREEK = 6
  12384. const m_TT_MAC_ID_GUJARATI = 11
  12385. const m_TT_MAC_ID_GURMUKHI = 10
  12386. const m_TT_MAC_ID_HEBREW = 5
  12387. const m_TT_MAC_ID_JAPANESE = 1
  12388. const m_TT_MAC_ID_KANNADA = 16
  12389. const m_TT_MAC_ID_KHMER = 20
  12390. const m_TT_MAC_ID_KOREAN = 3
  12391. const m_TT_MAC_ID_LAOTIAN = 22
  12392. const m_TT_MAC_ID_MALAYALAM = 17
  12393. const m_TT_MAC_ID_MALDIVIAN = 25
  12394. const m_TT_MAC_ID_MONGOLIAN = 27
  12395. const m_TT_MAC_ID_ORIYA = 12
  12396. const m_TT_MAC_ID_ROMAN = 0
  12397. const m_TT_MAC_ID_RSYMBOL = 8
  12398. const m_TT_MAC_ID_RUSSIAN = 7
  12399. const m_TT_MAC_ID_SIMPLIFIED_CHINESE = 25
  12400. const m_TT_MAC_ID_SINDHI = 31
  12401. const m_TT_MAC_ID_SINHALESE = 18
  12402. const m_TT_MAC_ID_SLAVIC = 29
  12403. const m_TT_MAC_ID_TAMIL = 14
  12404. const m_TT_MAC_ID_TELUGU = 15
  12405. const m_TT_MAC_ID_THAI = 21
  12406. const m_TT_MAC_ID_TIBETAN = 26
  12407. const m_TT_MAC_ID_TRADITIONAL_CHINESE = 2
  12408. const m_TT_MAC_ID_UNINTERP = 32
  12409. const m_TT_MAC_ID_VIETNAMESE = 30
  12410. const m_TT_MAC_LANGID_AFRIKAANS = 141
  12411. const m_TT_MAC_LANGID_ALBANIAN = 36
  12412. const m_TT_MAC_LANGID_AMHARIC = 85
  12413. const m_TT_MAC_LANGID_ARABIC = 12
  12414. const m_TT_MAC_LANGID_ARMENIAN = 51
  12415. const m_TT_MAC_LANGID_ASSAMESE = 68
  12416. const m_TT_MAC_LANGID_AYMARA = 134
  12417. const m_TT_MAC_LANGID_AZERBAIJANI = 49
  12418. const m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50
  12419. const m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49
  12420. const m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150
  12421. const m_TT_MAC_LANGID_BASQUE = 129
  12422. const m_TT_MAC_LANGID_BENGALI = 67
  12423. const m_TT_MAC_LANGID_BRETON = 142
  12424. const m_TT_MAC_LANGID_BULGARIAN = 44
  12425. const m_TT_MAC_LANGID_BURMESE = 77
  12426. const m_TT_MAC_LANGID_BYELORUSSIAN = 46
  12427. const m_TT_MAC_LANGID_CATALAN = 130
  12428. const m_TT_MAC_LANGID_CHEWA = 92
  12429. const m_TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33
  12430. const m_TT_MAC_LANGID_CHINESE_TRADITIONAL = 19
  12431. const m_TT_MAC_LANGID_CROATIAN = 18
  12432. const m_TT_MAC_LANGID_CZECH = 38
  12433. const m_TT_MAC_LANGID_DANISH = 7
  12434. const m_TT_MAC_LANGID_DUTCH = 4
  12435. const m_TT_MAC_LANGID_DZONGKHA = 137
  12436. const m_TT_MAC_LANGID_ENGLISH = 0
  12437. const m_TT_MAC_LANGID_ESPERANTO = 94
  12438. const m_TT_MAC_LANGID_ESTONIAN = 27
  12439. const m_TT_MAC_LANGID_FAEROESE = 30
  12440. const m_TT_MAC_LANGID_FARSI = 31
  12441. const m_TT_MAC_LANGID_FINNISH = 13
  12442. const m_TT_MAC_LANGID_FLEMISH = 34
  12443. const m_TT_MAC_LANGID_FRENCH = 1
  12444. const m_TT_MAC_LANGID_GALICIAN = 140
  12445. const m_TT_MAC_LANGID_GALLA = 87
  12446. const m_TT_MAC_LANGID_GEORGIAN = 52
  12447. const m_TT_MAC_LANGID_GERMAN = 2
  12448. const m_TT_MAC_LANGID_GREEK = 14
  12449. const m_TT_MAC_LANGID_GREEK_POLYTONIC = 148
  12450. const m_TT_MAC_LANGID_GREELANDIC = 149
  12451. const m_TT_MAC_LANGID_GUARANI = 133
  12452. const m_TT_MAC_LANGID_GUJARATI = 69
  12453. const m_TT_MAC_LANGID_HEBREW = 10
  12454. const m_TT_MAC_LANGID_HINDI = 21
  12455. const m_TT_MAC_LANGID_HUNGARIAN = 26
  12456. const m_TT_MAC_LANGID_ICELANDIC = 15
  12457. const m_TT_MAC_LANGID_INDONESIAN = 81
  12458. const m_TT_MAC_LANGID_INUKTITUT = 143
  12459. const m_TT_MAC_LANGID_IRISH = 35
  12460. const m_TT_MAC_LANGID_IRISH_GAELIC = 146
  12461. const m_TT_MAC_LANGID_ITALIAN = 3
  12462. const m_TT_MAC_LANGID_JAPANESE = 11
  12463. const m_TT_MAC_LANGID_JAVANESE = 138
  12464. const m_TT_MAC_LANGID_KANNADA = 73
  12465. const m_TT_MAC_LANGID_KASHMIRI = 61
  12466. const m_TT_MAC_LANGID_KAZAKH = 48
  12467. const m_TT_MAC_LANGID_KHMER = 78
  12468. const m_TT_MAC_LANGID_KIRGHIZ = 54
  12469. const m_TT_MAC_LANGID_KOREAN = 23
  12470. const m_TT_MAC_LANGID_KURDISH = 60
  12471. const m_TT_MAC_LANGID_LAO = 79
  12472. const m_TT_MAC_LANGID_LATIN = 131
  12473. const m_TT_MAC_LANGID_LETTISH = 28
  12474. const m_TT_MAC_LANGID_LITHUANIAN = 24
  12475. const m_TT_MAC_LANGID_MACEDONIAN = 43
  12476. const m_TT_MAC_LANGID_MALAGASY = 93
  12477. const m_TT_MAC_LANGID_MALAYALAM = 72
  12478. const m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84
  12479. const m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83
  12480. const m_TT_MAC_LANGID_MALTESE = 16
  12481. const m_TT_MAC_LANGID_MANX_GAELIC = 145
  12482. const m_TT_MAC_LANGID_MARATHI = 66
  12483. const m_TT_MAC_LANGID_MOLDAVIAN = 53
  12484. const m_TT_MAC_LANGID_MONGOLIAN = 57
  12485. const m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58
  12486. const m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57
  12487. const m_TT_MAC_LANGID_NEPALI = 64
  12488. const m_TT_MAC_LANGID_NORWEGIAN = 9
  12489. const m_TT_MAC_LANGID_ORIYA = 71
  12490. const m_TT_MAC_LANGID_PASHTO = 59
  12491. const m_TT_MAC_LANGID_POLISH = 25
  12492. const m_TT_MAC_LANGID_PORTUGUESE = 8
  12493. const m_TT_MAC_LANGID_PUNJABI = 70
  12494. const m_TT_MAC_LANGID_QUECHUA = 132
  12495. const m_TT_MAC_LANGID_ROMANIAN = 37
  12496. const m_TT_MAC_LANGID_RUANDA = 90
  12497. const m_TT_MAC_LANGID_RUNDI = 91
  12498. const m_TT_MAC_LANGID_RUSSIAN = 32
  12499. const m_TT_MAC_LANGID_SAAMISK = 29
  12500. const m_TT_MAC_LANGID_SANSKRIT = 65
  12501. const m_TT_MAC_LANGID_SCOTTISH_GAELIC = 144
  12502. const m_TT_MAC_LANGID_SERBIAN = 42
  12503. const m_TT_MAC_LANGID_SINDHI = 62
  12504. const m_TT_MAC_LANGID_SINHALESE = 76
  12505. const m_TT_MAC_LANGID_SLOVAK = 39
  12506. const m_TT_MAC_LANGID_SLOVENIAN = 40
  12507. const m_TT_MAC_LANGID_SOMALI = 88
  12508. const m_TT_MAC_LANGID_SPANISH = 6
  12509. const m_TT_MAC_LANGID_SUNDANESE = 139
  12510. const m_TT_MAC_LANGID_SWAHILI = 89
  12511. const m_TT_MAC_LANGID_SWEDISH = 5
  12512. const m_TT_MAC_LANGID_TAGALOG = 82
  12513. const m_TT_MAC_LANGID_TAJIKI = 55
  12514. const m_TT_MAC_LANGID_TAMIL = 74
  12515. const m_TT_MAC_LANGID_TATAR = 135
  12516. const m_TT_MAC_LANGID_TELUGU = 75
  12517. const m_TT_MAC_LANGID_THAI = 22
  12518. const m_TT_MAC_LANGID_TIBETAN = 63
  12519. const m_TT_MAC_LANGID_TIGRINYA = 86
  12520. const m_TT_MAC_LANGID_TONGAN = 147
  12521. const m_TT_MAC_LANGID_TURKISH = 17
  12522. const m_TT_MAC_LANGID_TURKMEN = 56
  12523. const m_TT_MAC_LANGID_UIGHUR = 136
  12524. const m_TT_MAC_LANGID_UKRAINIAN = 45
  12525. const m_TT_MAC_LANGID_URDU = 20
  12526. const m_TT_MAC_LANGID_UZBEK = 47
  12527. const m_TT_MAC_LANGID_VIETNAMESE = 80
  12528. const m_TT_MAC_LANGID_WELSH = 128
  12529. const m_TT_MAC_LANGID_YIDDISH = 41
  12530. const m_TT_MS_ID_BIG_5 = 4
  12531. const m_TT_MS_ID_GB2312 = "TT_MS_ID_PRC"
  12532. const m_TT_MS_ID_JOHAB = 6
  12533. const m_TT_MS_ID_PRC = 3
  12534. const m_TT_MS_ID_SJIS = 2
  12535. const m_TT_MS_ID_SYMBOL_CS = 0
  12536. const m_TT_MS_ID_UCS_4 = 10
  12537. const m_TT_MS_ID_UNICODE_CS = 1
  12538. const m_TT_MS_ID_WANSUNG = 5
  12539. const m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 1078
  12540. const m_TT_MS_LANGID_ALBANIAN_ALBANIA = 1052
  12541. const m_TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484
  12542. const m_TT_MS_LANGID_AMHARIC_ETHIOPIA = 1118
  12543. const m_TT_MS_LANGID_ARABIC_ALGERIA = 5121
  12544. const m_TT_MS_LANGID_ARABIC_BAHRAIN = 15361
  12545. const m_TT_MS_LANGID_ARABIC_EGYPT = 3073
  12546. const m_TT_MS_LANGID_ARABIC_GENERAL = 1
  12547. const m_TT_MS_LANGID_ARABIC_IRAQ = 2049
  12548. const m_TT_MS_LANGID_ARABIC_JORDAN = 11265
  12549. const m_TT_MS_LANGID_ARABIC_KUWAIT = 13313
  12550. const m_TT_MS_LANGID_ARABIC_LEBANON = 12289
  12551. const m_TT_MS_LANGID_ARABIC_LIBYA = 4097
  12552. const m_TT_MS_LANGID_ARABIC_MOROCCO = 6145
  12553. const m_TT_MS_LANGID_ARABIC_OMAN = 8193
  12554. const m_TT_MS_LANGID_ARABIC_QATAR = 16385
  12555. const m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 1025
  12556. const m_TT_MS_LANGID_ARABIC_SYRIA = 10241
  12557. const m_TT_MS_LANGID_ARABIC_TUNISIA = 7169
  12558. const m_TT_MS_LANGID_ARABIC_UAE = 14337
  12559. const m_TT_MS_LANGID_ARABIC_YEMEN = 9217
  12560. const m_TT_MS_LANGID_ARMENIAN_ARMENIA = 1067
  12561. const m_TT_MS_LANGID_ASSAMESE_INDIA = 1101
  12562. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 2092
  12563. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 1068
  12564. const m_TT_MS_LANGID_BASHKIR_RUSSIA = 0x046D
  12565. const m_TT_MS_LANGID_BASQUE_BASQUE = 1069
  12566. const m_TT_MS_LANGID_BASQUE_SPAIN = "TT_MS_LANGID_BASQUE_BASQUE"
  12567. const m_TT_MS_LANGID_BELARUSIAN_BELARUS = 1059
  12568. const m_TT_MS_LANGID_BENGALI_BANGLADESH = 2117
  12569. const m_TT_MS_LANGID_BENGALI_INDIA = 1093
  12570. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 5146
  12571. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC = 0x201A
  12572. const m_TT_MS_LANGID_BRETON_FRANCE = 0x047E
  12573. const m_TT_MS_LANGID_BULGARIAN_BULGARIA = 1026
  12574. const m_TT_MS_LANGID_BURMESE_MYANMAR = 1109
  12575. const m_TT_MS_LANGID_CATALAN_CATALAN = 1027
  12576. const m_TT_MS_LANGID_CATALAN_SPAIN = "TT_MS_LANGID_CATALAN_CATALAN"
  12577. const m_TT_MS_LANGID_CHEROKEE_UNITED_STATES = 1116
  12578. const m_TT_MS_LANGID_CHINESE_GENERAL = 4
  12579. const m_TT_MS_LANGID_CHINESE_HONG_KONG = 3076
  12580. const m_TT_MS_LANGID_CHINESE_MACAO = 5124
  12581. const m_TT_MS_LANGID_CHINESE_MACAU = "TT_MS_LANGID_CHINESE_MACAO"
  12582. const m_TT_MS_LANGID_CHINESE_PRC = 2052
  12583. const m_TT_MS_LANGID_CHINESE_SINGAPORE = 4100
  12584. const m_TT_MS_LANGID_CHINESE_TAIWAN = 1028
  12585. const m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 2087
  12586. const m_TT_MS_LANGID_CORSICAN_FRANCE = 0x0483
  12587. const m_TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101A
  12588. const m_TT_MS_LANGID_CROATIAN_CROATIA = 1050
  12589. const m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 1029
  12590. const m_TT_MS_LANGID_DANISH_DENMARK = 1030
  12591. const m_TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C
  12592. const m_TT_MS_LANGID_DHIVEHI_MALDIVES = 1125
  12593. const m_TT_MS_LANGID_DIVEHI_MALDIVES = "TT_MS_LANGID_DHIVEHI_MALDIVES"
  12594. const m_TT_MS_LANGID_DUTCH_BELGIUM = 2067
  12595. const m_TT_MS_LANGID_DUTCH_NETHERLANDS = 1043
  12596. const m_TT_MS_LANGID_DZONGHKA_BHUTAN = 2129
  12597. const m_TT_MS_LANGID_EDO_NIGERIA = 0x0466
  12598. const m_TT_MS_LANGID_ENGLISH_AUSTRALIA = 3081
  12599. const m_TT_MS_LANGID_ENGLISH_BELIZE = 10249
  12600. const m_TT_MS_LANGID_ENGLISH_CANADA = 4105
  12601. const m_TT_MS_LANGID_ENGLISH_CARIBBEAN = 9225
  12602. const m_TT_MS_LANGID_ENGLISH_GENERAL = 9
  12603. const m_TT_MS_LANGID_ENGLISH_HONG_KONG = 15369
  12604. const m_TT_MS_LANGID_ENGLISH_INDIA = 16393
  12605. const m_TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809
  12606. const m_TT_MS_LANGID_ENGLISH_IRELAND = 6153
  12607. const m_TT_MS_LANGID_ENGLISH_JAMAICA = 8201
  12608. const m_TT_MS_LANGID_ENGLISH_MALAYSIA = 17417
  12609. const m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 5129
  12610. const m_TT_MS_LANGID_ENGLISH_PHILIPPINES = 13321
  12611. const m_TT_MS_LANGID_ENGLISH_SINGAPORE = 18441
  12612. const m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 7177
  12613. const m_TT_MS_LANGID_ENGLISH_TRINIDAD = 11273
  12614. const m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 2057
  12615. const m_TT_MS_LANGID_ENGLISH_UNITED_STATES = 1033
  12616. const m_TT_MS_LANGID_ENGLISH_ZIMBABWE = 12297
  12617. const m_TT_MS_LANGID_ESTONIAN_ESTONIA = 1061
  12618. const m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 1080
  12619. const m_TT_MS_LANGID_FARSI_IRAN = 1065
  12620. const m_TT_MS_LANGID_FILIPINO_PHILIPPINES = 1124
  12621. const m_TT_MS_LANGID_FINNISH_FINLAND = 1035
  12622. const m_TT_MS_LANGID_FRENCH_BELGIUM = 2060
  12623. const m_TT_MS_LANGID_FRENCH_CAMEROON = 11276
  12624. const m_TT_MS_LANGID_FRENCH_CANADA = 3084
  12625. const m_TT_MS_LANGID_FRENCH_CONGO = 9228
  12626. const m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 12300
  12627. const m_TT_MS_LANGID_FRENCH_FRANCE = 1036
  12628. const m_TT_MS_LANGID_FRENCH_HAITI = 15372
  12629. const m_TT_MS_LANGID_FRENCH_LUXEMBOURG = 5132
  12630. const m_TT_MS_LANGID_FRENCH_MALI = 13324
  12631. const m_TT_MS_LANGID_FRENCH_MONACO = 6156
  12632. const m_TT_MS_LANGID_FRENCH_MOROCCO = 14348
  12633. const m_TT_MS_LANGID_FRENCH_NORTH_AFRICA = 58380
  12634. const m_TT_MS_LANGID_FRENCH_REUNION = 8204
  12635. const m_TT_MS_LANGID_FRENCH_SENEGAL = 10252
  12636. const m_TT_MS_LANGID_FRENCH_SWITZERLAND = 4108
  12637. const m_TT_MS_LANGID_FRENCH_WEST_INDIES = 7180
  12638. const m_TT_MS_LANGID_FRENCH_ZAIRE = "TT_MS_LANGID_FRENCH_CONGO"
  12639. const m_TT_MS_LANGID_FRISIAN_NETHERLANDS = 1122
  12640. const m_TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467
  12641. const m_TT_MS_LANGID_GALICIAN_GALICIAN = 1110
  12642. const m_TT_MS_LANGID_GALICIAN_SPAIN = "TT_MS_LANGID_GALICIAN_GALICIAN"
  12643. const m_TT_MS_LANGID_GEORGIAN_GEORGIA = 1079
  12644. const m_TT_MS_LANGID_GERMAN_AUSTRIA = 3079
  12645. const m_TT_MS_LANGID_GERMAN_GERMANY = 1031
  12646. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEI = "TT_MS_LANGID_GERMAN_LIECHTENSTEIN"
  12647. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 5127
  12648. const m_TT_MS_LANGID_GERMAN_LUXEMBOURG = 4103
  12649. const m_TT_MS_LANGID_GERMAN_SWITZERLAND = 2055
  12650. const m_TT_MS_LANGID_GREEK_GREECE = 1032
  12651. const m_TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046F
  12652. const m_TT_MS_LANGID_GUARANI_PARAGUAY = 1140
  12653. const m_TT_MS_LANGID_GUJARATI_INDIA = 1095
  12654. const m_TT_MS_LANGID_HAUSA_NIGERIA = 1128
  12655. const m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 1141
  12656. const m_TT_MS_LANGID_HEBREW_ISRAEL = 1037
  12657. const m_TT_MS_LANGID_HINDI_INDIA = 1081
  12658. const m_TT_MS_LANGID_HUNGARIAN_HUNGARY = 1038
  12659. const m_TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469
  12660. const m_TT_MS_LANGID_ICELANDIC_ICELAND = 1039
  12661. const m_TT_MS_LANGID_IGBO_NIGERIA = 1136
  12662. const m_TT_MS_LANGID_INDONESIAN_INDONESIA = 1057
  12663. const m_TT_MS_LANGID_INUKTITUT_CANADA = 1117
  12664. const m_TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085D
  12665. const m_TT_MS_LANGID_IRISH_GAELIC_IRELAND = 1084
  12666. const m_TT_MS_LANGID_IRISH_IRELAND = 0x083C
  12667. const m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 1076
  12668. const m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 1077
  12669. const m_TT_MS_LANGID_ITALIAN_ITALY = 1040
  12670. const m_TT_MS_LANGID_ITALIAN_SWITZERLAND = 2064
  12671. const m_TT_MS_LANGID_JAPANESE_JAPAN = 1041
  12672. const m_TT_MS_LANGID_KANNADA_INDIA = 1099
  12673. const m_TT_MS_LANGID_KANURI_NIGERIA = 1137
  12674. const m_TT_MS_LANGID_KASHMIRI_INDIA = "TT_MS_LANGID_KASHMIRI_SASIA"
  12675. const m_TT_MS_LANGID_KASHMIRI_PAKISTAN = 1120
  12676. const m_TT_MS_LANGID_KASHMIRI_SASIA = 2144
  12677. const m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 1087
  12678. const m_TT_MS_LANGID_KAZAK_KAZAKSTAN = "TT_MS_LANGID_KAZAKH_KAZAKHSTAN"
  12679. const m_TT_MS_LANGID_KHMER_CAMBODIA = 1107
  12680. const m_TT_MS_LANGID_KICHE_GUATEMALA = 0x0486
  12681. const m_TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487
  12682. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  12683. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  12684. const m_TT_MS_LANGID_KISWAHILI_KENYA = 1089
  12685. const m_TT_MS_LANGID_KONKANI_INDIA = 1111
  12686. const m_TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = "TT_MS_LANGID_KOREAN_KOREA"
  12687. const m_TT_MS_LANGID_KOREAN_JOHAB_KOREA = 2066
  12688. const m_TT_MS_LANGID_KOREAN_KOREA = 1042
  12689. const m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN = 1088
  12690. const m_TT_MS_LANGID_LAO_LAOS = 1108
  12691. const m_TT_MS_LANGID_LATIN = 1142
  12692. const m_TT_MS_LANGID_LATVIAN_LATVIA = 1062
  12693. const m_TT_MS_LANGID_LITHUANIAN_LITHUANIA = 1063
  12694. const m_TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082E
  12695. const m_TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046E
  12696. const m_TT_MS_LANGID_MACEDONIAN_MACEDONIA = 1071
  12697. const m_TT_MS_LANGID_MALAYALAM_INDIA = 1100
  12698. const m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 2110
  12699. const m_TT_MS_LANGID_MALAY_MALAYSIA = 1086
  12700. const m_TT_MS_LANGID_MALTESE_MALTA = 1082
  12701. const m_TT_MS_LANGID_MANIPURI_INDIA = 1112
  12702. const m_TT_MS_LANGID_MAORI_NEW_ZEALAND = 1153
  12703. const m_TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A
  12704. const m_TT_MS_LANGID_MARATHI_INDIA = 1102
  12705. const m_TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C
  12706. const m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 2072
  12707. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA = 1104
  12708. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = "TT_MS_LANGID_MONGOLIAN_PRC"
  12709. const m_TT_MS_LANGID_MONGOLIAN_PRC = 2128
  12710. const m_TT_MS_LANGID_NEPALI_INDIA = 2145
  12711. const m_TT_MS_LANGID_NEPALI_NEPAL = 1121
  12712. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 1044
  12713. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 2068
  12714. const m_TT_MS_LANGID_OCCITAN_FRANCE = 0x0482
  12715. const m_TT_MS_LANGID_ODIA_INDIA = 1096
  12716. const m_TT_MS_LANGID_ORIYA_INDIA = "TT_MS_LANGID_ODIA_INDIA"
  12717. const m_TT_MS_LANGID_OROMO_ETHIOPIA = 1138
  12718. const m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 1145
  12719. const m_TT_MS_LANGID_PASHTO_AFGHANISTAN = 1123
  12720. const m_TT_MS_LANGID_POLISH_POLAND = 1045
  12721. const m_TT_MS_LANGID_PORTUGUESE_BRAZIL = 1046
  12722. const m_TT_MS_LANGID_PORTUGUESE_PORTUGAL = 2070
  12723. const m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 2118
  12724. const m_TT_MS_LANGID_PUNJABI_INDIA = 1094
  12725. const m_TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046B
  12726. const m_TT_MS_LANGID_QUECHUA_ECUADOR = 0x086B
  12727. const m_TT_MS_LANGID_QUECHUA_PERU = 0x0C6B
  12728. const m_TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = "TT_MS_LANGID_ROMANSH_SWITZERLAND"
  12729. const m_TT_MS_LANGID_ROMANIAN_ROMANIA = 1048
  12730. const m_TT_MS_LANGID_ROMANSH_SWITZERLAND = 1047
  12731. const m_TT_MS_LANGID_RUSSIAN_MOLDAVIA = 2073
  12732. const m_TT_MS_LANGID_RUSSIAN_RUSSIA = 1049
  12733. const m_TT_MS_LANGID_SAAMI_LAPONIA = 1083
  12734. const m_TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243B
  12735. const m_TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103B
  12736. const m_TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143B
  12737. const m_TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3B
  12738. const m_TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043B
  12739. const m_TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083B
  12740. const m_TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203B
  12741. const m_TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183B
  12742. const m_TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3B
  12743. const m_TT_MS_LANGID_SANSKRIT_INDIA = 1103
  12744. const m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 2108
  12745. const m_TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  12746. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x1C1A
  12747. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x181A
  12748. const m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 3098
  12749. const m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 2074
  12750. const m_TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046C
  12751. const m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 1074
  12752. const m_TT_MS_LANGID_SINDHI_INDIA = 1113
  12753. const m_TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859
  12754. const m_TT_MS_LANGID_SINHALA_SRI_LANKA = 1115
  12755. const m_TT_MS_LANGID_SINHALESE_SRI_LANKA = "TT_MS_LANGID_SINHALA_SRI_LANKA"
  12756. const m_TT_MS_LANGID_SLOVAK_SLOVAKIA = 1051
  12757. const m_TT_MS_LANGID_SLOVENE_SLOVENIA = "TT_MS_LANGID_SLOVENIAN_SLOVENIA"
  12758. const m_TT_MS_LANGID_SLOVENIAN_SLOVENIA = 1060
  12759. const m_TT_MS_LANGID_SOMALI_SOMALIA = 1143
  12760. const m_TT_MS_LANGID_SORBIAN_GERMANY = "TT_MS_LANGID_UPPER_SORBIAN_GERMANY"
  12761. const m_TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  12762. const m_TT_MS_LANGID_SPANISH_ARGENTINA = 11274
  12763. const m_TT_MS_LANGID_SPANISH_BOLIVIA = 16394
  12764. const m_TT_MS_LANGID_SPANISH_CHILE = 13322
  12765. const m_TT_MS_LANGID_SPANISH_COLOMBIA = 9226
  12766. const m_TT_MS_LANGID_SPANISH_COSTA_RICA = 5130
  12767. const m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 7178
  12768. const m_TT_MS_LANGID_SPANISH_ECUADOR = 12298
  12769. const m_TT_MS_LANGID_SPANISH_EL_SALVADOR = 17418
  12770. const m_TT_MS_LANGID_SPANISH_GUATEMALA = 4106
  12771. const m_TT_MS_LANGID_SPANISH_HONDURAS = 18442
  12772. const m_TT_MS_LANGID_SPANISH_LATIN_AMERICA = 58378
  12773. const m_TT_MS_LANGID_SPANISH_MEXICO = 2058
  12774. const m_TT_MS_LANGID_SPANISH_NICARAGUA = 19466
  12775. const m_TT_MS_LANGID_SPANISH_PANAMA = 6154
  12776. const m_TT_MS_LANGID_SPANISH_PARAGUAY = 15370
  12777. const m_TT_MS_LANGID_SPANISH_PERU = 10250
  12778. const m_TT_MS_LANGID_SPANISH_PUERTO_RICO = 20490
  12779. const m_TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = "TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT"
  12780. const m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 3082
  12781. const m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 1034
  12782. const m_TT_MS_LANGID_SPANISH_UNITED_STATES = 21514
  12783. const m_TT_MS_LANGID_SPANISH_URUGUAY = 14346
  12784. const m_TT_MS_LANGID_SPANISH_VENEZUELA = 8202
  12785. const m_TT_MS_LANGID_SUTU_SOUTH_AFRICA = 1072
  12786. const m_TT_MS_LANGID_SWAHILI_KENYA = "TT_MS_LANGID_KISWAHILI_KENYA"
  12787. const m_TT_MS_LANGID_SWEDISH_FINLAND = 2077
  12788. const m_TT_MS_LANGID_SWEDISH_SWEDEN = 1053
  12789. const m_TT_MS_LANGID_SYRIAC_SYRIA = 1114
  12790. const m_TT_MS_LANGID_TAJIK_TAJIKISTAN = 1064
  12791. const m_TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085F
  12792. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045F
  12793. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = "TT_MS_LANGID_TAMAZIGHT_ALGERIA"
  12794. const m_TT_MS_LANGID_TAMIL_INDIA = 1097
  12795. const m_TT_MS_LANGID_TATAR_RUSSIA = 1092
  12796. const m_TT_MS_LANGID_TATAR_TATARSTAN = "TT_MS_LANGID_TATAR_RUSSIA"
  12797. const m_TT_MS_LANGID_TELUGU_INDIA = 1098
  12798. const m_TT_MS_LANGID_THAI_THAILAND = 1054
  12799. const m_TT_MS_LANGID_TIBETAN_BHUTAN = "TT_MS_LANGID_DZONGHKA_BHUTAN"
  12800. const m_TT_MS_LANGID_TIBETAN_CHINA = "TT_MS_LANGID_TIBETAN_PRC"
  12801. const m_TT_MS_LANGID_TIBETAN_PRC = 1105
  12802. const m_TT_MS_LANGID_TIGRIGNA_ERYTHREA = 2163
  12803. const m_TT_MS_LANGID_TIGRIGNA_ERYTREA = "TT_MS_LANGID_TIGRIGNA_ERYTHREA"
  12804. const m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 1139
  12805. const m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 1073
  12806. const m_TT_MS_LANGID_TSWANA_SOUTH_AFRICA = "TT_MS_LANGID_SETSWANA_SOUTH_AFRICA"
  12807. const m_TT_MS_LANGID_TURKISH_TURKEY = 1055
  12808. const m_TT_MS_LANGID_TURKMEN_TURKMENISTAN = 1090
  12809. const m_TT_MS_LANGID_UIGHUR_CHINA = "TT_MS_LANGID_UIGHUR_PRC"
  12810. const m_TT_MS_LANGID_UIGHUR_PRC = 0x0480
  12811. const m_TT_MS_LANGID_UKRAINIAN_UKRAINE = 1058
  12812. const m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 1070
  12813. const m_TT_MS_LANGID_URDU_INDIA = 2080
  12814. const m_TT_MS_LANGID_URDU_PAKISTAN = 1056
  12815. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 2115
  12816. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 1091
  12817. const m_TT_MS_LANGID_VENDA_SOUTH_AFRICA = 1075
  12818. const m_TT_MS_LANGID_VIETNAMESE_VIET_NAM = 1066
  12819. const m_TT_MS_LANGID_WELSH_UNITED_KINGDOM = 1106
  12820. const m_TT_MS_LANGID_WELSH_WALES = "TT_MS_LANGID_WELSH_UNITED_KINGDOM"
  12821. const m_TT_MS_LANGID_WOLOF_SENEGAL = 0x0488
  12822. const m_TT_MS_LANGID_XHOSA_SOUTH_AFRICA = "TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA"
  12823. const m_TT_MS_LANGID_YAKUT_RUSSIA = 0x0485
  12824. const m_TT_MS_LANGID_YIDDISH_GERMANY = 1085
  12825. const m_TT_MS_LANGID_YI_CHINA = "TT_MS_LANGID_YI_PRC"
  12826. const m_TT_MS_LANGID_YI_PRC = 0x0478
  12827. const m_TT_MS_LANGID_YORUBA_NIGERIA = 1130
  12828. const m_TT_MS_LANGID_ZULU_SOUTH_AFRICA = "TT_MS_LANGID_ISIZULU_SOUTH_AFRICA"
  12829. const m_TT_NAME_ID_CID_FINDFONT_NAME = 20
  12830. const m_TT_NAME_ID_COPYRIGHT = 0
  12831. const m_TT_NAME_ID_DARK_BACKGROUND = 24
  12832. const m_TT_NAME_ID_DESCRIPTION = 10
  12833. const m_TT_NAME_ID_DESIGNER = 9
  12834. const m_TT_NAME_ID_DESIGNER_URL = 12
  12835. const m_TT_NAME_ID_FONT_FAMILY = 1
  12836. const m_TT_NAME_ID_FONT_SUBFAMILY = 2
  12837. const m_TT_NAME_ID_FULL_NAME = 4
  12838. const m_TT_NAME_ID_LICENSE = 13
  12839. const m_TT_NAME_ID_LICENSE_URL = 14
  12840. const m_TT_NAME_ID_LIGHT_BACKGROUND = 23
  12841. const m_TT_NAME_ID_MAC_FULL_NAME = 18
  12842. const m_TT_NAME_ID_MANUFACTURER = 8
  12843. const m_TT_NAME_ID_PREFERRED_FAMILY = "TT_NAME_ID_TYPOGRAPHIC_FAMILY"
  12844. const m_TT_NAME_ID_PREFERRED_SUBFAMILY = "TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
  12845. const m_TT_NAME_ID_PS_NAME = 6
  12846. const m_TT_NAME_ID_SAMPLE_TEXT = 19
  12847. const m_TT_NAME_ID_TRADEMARK = 7
  12848. const m_TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16
  12849. const m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17
  12850. const m_TT_NAME_ID_UNIQUE_ID = 3
  12851. const m_TT_NAME_ID_VARIATIONS_PREFIX = 25
  12852. const m_TT_NAME_ID_VENDOR_URL = 11
  12853. const m_TT_NAME_ID_VERSION_STRING = 5
  12854. const m_TT_NAME_ID_WWS_FAMILY = 21
  12855. const m_TT_NAME_ID_WWS_SUBFAMILY = 22
  12856. const m_TT_PLATFORM_ADOBE = 7
  12857. const m_TT_PLATFORM_APPLE_UNICODE = 0
  12858. const m_TT_PLATFORM_CUSTOM = 4
  12859. const m_TT_PLATFORM_ISO = 2
  12860. const m_TT_PLATFORM_MACINTOSH = 1
  12861. const m_TT_PLATFORM_MICROSOFT = 3
  12862. const m_TT_UCR_ARABIC_PRESENTATION_A = "TT_UCR_ARABIC_PRESENTATION_FORMS_A"
  12863. const m_TT_UCR_ARABIC_PRESENTATION_B = "TT_UCR_ARABIC_PRESENTATION_FORMS_B"
  12864. const m_TT_UCR_COMBINING_DIACRITICS = "TT_UCR_COMBINING_DIACRITICAL_MARKS"
  12865. const m_TT_UCR_COMBINING_DIACRITICS_SYMB = "TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB"
  12866. const m_TT_UCR_KANBUN = "TT_UCR_CJK_MISC"
  12867. const m_TT_UCR_NON_PLANE_0 = "TT_UCR_SURROGATES"
  12868. const m_ft_encoding_adobe_custom = "FT_ENCODING_ADOBE_CUSTOM"
  12869. const m_ft_encoding_adobe_expert = "FT_ENCODING_ADOBE_EXPERT"
  12870. const m_ft_encoding_adobe_standard = "FT_ENCODING_ADOBE_STANDARD"
  12871. const m_ft_encoding_apple_roman = "FT_ENCODING_APPLE_ROMAN"
  12872. const m_ft_encoding_big5 = "FT_ENCODING_BIG5"
  12873. const m_ft_encoding_gb2312 = "FT_ENCODING_PRC"
  12874. const m_ft_encoding_johab = "FT_ENCODING_JOHAB"
  12875. const m_ft_encoding_latin_1 = "FT_ENCODING_ADOBE_LATIN_1"
  12876. const m_ft_encoding_latin_2 = "FT_ENCODING_OLD_LATIN_2"
  12877. const m_ft_encoding_none = "FT_ENCODING_NONE"
  12878. const m_ft_encoding_sjis = "FT_ENCODING_SJIS"
  12879. const m_ft_encoding_symbol = "FT_ENCODING_MS_SYMBOL"
  12880. const m_ft_encoding_unicode = "FT_ENCODING_UNICODE"
  12881. const m_ft_encoding_wansung = "FT_ENCODING_WANSUNG"
  12882. const m_ft_fclose = "fclose"
  12883. const m_ft_fopen = "fopen"
  12884. const m_ft_fread = "fread"
  12885. const m_ft_fseek = "fseek"
  12886. const m_ft_ftell = "ftell"
  12887. const m_ft_getenv = "getenv"
  12888. const m_ft_glyph_format_bitmap = "FT_GLYPH_FORMAT_BITMAP"
  12889. const m_ft_glyph_format_composite = "FT_GLYPH_FORMAT_COMPOSITE"
  12890. const m_ft_glyph_format_none = "FT_GLYPH_FORMAT_NONE"
  12891. const m_ft_glyph_format_outline = "FT_GLYPH_FORMAT_OUTLINE"
  12892. const m_ft_glyph_format_plotter = "FT_GLYPH_FORMAT_PLOTTER"
  12893. const m_ft_jmp_buf = "jmp_buf"
  12894. const m_ft_kerning_default = "FT_KERNING_DEFAULT"
  12895. const m_ft_kerning_unfitted = "FT_KERNING_UNFITTED"
  12896. const m_ft_kerning_unscaled = "FT_KERNING_UNSCALED"
  12897. const m_ft_longjmp = "longjmp"
  12898. const m_ft_memchr = "memchr"
  12899. const m_ft_memcmp = "memcmp"
  12900. const m_ft_memcpy = "memcpy"
  12901. const m_ft_memmove = "memmove"
  12902. const m_ft_memset = "memset"
  12903. const m_ft_module_driver_has_hinter = "FT_MODULE_DRIVER_HAS_HINTER"
  12904. const m_ft_module_driver_hints_lightly = "FT_MODULE_DRIVER_HINTS_LIGHTLY"
  12905. const m_ft_module_driver_no_outlines = "FT_MODULE_DRIVER_NO_OUTLINES"
  12906. const m_ft_module_driver_scalable = "FT_MODULE_DRIVER_SCALABLE"
  12907. const m_ft_module_font_driver = "FT_MODULE_FONT_DRIVER"
  12908. const m_ft_module_hinter = "FT_MODULE_HINTER"
  12909. const m_ft_module_renderer = "FT_MODULE_RENDERER"
  12910. const m_ft_module_styler = "FT_MODULE_STYLER"
  12911. const m_ft_open_driver = "FT_OPEN_DRIVER"
  12912. const m_ft_open_memory = "FT_OPEN_MEMORY"
  12913. const m_ft_open_params = "FT_OPEN_PARAMS"
  12914. const m_ft_open_pathname = "FT_OPEN_PATHNAME"
  12915. const m_ft_open_stream = "FT_OPEN_STREAM"
  12916. const m_ft_outline_even_odd_fill = "FT_OUTLINE_EVEN_ODD_FILL"
  12917. const m_ft_outline_high_precision = "FT_OUTLINE_HIGH_PRECISION"
  12918. const m_ft_outline_ignore_dropouts = "FT_OUTLINE_IGNORE_DROPOUTS"
  12919. const m_ft_outline_none = "FT_OUTLINE_NONE"
  12920. const m_ft_outline_owner = "FT_OUTLINE_OWNER"
  12921. const m_ft_outline_reverse_fill = "FT_OUTLINE_REVERSE_FILL"
  12922. const m_ft_outline_single_pass = "FT_OUTLINE_SINGLE_PASS"
  12923. const m_ft_pixel_mode_grays = "FT_PIXEL_MODE_GRAY"
  12924. const m_ft_pixel_mode_mono = "FT_PIXEL_MODE_MONO"
  12925. const m_ft_pixel_mode_none = "FT_PIXEL_MODE_NONE"
  12926. const m_ft_pixel_mode_pal2 = "FT_PIXEL_MODE_GRAY2"
  12927. const m_ft_pixel_mode_pal4 = "FT_PIXEL_MODE_GRAY4"
  12928. const m_ft_ptrdiff_t = "ptrdiff_t"
  12929. const m_ft_qsort = "qsort"
  12930. const m_ft_raster_flag_aa = "FT_RASTER_FLAG_AA"
  12931. const m_ft_raster_flag_clip = "FT_RASTER_FLAG_CLIP"
  12932. const m_ft_raster_flag_default = "FT_RASTER_FLAG_DEFAULT"
  12933. const m_ft_raster_flag_direct = "FT_RASTER_FLAG_DIRECT"
  12934. const m_ft_render_mode_mono = "FT_RENDER_MODE_MONO"
  12935. const m_ft_render_mode_normal = "FT_RENDER_MODE_NORMAL"
  12936. const m_ft_scalloc = "calloc"
  12937. const m_ft_sfnt_head = 0
  12938. const m_ft_sfnt_hhea = "FT_SFNT_HHEA"
  12939. const m_ft_sfnt_maxp = "FT_SFNT_MAXP"
  12940. const m_ft_sfnt_os2 = "FT_SFNT_OS2"
  12941. const m_ft_sfnt_pclt = "FT_SFNT_PCLT"
  12942. const m_ft_sfnt_post = "FT_SFNT_POST"
  12943. const m_ft_sfnt_vhea = "FT_SFNT_VHEA"
  12944. const m_ft_sfree = "free"
  12945. const m_ft_smalloc = "malloc"
  12946. const m_ft_sprintf = "sprintf"
  12947. const m_ft_srealloc = "realloc"
  12948. const m_ft_strcat = "strcat"
  12949. const m_ft_strcmp = "strcmp"
  12950. const m_ft_strcpy = "strcpy"
  12951. const m_ft_strlen = "strlen"
  12952. const m_ft_strncmp = "strncmp"
  12953. const m_ft_strncpy = "strncpy"
  12954. const m_ft_strrchr = "strrchr"
  12955. const m_ft_strstr = "strstr"
  12956. const m_ft_strtol = "strtol"
  12957. const m_t1_blend_blue_scale = "T1_BLEND_BLUE_SCALE"
  12958. const m_t1_blend_blue_shift = "T1_BLEND_BLUE_SHIFT"
  12959. const m_t1_blend_blue_values = "T1_BLEND_BLUE_VALUES"
  12960. const m_t1_blend_family_blues = "T1_BLEND_FAMILY_BLUES"
  12961. const m_t1_blend_family_other_blues = "T1_BLEND_FAMILY_OTHER_BLUES"
  12962. const m_t1_blend_force_bold = "T1_BLEND_FORCE_BOLD"
  12963. const m_t1_blend_italic_angle = "T1_BLEND_ITALIC_ANGLE"
  12964. const m_t1_blend_max = "T1_BLEND_MAX"
  12965. const m_t1_blend_other_blues = "T1_BLEND_OTHER_BLUES"
  12966. const m_t1_blend_standard_height = "T1_BLEND_STANDARD_HEIGHT"
  12967. const m_t1_blend_standard_widths = "T1_BLEND_STANDARD_WIDTH"
  12968. const m_t1_blend_stem_snap_heights = "T1_BLEND_STEM_SNAP_HEIGHTS"
  12969. const m_t1_blend_stem_snap_widths = "T1_BLEND_STEM_SNAP_WIDTHS"
  12970. const m_t1_blend_underline_position = "T1_BLEND_UNDERLINE_POSITION"
  12971. const m_t1_blend_underline_thickness = "T1_BLEND_UNDERLINE_THICKNESS"
  12972. type t__jmp_buf = [32]uint64
  12973. type Tjmp_buf = [1]t__jmp_buf_tag
  12974. type t__jmp_buf_tag = struct {
  12975. F__ccgo_align [0]uint32
  12976. F__jb t__jmp_buf
  12977. F__fl uint32
  12978. F__ss [32]uint32
  12979. F__ccgo_pad3 [4]byte
  12980. }
  12981. type Tsigjmp_buf = [1]t__jmp_buf_tag
  12982. type TFT_Int16 = int16
  12983. type TFT_UInt16 = uint16
  12984. type TFT_Int32 = int32
  12985. type TFT_UInt32 = uint32
  12986. type TFT_Fast = int32
  12987. type TFT_UFast = uint32
  12988. type TFT_Int64 = int64
  12989. type TFT_UInt64 = uint64
  12990. type TFT_Memory = uintptr
  12991. type TFT_MemoryRec_ = struct {
  12992. Fuser uintptr
  12993. Falloc TFT_Alloc_Func
  12994. Ffree TFT_Free_Func
  12995. Frealloc TFT_Realloc_Func
  12996. }
  12997. type TFT_Alloc_Func = uintptr
  12998. type TFT_Free_Func = uintptr
  12999. type TFT_Realloc_Func = uintptr
  13000. type TFT_Stream = uintptr
  13001. type TFT_StreamRec_ = struct {
  13002. Fbase uintptr
  13003. Fsize uint32
  13004. Fpos uint32
  13005. Fdescriptor TFT_StreamDesc
  13006. Fpathname TFT_StreamDesc
  13007. Fread TFT_Stream_IoFunc
  13008. Fclose1 TFT_Stream_CloseFunc
  13009. Fmemory TFT_Memory
  13010. Fcursor uintptr
  13011. Flimit uintptr
  13012. }
  13013. type TFT_StreamDesc = struct {
  13014. Fpointer [0]uintptr
  13015. Fvalue int32
  13016. }
  13017. type TFT_StreamDesc_ = TFT_StreamDesc
  13018. type TFT_Stream_IoFunc = uintptr
  13019. type TFT_Stream_CloseFunc = uintptr
  13020. type TFT_StreamRec = struct {
  13021. Fbase uintptr
  13022. Fsize uint32
  13023. Fpos uint32
  13024. Fdescriptor TFT_StreamDesc
  13025. Fpathname TFT_StreamDesc
  13026. Fread TFT_Stream_IoFunc
  13027. Fclose1 TFT_Stream_CloseFunc
  13028. Fmemory TFT_Memory
  13029. Fcursor uintptr
  13030. Flimit uintptr
  13031. }
  13032. type TFT_Pos = int32
  13033. type TFT_Vector = struct {
  13034. Fx TFT_Pos
  13035. Fy TFT_Pos
  13036. }
  13037. type TFT_Vector_ = TFT_Vector
  13038. type TFT_BBox = struct {
  13039. FxMin TFT_Pos
  13040. FyMin TFT_Pos
  13041. FxMax TFT_Pos
  13042. FyMax TFT_Pos
  13043. }
  13044. type TFT_BBox_ = TFT_BBox
  13045. type TFT_Pixel_Mode = int32
  13046. type _FT_Pixel_Mode_ = int32
  13047. const _FT_PIXEL_MODE_NONE = 0
  13048. const _FT_PIXEL_MODE_MONO = 1
  13049. const _FT_PIXEL_MODE_GRAY = 2
  13050. const _FT_PIXEL_MODE_GRAY2 = 3
  13051. const _FT_PIXEL_MODE_GRAY4 = 4
  13052. const _FT_PIXEL_MODE_LCD = 5
  13053. const _FT_PIXEL_MODE_LCD_V = 6
  13054. const _FT_PIXEL_MODE_BGRA = 7
  13055. const _FT_PIXEL_MODE_MAX = 8
  13056. type TFT_Bitmap = struct {
  13057. Frows uint32
  13058. Fwidth uint32
  13059. Fpitch int32
  13060. Fbuffer uintptr
  13061. Fnum_grays uint16
  13062. Fpixel_mode uint8
  13063. Fpalette_mode uint8
  13064. Fpalette uintptr
  13065. }
  13066. type TFT_Bitmap_ = TFT_Bitmap
  13067. type TFT_Outline = struct {
  13068. Fn_contours int16
  13069. Fn_points int16
  13070. Fpoints uintptr
  13071. Ftags uintptr
  13072. Fcontours uintptr
  13073. Fflags int32
  13074. }
  13075. type TFT_Outline_ = TFT_Outline
  13076. type TFT_Outline_MoveToFunc = uintptr
  13077. type TFT_Outline_LineToFunc = uintptr
  13078. type TFT_Outline_ConicToFunc = uintptr
  13079. type TFT_Outline_CubicToFunc = uintptr
  13080. type TFT_Outline_Funcs = struct {
  13081. Fmove_to TFT_Outline_MoveToFunc
  13082. Fline_to TFT_Outline_LineToFunc
  13083. Fconic_to TFT_Outline_ConicToFunc
  13084. Fcubic_to TFT_Outline_CubicToFunc
  13085. Fshift int32
  13086. Fdelta TFT_Pos
  13087. }
  13088. type TFT_Outline_Funcs_ = TFT_Outline_Funcs
  13089. type TFT_Glyph_Format = int32
  13090. type _FT_Glyph_Format_ = int32
  13091. const _FT_GLYPH_FORMAT_NONE = 0
  13092. const _FT_GLYPH_FORMAT_COMPOSITE = 1668246896
  13093. const _FT_GLYPH_FORMAT_BITMAP = 1651078259
  13094. const _FT_GLYPH_FORMAT_OUTLINE = 1869968492
  13095. const _FT_GLYPH_FORMAT_PLOTTER = 1886154612
  13096. const _FT_GLYPH_FORMAT_SVG = 1398163232
  13097. type TFT_Span = struct {
  13098. Fx int16
  13099. Flen1 uint16
  13100. Fcoverage uint8
  13101. }
  13102. type TFT_Span_ = TFT_Span
  13103. type TFT_SpanFunc = uintptr
  13104. type TFT_Raster_BitTest_Func = uintptr
  13105. type TFT_Raster_BitSet_Func = uintptr
  13106. type TFT_Raster_Params = struct {
  13107. Ftarget uintptr
  13108. Fsource uintptr
  13109. Fflags int32
  13110. Fgray_spans TFT_SpanFunc
  13111. Fblack_spans TFT_SpanFunc
  13112. Fbit_test TFT_Raster_BitTest_Func
  13113. Fbit_set TFT_Raster_BitSet_Func
  13114. Fuser uintptr
  13115. Fclip_box TFT_BBox
  13116. }
  13117. type TFT_Raster_Params_ = TFT_Raster_Params
  13118. type TFT_Raster = uintptr
  13119. type TFT_Raster_NewFunc = uintptr
  13120. type TFT_Raster_DoneFunc = uintptr
  13121. type TFT_Raster_ResetFunc = uintptr
  13122. type TFT_Raster_SetModeFunc = uintptr
  13123. type TFT_Raster_RenderFunc = uintptr
  13124. type TFT_Raster_Funcs = struct {
  13125. Fglyph_format TFT_Glyph_Format
  13126. Fraster_new TFT_Raster_NewFunc
  13127. Fraster_reset TFT_Raster_ResetFunc
  13128. Fraster_set_mode TFT_Raster_SetModeFunc
  13129. Fraster_render TFT_Raster_RenderFunc
  13130. Fraster_done TFT_Raster_DoneFunc
  13131. }
  13132. type TFT_Raster_Funcs_ = TFT_Raster_Funcs
  13133. type TFT_Bool = uint8
  13134. type TFT_FWord = int16
  13135. type TFT_UFWord = uint16
  13136. type TFT_Char = int8
  13137. type TFT_Byte = uint8
  13138. type TFT_Bytes = uintptr
  13139. type TFT_Tag = uint32
  13140. type TFT_String = uint8
  13141. type TFT_Short = int16
  13142. type TFT_UShort = uint16
  13143. type TFT_Int = int32
  13144. type TFT_UInt = uint32
  13145. type TFT_Long = int32
  13146. type TFT_ULong = uint32
  13147. type TFT_F2Dot14 = int16
  13148. type TFT_F26Dot6 = int32
  13149. type TFT_Fixed = int32
  13150. type TFT_Error = int32
  13151. type TFT_Pointer = uintptr
  13152. type TFT_Offset = uint32
  13153. type TFT_PtrDist = int32
  13154. type TFT_UnitVector = struct {
  13155. Fx TFT_F2Dot14
  13156. Fy TFT_F2Dot14
  13157. }
  13158. type TFT_UnitVector_ = TFT_UnitVector
  13159. type TFT_Matrix = struct {
  13160. Fxx TFT_Fixed
  13161. Fxy TFT_Fixed
  13162. Fyx TFT_Fixed
  13163. Fyy TFT_Fixed
  13164. }
  13165. type TFT_Matrix_ = TFT_Matrix
  13166. type TFT_Data = struct {
  13167. Fpointer uintptr
  13168. Flength TFT_UInt
  13169. }
  13170. type TFT_Data_ = TFT_Data
  13171. type TFT_Generic_Finalizer = uintptr
  13172. type TFT_Generic = struct {
  13173. Fdata uintptr
  13174. Ffinalizer TFT_Generic_Finalizer
  13175. }
  13176. type TFT_Generic_ = TFT_Generic
  13177. type TFT_ListNode = uintptr
  13178. type TFT_ListNodeRec_ = struct {
  13179. Fprev TFT_ListNode
  13180. Fnext TFT_ListNode
  13181. Fdata uintptr
  13182. }
  13183. type TFT_List = uintptr
  13184. type TFT_ListRec_ = struct {
  13185. Fhead TFT_ListNode
  13186. Ftail TFT_ListNode
  13187. }
  13188. type TFT_ListNodeRec = struct {
  13189. Fprev TFT_ListNode
  13190. Fnext TFT_ListNode
  13191. Fdata uintptr
  13192. }
  13193. type TFT_ListRec = struct {
  13194. Fhead TFT_ListNode
  13195. Ftail TFT_ListNode
  13196. }
  13197. const _FT_Mod_Err_Base = 0
  13198. const _FT_Mod_Err_Autofit = 0
  13199. const _FT_Mod_Err_BDF = 0
  13200. const _FT_Mod_Err_Bzip2 = 0
  13201. const _FT_Mod_Err_Cache = 0
  13202. const _FT_Mod_Err_CFF = 0
  13203. const _FT_Mod_Err_CID = 0
  13204. const _FT_Mod_Err_Gzip = 0
  13205. const _FT_Mod_Err_LZW = 0
  13206. const _FT_Mod_Err_OTvalid = 0
  13207. const _FT_Mod_Err_PCF = 0
  13208. const _FT_Mod_Err_PFR = 0
  13209. const _FT_Mod_Err_PSaux = 0
  13210. const _FT_Mod_Err_PShinter = 0
  13211. const _FT_Mod_Err_PSnames = 0
  13212. const _FT_Mod_Err_Raster = 0
  13213. const _FT_Mod_Err_SFNT = 0
  13214. const _FT_Mod_Err_Smooth = 0
  13215. const _FT_Mod_Err_TrueType = 0
  13216. const _FT_Mod_Err_Type1 = 0
  13217. const _FT_Mod_Err_Type42 = 0
  13218. const _FT_Mod_Err_Winfonts = 0
  13219. const _FT_Mod_Err_GXvalid = 0
  13220. const _FT_Mod_Err_Sdf = 0
  13221. const _FT_Mod_Err_Max = 1
  13222. const _FT_Err_Ok = 0
  13223. const _FT_Err_Cannot_Open_Resource = 1
  13224. const _FT_Err_Unknown_File_Format = 2
  13225. const _FT_Err_Invalid_File_Format = 3
  13226. const _FT_Err_Invalid_Version = 4
  13227. const _FT_Err_Lower_Module_Version = 5
  13228. const _FT_Err_Invalid_Argument = 6
  13229. const _FT_Err_Unimplemented_Feature = 7
  13230. const _FT_Err_Invalid_Table = 8
  13231. const _FT_Err_Invalid_Offset = 9
  13232. const _FT_Err_Array_Too_Large = 10
  13233. const _FT_Err_Missing_Module = 11
  13234. const _FT_Err_Missing_Property = 12
  13235. const _FT_Err_Invalid_Glyph_Index = 16
  13236. const _FT_Err_Invalid_Character_Code = 17
  13237. const _FT_Err_Invalid_Glyph_Format = 18
  13238. const _FT_Err_Cannot_Render_Glyph = 19
  13239. const _FT_Err_Invalid_Outline = 20
  13240. const _FT_Err_Invalid_Composite = 21
  13241. const _FT_Err_Too_Many_Hints = 22
  13242. const _FT_Err_Invalid_Pixel_Size = 23
  13243. const _FT_Err_Invalid_SVG_Document = 24
  13244. const _FT_Err_Invalid_Handle = 32
  13245. const _FT_Err_Invalid_Library_Handle = 33
  13246. const _FT_Err_Invalid_Driver_Handle = 34
  13247. const _FT_Err_Invalid_Face_Handle = 35
  13248. const _FT_Err_Invalid_Size_Handle = 36
  13249. const _FT_Err_Invalid_Slot_Handle = 37
  13250. const _FT_Err_Invalid_CharMap_Handle = 38
  13251. const _FT_Err_Invalid_Cache_Handle = 39
  13252. const _FT_Err_Invalid_Stream_Handle = 40
  13253. const _FT_Err_Too_Many_Drivers = 48
  13254. const _FT_Err_Too_Many_Extensions = 49
  13255. const _FT_Err_Out_Of_Memory = 64
  13256. const _FT_Err_Unlisted_Object = 65
  13257. const _FT_Err_Cannot_Open_Stream = 81
  13258. const _FT_Err_Invalid_Stream_Seek = 82
  13259. const _FT_Err_Invalid_Stream_Skip = 83
  13260. const _FT_Err_Invalid_Stream_Read = 84
  13261. const _FT_Err_Invalid_Stream_Operation = 85
  13262. const _FT_Err_Invalid_Frame_Operation = 86
  13263. const _FT_Err_Nested_Frame_Access = 87
  13264. const _FT_Err_Invalid_Frame_Read = 88
  13265. const _FT_Err_Raster_Uninitialized = 96
  13266. const _FT_Err_Raster_Corrupted = 97
  13267. const _FT_Err_Raster_Overflow = 98
  13268. const _FT_Err_Raster_Negative_Height = 99
  13269. const _FT_Err_Too_Many_Caches = 112
  13270. const _FT_Err_Invalid_Opcode = 128
  13271. const _FT_Err_Too_Few_Arguments = 129
  13272. const _FT_Err_Stack_Overflow = 130
  13273. const _FT_Err_Code_Overflow = 131
  13274. const _FT_Err_Bad_Argument = 132
  13275. const _FT_Err_Divide_By_Zero = 133
  13276. const _FT_Err_Invalid_Reference = 134
  13277. const _FT_Err_Debug_OpCode = 135
  13278. const _FT_Err_ENDF_In_Exec_Stream = 136
  13279. const _FT_Err_Nested_DEFS = 137
  13280. const _FT_Err_Invalid_CodeRange = 138
  13281. const _FT_Err_Execution_Too_Long = 139
  13282. const _FT_Err_Too_Many_Function_Defs = 140
  13283. const _FT_Err_Too_Many_Instruction_Defs = 141
  13284. const _FT_Err_Table_Missing = 142
  13285. const _FT_Err_Horiz_Header_Missing = 143
  13286. const _FT_Err_Locations_Missing = 144
  13287. const _FT_Err_Name_Table_Missing = 145
  13288. const _FT_Err_CMap_Table_Missing = 146
  13289. const _FT_Err_Hmtx_Table_Missing = 147
  13290. const _FT_Err_Post_Table_Missing = 148
  13291. const _FT_Err_Invalid_Horiz_Metrics = 149
  13292. const _FT_Err_Invalid_CharMap_Format = 150
  13293. const _FT_Err_Invalid_PPem = 151
  13294. const _FT_Err_Invalid_Vert_Metrics = 152
  13295. const _FT_Err_Could_Not_Find_Context = 153
  13296. const _FT_Err_Invalid_Post_Table_Format = 154
  13297. const _FT_Err_Invalid_Post_Table = 155
  13298. const _FT_Err_DEF_In_Glyf_Bytecode = 156
  13299. const _FT_Err_Missing_Bitmap = 157
  13300. const _FT_Err_Missing_SVG_Hooks = 158
  13301. const _FT_Err_Syntax_Error = 160
  13302. const _FT_Err_Stack_Underflow = 161
  13303. const _FT_Err_Ignore = 162
  13304. const _FT_Err_No_Unicode_Glyph_Name = 163
  13305. const _FT_Err_Glyph_Too_Big = 164
  13306. const _FT_Err_Missing_Startfont_Field = 176
  13307. const _FT_Err_Missing_Font_Field = 177
  13308. const _FT_Err_Missing_Size_Field = 178
  13309. const _FT_Err_Missing_Fontboundingbox_Field = 179
  13310. const _FT_Err_Missing_Chars_Field = 180
  13311. const _FT_Err_Missing_Startchar_Field = 181
  13312. const _FT_Err_Missing_Encoding_Field = 182
  13313. const _FT_Err_Missing_Bbx_Field = 183
  13314. const _FT_Err_Bbx_Too_Big = 184
  13315. const _FT_Err_Corrupted_Font_Header = 185
  13316. const _FT_Err_Corrupted_Font_Glyphs = 186
  13317. const _FT_Err_Max = 187
  13318. type TFT_Glyph_Metrics = struct {
  13319. Fwidth TFT_Pos
  13320. Fheight TFT_Pos
  13321. FhoriBearingX TFT_Pos
  13322. FhoriBearingY TFT_Pos
  13323. FhoriAdvance TFT_Pos
  13324. FvertBearingX TFT_Pos
  13325. FvertBearingY TFT_Pos
  13326. FvertAdvance TFT_Pos
  13327. }
  13328. type TFT_Glyph_Metrics_ = TFT_Glyph_Metrics
  13329. type TFT_Bitmap_Size = struct {
  13330. Fheight TFT_Short
  13331. Fwidth TFT_Short
  13332. Fsize TFT_Pos
  13333. Fx_ppem TFT_Pos
  13334. Fy_ppem TFT_Pos
  13335. }
  13336. type TFT_Bitmap_Size_ = TFT_Bitmap_Size
  13337. type TFT_Library = uintptr
  13338. type TFT_Module = uintptr
  13339. type TFT_Driver = uintptr
  13340. type TFT_Renderer = uintptr
  13341. type TFT_Face = uintptr
  13342. type TFT_FaceRec_ = struct {
  13343. Fnum_faces TFT_Long
  13344. Fface_index TFT_Long
  13345. Fface_flags TFT_Long
  13346. Fstyle_flags TFT_Long
  13347. Fnum_glyphs TFT_Long
  13348. Ffamily_name uintptr
  13349. Fstyle_name uintptr
  13350. Fnum_fixed_sizes TFT_Int
  13351. Favailable_sizes uintptr
  13352. Fnum_charmaps TFT_Int
  13353. Fcharmaps uintptr
  13354. Fgeneric TFT_Generic
  13355. Fbbox TFT_BBox
  13356. Funits_per_EM TFT_UShort
  13357. Fascender TFT_Short
  13358. Fdescender TFT_Short
  13359. Fheight TFT_Short
  13360. Fmax_advance_width TFT_Short
  13361. Fmax_advance_height TFT_Short
  13362. Funderline_position TFT_Short
  13363. Funderline_thickness TFT_Short
  13364. Fglyph TFT_GlyphSlot
  13365. Fsize TFT_Size
  13366. Fcharmap TFT_CharMap
  13367. Fdriver TFT_Driver
  13368. Fmemory TFT_Memory
  13369. Fstream TFT_Stream
  13370. Fsizes_list TFT_ListRec
  13371. Fautohint TFT_Generic
  13372. Fextensions uintptr
  13373. Finternal TFT_Face_Internal
  13374. }
  13375. type TFT_Size = uintptr
  13376. type TFT_SizeRec_ = struct {
  13377. Fface TFT_Face
  13378. Fgeneric TFT_Generic
  13379. Fmetrics TFT_Size_Metrics
  13380. Finternal TFT_Size_Internal
  13381. }
  13382. type TFT_GlyphSlot = uintptr
  13383. type TFT_GlyphSlotRec_ = struct {
  13384. Flibrary TFT_Library
  13385. Fface TFT_Face
  13386. Fnext TFT_GlyphSlot
  13387. Fglyph_index TFT_UInt
  13388. Fgeneric TFT_Generic
  13389. Fmetrics TFT_Glyph_Metrics
  13390. FlinearHoriAdvance TFT_Fixed
  13391. FlinearVertAdvance TFT_Fixed
  13392. Fadvance TFT_Vector
  13393. Fformat TFT_Glyph_Format
  13394. Fbitmap TFT_Bitmap
  13395. Fbitmap_left TFT_Int
  13396. Fbitmap_top TFT_Int
  13397. Foutline TFT_Outline
  13398. Fnum_subglyphs TFT_UInt
  13399. Fsubglyphs TFT_SubGlyph
  13400. Fcontrol_data uintptr
  13401. Fcontrol_len int32
  13402. Flsb_delta TFT_Pos
  13403. Frsb_delta TFT_Pos
  13404. Fother uintptr
  13405. Finternal TFT_Slot_Internal
  13406. }
  13407. type TFT_CharMap = uintptr
  13408. type TFT_CharMapRec_ = struct {
  13409. Fface TFT_Face
  13410. Fencoding TFT_Encoding
  13411. Fplatform_id TFT_UShort
  13412. Fencoding_id TFT_UShort
  13413. }
  13414. type _FT_Encoding_ = int32
  13415. const _FT_ENCODING_NONE = 0
  13416. const _FT_ENCODING_MS_SYMBOL = 1937337698
  13417. const _FT_ENCODING_UNICODE = 1970170211
  13418. const _FT_ENCODING_SJIS = 1936353651
  13419. const _FT_ENCODING_PRC = 1734484000
  13420. const _FT_ENCODING_BIG5 = 1651074869
  13421. const _FT_ENCODING_WANSUNG = 2002873971
  13422. const _FT_ENCODING_JOHAB = 1785686113
  13423. const _FT_ENCODING_GB2312 = 1734484000
  13424. const _FT_ENCODING_MS_SJIS = 1936353651
  13425. const _FT_ENCODING_MS_GB2312 = 1734484000
  13426. const _FT_ENCODING_MS_BIG5 = 1651074869
  13427. const _FT_ENCODING_MS_WANSUNG = 2002873971
  13428. const _FT_ENCODING_MS_JOHAB = 1785686113
  13429. const _FT_ENCODING_ADOBE_STANDARD = 1094995778
  13430. const _FT_ENCODING_ADOBE_EXPERT = 1094992453
  13431. const _FT_ENCODING_ADOBE_CUSTOM = 1094992451
  13432. const _FT_ENCODING_ADOBE_LATIN_1 = 1818326065
  13433. const _FT_ENCODING_OLD_LATIN_2 = 1818326066
  13434. const _FT_ENCODING_APPLE_ROMAN = 1634889070
  13435. type TFT_Encoding = int32
  13436. type TFT_CharMapRec = struct {
  13437. Fface TFT_Face
  13438. Fencoding TFT_Encoding
  13439. Fplatform_id TFT_UShort
  13440. Fencoding_id TFT_UShort
  13441. }
  13442. type TFT_Face_Internal = uintptr
  13443. type TFT_FaceRec = struct {
  13444. Fnum_faces TFT_Long
  13445. Fface_index TFT_Long
  13446. Fface_flags TFT_Long
  13447. Fstyle_flags TFT_Long
  13448. Fnum_glyphs TFT_Long
  13449. Ffamily_name uintptr
  13450. Fstyle_name uintptr
  13451. Fnum_fixed_sizes TFT_Int
  13452. Favailable_sizes uintptr
  13453. Fnum_charmaps TFT_Int
  13454. Fcharmaps uintptr
  13455. Fgeneric TFT_Generic
  13456. Fbbox TFT_BBox
  13457. Funits_per_EM TFT_UShort
  13458. Fascender TFT_Short
  13459. Fdescender TFT_Short
  13460. Fheight TFT_Short
  13461. Fmax_advance_width TFT_Short
  13462. Fmax_advance_height TFT_Short
  13463. Funderline_position TFT_Short
  13464. Funderline_thickness TFT_Short
  13465. Fglyph TFT_GlyphSlot
  13466. Fsize TFT_Size
  13467. Fcharmap TFT_CharMap
  13468. Fdriver TFT_Driver
  13469. Fmemory TFT_Memory
  13470. Fstream TFT_Stream
  13471. Fsizes_list TFT_ListRec
  13472. Fautohint TFT_Generic
  13473. Fextensions uintptr
  13474. Finternal TFT_Face_Internal
  13475. }
  13476. type TFT_Size_Internal = uintptr
  13477. type TFT_Size_Metrics = struct {
  13478. Fx_ppem TFT_UShort
  13479. Fy_ppem TFT_UShort
  13480. Fx_scale TFT_Fixed
  13481. Fy_scale TFT_Fixed
  13482. Fascender TFT_Pos
  13483. Fdescender TFT_Pos
  13484. Fheight TFT_Pos
  13485. Fmax_advance TFT_Pos
  13486. }
  13487. type TFT_Size_Metrics_ = TFT_Size_Metrics
  13488. type TFT_SizeRec = struct {
  13489. Fface TFT_Face
  13490. Fgeneric TFT_Generic
  13491. Fmetrics TFT_Size_Metrics
  13492. Finternal TFT_Size_Internal
  13493. }
  13494. type TFT_SubGlyph = uintptr
  13495. type TFT_Slot_Internal = uintptr
  13496. type TFT_GlyphSlotRec = struct {
  13497. Flibrary TFT_Library
  13498. Fface TFT_Face
  13499. Fnext TFT_GlyphSlot
  13500. Fglyph_index TFT_UInt
  13501. Fgeneric TFT_Generic
  13502. Fmetrics TFT_Glyph_Metrics
  13503. FlinearHoriAdvance TFT_Fixed
  13504. FlinearVertAdvance TFT_Fixed
  13505. Fadvance TFT_Vector
  13506. Fformat TFT_Glyph_Format
  13507. Fbitmap TFT_Bitmap
  13508. Fbitmap_left TFT_Int
  13509. Fbitmap_top TFT_Int
  13510. Foutline TFT_Outline
  13511. Fnum_subglyphs TFT_UInt
  13512. Fsubglyphs TFT_SubGlyph
  13513. Fcontrol_data uintptr
  13514. Fcontrol_len int32
  13515. Flsb_delta TFT_Pos
  13516. Frsb_delta TFT_Pos
  13517. Fother uintptr
  13518. Finternal TFT_Slot_Internal
  13519. }
  13520. type TFT_Parameter = struct {
  13521. Ftag TFT_ULong
  13522. Fdata TFT_Pointer
  13523. }
  13524. type TFT_Parameter_ = TFT_Parameter
  13525. type TFT_Open_Args = struct {
  13526. Fflags TFT_UInt
  13527. Fmemory_base uintptr
  13528. Fmemory_size TFT_Long
  13529. Fpathname uintptr
  13530. Fstream TFT_Stream
  13531. Fdriver TFT_Module
  13532. Fnum_params TFT_Int
  13533. Fparams uintptr
  13534. }
  13535. type TFT_Open_Args_ = TFT_Open_Args
  13536. type TFT_Size_Request_Type = int32
  13537. type _FT_Size_Request_Type_ = int32
  13538. const _FT_SIZE_REQUEST_TYPE_NOMINAL = 0
  13539. const _FT_SIZE_REQUEST_TYPE_REAL_DIM = 1
  13540. const _FT_SIZE_REQUEST_TYPE_BBOX = 2
  13541. const _FT_SIZE_REQUEST_TYPE_CELL = 3
  13542. const _FT_SIZE_REQUEST_TYPE_SCALES = 4
  13543. const _FT_SIZE_REQUEST_TYPE_MAX = 5
  13544. type TFT_Size_RequestRec = struct {
  13545. Ftype1 TFT_Size_Request_Type
  13546. Fwidth TFT_Long
  13547. Fheight TFT_Long
  13548. FhoriResolution TFT_UInt
  13549. FvertResolution TFT_UInt
  13550. }
  13551. type TFT_Size_RequestRec_ = TFT_Size_RequestRec
  13552. type TFT_Size_Request = uintptr
  13553. type TFT_Render_Mode = int32
  13554. type _FT_Render_Mode_ = int32
  13555. const _FT_RENDER_MODE_NORMAL = 0
  13556. const _FT_RENDER_MODE_LIGHT = 1
  13557. const _FT_RENDER_MODE_MONO = 2
  13558. const _FT_RENDER_MODE_LCD = 3
  13559. const _FT_RENDER_MODE_LCD_V = 4
  13560. const _FT_RENDER_MODE_SDF = 5
  13561. const _FT_RENDER_MODE_MAX = 6
  13562. type TFT_Kerning_Mode = int32
  13563. type _FT_Kerning_Mode_ = int32
  13564. const _FT_KERNING_DEFAULT = 0
  13565. const _FT_KERNING_UNFITTED = 1
  13566. const _FT_KERNING_UNSCALED = 2
  13567. type TTT_Header = struct {
  13568. FTable_Version TFT_Fixed
  13569. FFont_Revision TFT_Fixed
  13570. FCheckSum_Adjust TFT_Long
  13571. FMagic_Number TFT_Long
  13572. FFlags TFT_UShort
  13573. FUnits_Per_EM TFT_UShort
  13574. FCreated [2]TFT_ULong
  13575. FModified [2]TFT_ULong
  13576. FxMin TFT_Short
  13577. FyMin TFT_Short
  13578. FxMax TFT_Short
  13579. FyMax TFT_Short
  13580. FMac_Style TFT_UShort
  13581. FLowest_Rec_PPEM TFT_UShort
  13582. FFont_Direction TFT_Short
  13583. FIndex_To_Loc_Format TFT_Short
  13584. FGlyph_Data_Format TFT_Short
  13585. }
  13586. type TTT_Header_ = TTT_Header
  13587. type TTT_HoriHeader = struct {
  13588. FVersion TFT_Fixed
  13589. FAscender TFT_Short
  13590. FDescender TFT_Short
  13591. FLine_Gap TFT_Short
  13592. Fadvance_Width_Max TFT_UShort
  13593. Fmin_Left_Side_Bearing TFT_Short
  13594. Fmin_Right_Side_Bearing TFT_Short
  13595. FxMax_Extent TFT_Short
  13596. Fcaret_Slope_Rise TFT_Short
  13597. Fcaret_Slope_Run TFT_Short
  13598. Fcaret_Offset TFT_Short
  13599. FReserved [4]TFT_Short
  13600. Fmetric_Data_Format TFT_Short
  13601. Fnumber_Of_HMetrics TFT_UShort
  13602. Flong_metrics uintptr
  13603. Fshort_metrics uintptr
  13604. }
  13605. type TTT_HoriHeader_ = TTT_HoriHeader
  13606. type TTT_VertHeader = struct {
  13607. FVersion TFT_Fixed
  13608. FAscender TFT_Short
  13609. FDescender TFT_Short
  13610. FLine_Gap TFT_Short
  13611. Fadvance_Height_Max TFT_UShort
  13612. Fmin_Top_Side_Bearing TFT_Short
  13613. Fmin_Bottom_Side_Bearing TFT_Short
  13614. FyMax_Extent TFT_Short
  13615. Fcaret_Slope_Rise TFT_Short
  13616. Fcaret_Slope_Run TFT_Short
  13617. Fcaret_Offset TFT_Short
  13618. FReserved [4]TFT_Short
  13619. Fmetric_Data_Format TFT_Short
  13620. Fnumber_Of_VMetrics TFT_UShort
  13621. Flong_metrics uintptr
  13622. Fshort_metrics uintptr
  13623. }
  13624. type TTT_VertHeader_ = TTT_VertHeader
  13625. type TTT_OS2 = struct {
  13626. Fversion TFT_UShort
  13627. FxAvgCharWidth TFT_Short
  13628. FusWeightClass TFT_UShort
  13629. FusWidthClass TFT_UShort
  13630. FfsType TFT_UShort
  13631. FySubscriptXSize TFT_Short
  13632. FySubscriptYSize TFT_Short
  13633. FySubscriptXOffset TFT_Short
  13634. FySubscriptYOffset TFT_Short
  13635. FySuperscriptXSize TFT_Short
  13636. FySuperscriptYSize TFT_Short
  13637. FySuperscriptXOffset TFT_Short
  13638. FySuperscriptYOffset TFT_Short
  13639. FyStrikeoutSize TFT_Short
  13640. FyStrikeoutPosition TFT_Short
  13641. FsFamilyClass TFT_Short
  13642. Fpanose [10]TFT_Byte
  13643. FulUnicodeRange1 TFT_ULong
  13644. FulUnicodeRange2 TFT_ULong
  13645. FulUnicodeRange3 TFT_ULong
  13646. FulUnicodeRange4 TFT_ULong
  13647. FachVendID [4]TFT_Char
  13648. FfsSelection TFT_UShort
  13649. FusFirstCharIndex TFT_UShort
  13650. FusLastCharIndex TFT_UShort
  13651. FsTypoAscender TFT_Short
  13652. FsTypoDescender TFT_Short
  13653. FsTypoLineGap TFT_Short
  13654. FusWinAscent TFT_UShort
  13655. FusWinDescent TFT_UShort
  13656. FulCodePageRange1 TFT_ULong
  13657. FulCodePageRange2 TFT_ULong
  13658. FsxHeight TFT_Short
  13659. FsCapHeight TFT_Short
  13660. FusDefaultChar TFT_UShort
  13661. FusBreakChar TFT_UShort
  13662. FusMaxContext TFT_UShort
  13663. FusLowerOpticalPointSize TFT_UShort
  13664. FusUpperOpticalPointSize TFT_UShort
  13665. }
  13666. type TTT_OS2_ = TTT_OS2
  13667. type TTT_Postscript = struct {
  13668. FFormatType TFT_Fixed
  13669. FitalicAngle TFT_Fixed
  13670. FunderlinePosition TFT_Short
  13671. FunderlineThickness TFT_Short
  13672. FisFixedPitch TFT_ULong
  13673. FminMemType42 TFT_ULong
  13674. FmaxMemType42 TFT_ULong
  13675. FminMemType1 TFT_ULong
  13676. FmaxMemType1 TFT_ULong
  13677. }
  13678. type TTT_Postscript_ = TTT_Postscript
  13679. type TTT_PCLT = struct {
  13680. FVersion TFT_Fixed
  13681. FFontNumber TFT_ULong
  13682. FPitch TFT_UShort
  13683. FxHeight TFT_UShort
  13684. FStyle TFT_UShort
  13685. FTypeFamily TFT_UShort
  13686. FCapHeight TFT_UShort
  13687. FSymbolSet TFT_UShort
  13688. FTypeFace [16]TFT_Char
  13689. FCharacterComplement [8]TFT_Char
  13690. FFileName [6]TFT_Char
  13691. FStrokeWeight TFT_Char
  13692. FWidthType TFT_Char
  13693. FSerifStyle TFT_Byte
  13694. FReserved TFT_Byte
  13695. }
  13696. type TTT_PCLT_ = TTT_PCLT
  13697. type TTT_MaxProfile = struct {
  13698. Fversion TFT_Fixed
  13699. FnumGlyphs TFT_UShort
  13700. FmaxPoints TFT_UShort
  13701. FmaxContours TFT_UShort
  13702. FmaxCompositePoints TFT_UShort
  13703. FmaxCompositeContours TFT_UShort
  13704. FmaxZones TFT_UShort
  13705. FmaxTwilightPoints TFT_UShort
  13706. FmaxStorage TFT_UShort
  13707. FmaxFunctionDefs TFT_UShort
  13708. FmaxInstructionDefs TFT_UShort
  13709. FmaxStackElements TFT_UShort
  13710. FmaxSizeOfInstructions TFT_UShort
  13711. FmaxComponentElements TFT_UShort
  13712. FmaxComponentDepth TFT_UShort
  13713. }
  13714. type TTT_MaxProfile_ = TTT_MaxProfile
  13715. type TFT_Sfnt_Tag = int32
  13716. type _FT_Sfnt_Tag_ = int32
  13717. const _FT_SFNT_HEAD = 0
  13718. const _FT_SFNT_MAXP = 1
  13719. const _FT_SFNT_OS2 = 2
  13720. const _FT_SFNT_HHEA = 3
  13721. const _FT_SFNT_VHEA = 4
  13722. const _FT_SFNT_POST = 5
  13723. const _FT_SFNT_PCLT = 6
  13724. const _FT_SFNT_MAX = 7
  13725. type TFT_SfntName = struct {
  13726. Fplatform_id TFT_UShort
  13727. Fencoding_id TFT_UShort
  13728. Flanguage_id TFT_UShort
  13729. Fname_id TFT_UShort
  13730. Fstring1 uintptr
  13731. Fstring_len TFT_UInt
  13732. }
  13733. type TFT_SfntName_ = TFT_SfntName
  13734. type TFT_SfntLangTag = struct {
  13735. Fstring1 uintptr
  13736. Fstring_len TFT_UInt
  13737. }
  13738. type TFT_SfntLangTag_ = TFT_SfntLangTag
  13739. type TPS_FontInfoRec = struct {
  13740. Fversion uintptr
  13741. Fnotice uintptr
  13742. Ffull_name uintptr
  13743. Ffamily_name uintptr
  13744. Fweight uintptr
  13745. Fitalic_angle TFT_Long
  13746. Fis_fixed_pitch TFT_Bool
  13747. Funderline_position TFT_Short
  13748. Funderline_thickness TFT_UShort
  13749. }
  13750. type TPS_FontInfoRec_ = TPS_FontInfoRec
  13751. type TPS_FontInfo = uintptr
  13752. type TT1_FontInfo = struct {
  13753. Fversion uintptr
  13754. Fnotice uintptr
  13755. Ffull_name uintptr
  13756. Ffamily_name uintptr
  13757. Fweight uintptr
  13758. Fitalic_angle TFT_Long
  13759. Fis_fixed_pitch TFT_Bool
  13760. Funderline_position TFT_Short
  13761. Funderline_thickness TFT_UShort
  13762. }
  13763. type TPS_PrivateRec = struct {
  13764. Funique_id TFT_Int
  13765. FlenIV TFT_Int
  13766. Fnum_blue_values TFT_Byte
  13767. Fnum_other_blues TFT_Byte
  13768. Fnum_family_blues TFT_Byte
  13769. Fnum_family_other_blues TFT_Byte
  13770. Fblue_values [14]TFT_Short
  13771. Fother_blues [10]TFT_Short
  13772. Ffamily_blues [14]TFT_Short
  13773. Ffamily_other_blues [10]TFT_Short
  13774. Fblue_scale TFT_Fixed
  13775. Fblue_shift TFT_Int
  13776. Fblue_fuzz TFT_Int
  13777. Fstandard_width [1]TFT_UShort
  13778. Fstandard_height [1]TFT_UShort
  13779. Fnum_snap_widths TFT_Byte
  13780. Fnum_snap_heights TFT_Byte
  13781. Fforce_bold TFT_Bool
  13782. Fround_stem_up TFT_Bool
  13783. Fsnap_widths [13]TFT_Short
  13784. Fsnap_heights [13]TFT_Short
  13785. Fexpansion_factor TFT_Fixed
  13786. Flanguage_group TFT_Long
  13787. Fpassword TFT_Long
  13788. Fmin_feature [2]TFT_Short
  13789. }
  13790. type TPS_PrivateRec_ = TPS_PrivateRec
  13791. type TPS_Private = uintptr
  13792. type TT1_Private = struct {
  13793. Funique_id TFT_Int
  13794. FlenIV TFT_Int
  13795. Fnum_blue_values TFT_Byte
  13796. Fnum_other_blues TFT_Byte
  13797. Fnum_family_blues TFT_Byte
  13798. Fnum_family_other_blues TFT_Byte
  13799. Fblue_values [14]TFT_Short
  13800. Fother_blues [10]TFT_Short
  13801. Ffamily_blues [14]TFT_Short
  13802. Ffamily_other_blues [10]TFT_Short
  13803. Fblue_scale TFT_Fixed
  13804. Fblue_shift TFT_Int
  13805. Fblue_fuzz TFT_Int
  13806. Fstandard_width [1]TFT_UShort
  13807. Fstandard_height [1]TFT_UShort
  13808. Fnum_snap_widths TFT_Byte
  13809. Fnum_snap_heights TFT_Byte
  13810. Fforce_bold TFT_Bool
  13811. Fround_stem_up TFT_Bool
  13812. Fsnap_widths [13]TFT_Short
  13813. Fsnap_heights [13]TFT_Short
  13814. Fexpansion_factor TFT_Fixed
  13815. Flanguage_group TFT_Long
  13816. Fpassword TFT_Long
  13817. Fmin_feature [2]TFT_Short
  13818. }
  13819. type TT1_Blend_Flags = int32
  13820. type _T1_Blend_Flags_ = int32
  13821. const _T1_BLEND_UNDERLINE_POSITION = 0
  13822. const _T1_BLEND_UNDERLINE_THICKNESS = 1
  13823. const _T1_BLEND_ITALIC_ANGLE = 2
  13824. const _T1_BLEND_BLUE_VALUES = 3
  13825. const _T1_BLEND_OTHER_BLUES = 4
  13826. const _T1_BLEND_STANDARD_WIDTH = 5
  13827. const _T1_BLEND_STANDARD_HEIGHT = 6
  13828. const _T1_BLEND_STEM_SNAP_WIDTHS = 7
  13829. const _T1_BLEND_STEM_SNAP_HEIGHTS = 8
  13830. const _T1_BLEND_BLUE_SCALE = 9
  13831. const _T1_BLEND_BLUE_SHIFT = 10
  13832. const _T1_BLEND_FAMILY_BLUES = 11
  13833. const _T1_BLEND_FAMILY_OTHER_BLUES = 12
  13834. const _T1_BLEND_FORCE_BOLD = 13
  13835. const _T1_BLEND_MAX = 14
  13836. type TPS_DesignMapRec = struct {
  13837. Fnum_points TFT_Byte
  13838. Fdesign_points uintptr
  13839. Fblend_points uintptr
  13840. }
  13841. type TPS_DesignMap_ = TPS_DesignMapRec
  13842. type TPS_DesignMap = uintptr
  13843. type TT1_DesignMap = struct {
  13844. Fnum_points TFT_Byte
  13845. Fdesign_points uintptr
  13846. Fblend_points uintptr
  13847. }
  13848. type TPS_BlendRec = struct {
  13849. Fnum_designs TFT_UInt
  13850. Fnum_axis TFT_UInt
  13851. Faxis_names [4]uintptr
  13852. Fdesign_pos [16]uintptr
  13853. Fdesign_map [4]TPS_DesignMapRec
  13854. Fweight_vector uintptr
  13855. Fdefault_weight_vector uintptr
  13856. Ffont_infos [17]TPS_FontInfo
  13857. Fprivates [17]TPS_Private
  13858. Fblend_bitflags TFT_ULong
  13859. Fbboxes [17]uintptr
  13860. Fdefault_design_vector [16]TFT_UInt
  13861. Fnum_default_design_vector TFT_UInt
  13862. }
  13863. type TPS_BlendRec_ = TPS_BlendRec
  13864. type TPS_Blend = uintptr
  13865. type TT1_Blend = struct {
  13866. Fnum_designs TFT_UInt
  13867. Fnum_axis TFT_UInt
  13868. Faxis_names [4]uintptr
  13869. Fdesign_pos [16]uintptr
  13870. Fdesign_map [4]TPS_DesignMapRec
  13871. Fweight_vector uintptr
  13872. Fdefault_weight_vector uintptr
  13873. Ffont_infos [17]TPS_FontInfo
  13874. Fprivates [17]TPS_Private
  13875. Fblend_bitflags TFT_ULong
  13876. Fbboxes [17]uintptr
  13877. Fdefault_design_vector [16]TFT_UInt
  13878. Fnum_default_design_vector TFT_UInt
  13879. }
  13880. type TCID_FaceDictRec = struct {
  13881. Fprivate_dict TPS_PrivateRec
  13882. Flen_buildchar TFT_UInt
  13883. Fforcebold_threshold TFT_Fixed
  13884. Fstroke_width TFT_Pos
  13885. Fexpansion_factor TFT_Fixed
  13886. Fpaint_type TFT_Byte
  13887. Ffont_type TFT_Byte
  13888. Ffont_matrix TFT_Matrix
  13889. Ffont_offset TFT_Vector
  13890. Fnum_subrs TFT_UInt
  13891. Fsubrmap_offset TFT_ULong
  13892. Fsd_bytes TFT_UInt
  13893. }
  13894. type TCID_FaceDictRec_ = TCID_FaceDictRec
  13895. type TCID_FaceDict = uintptr
  13896. type TCID_FontDict = struct {
  13897. Fprivate_dict TPS_PrivateRec
  13898. Flen_buildchar TFT_UInt
  13899. Fforcebold_threshold TFT_Fixed
  13900. Fstroke_width TFT_Pos
  13901. Fexpansion_factor TFT_Fixed
  13902. Fpaint_type TFT_Byte
  13903. Ffont_type TFT_Byte
  13904. Ffont_matrix TFT_Matrix
  13905. Ffont_offset TFT_Vector
  13906. Fnum_subrs TFT_UInt
  13907. Fsubrmap_offset TFT_ULong
  13908. Fsd_bytes TFT_UInt
  13909. }
  13910. type TCID_FaceInfoRec = struct {
  13911. Fcid_font_name uintptr
  13912. Fcid_version TFT_Fixed
  13913. Fcid_font_type TFT_Int
  13914. Fregistry uintptr
  13915. Fordering uintptr
  13916. Fsupplement TFT_Int
  13917. Ffont_info TPS_FontInfoRec
  13918. Ffont_bbox TFT_BBox
  13919. Fuid_base TFT_ULong
  13920. Fnum_xuid TFT_Int
  13921. Fxuid [16]TFT_ULong
  13922. Fcidmap_offset TFT_ULong
  13923. Ffd_bytes TFT_UInt
  13924. Fgd_bytes TFT_UInt
  13925. Fcid_count TFT_ULong
  13926. Fnum_dicts TFT_UInt
  13927. Ffont_dicts TCID_FaceDict
  13928. Fdata_offset TFT_ULong
  13929. }
  13930. type TCID_FaceInfoRec_ = TCID_FaceInfoRec
  13931. type TCID_FaceInfo = uintptr
  13932. type TCID_Info = struct {
  13933. Fcid_font_name uintptr
  13934. Fcid_version TFT_Fixed
  13935. Fcid_font_type TFT_Int
  13936. Fregistry uintptr
  13937. Fordering uintptr
  13938. Fsupplement TFT_Int
  13939. Ffont_info TPS_FontInfoRec
  13940. Ffont_bbox TFT_BBox
  13941. Fuid_base TFT_ULong
  13942. Fnum_xuid TFT_Int
  13943. Fxuid [16]TFT_ULong
  13944. Fcidmap_offset TFT_ULong
  13945. Ffd_bytes TFT_UInt
  13946. Fgd_bytes TFT_UInt
  13947. Fcid_count TFT_ULong
  13948. Fnum_dicts TFT_UInt
  13949. Ffont_dicts TCID_FaceDict
  13950. Fdata_offset TFT_ULong
  13951. }
  13952. type TT1_EncodingType = int32
  13953. type _T1_EncodingType_ = int32
  13954. const _T1_ENCODING_TYPE_NONE = 0
  13955. const _T1_ENCODING_TYPE_ARRAY = 1
  13956. const _T1_ENCODING_TYPE_STANDARD = 2
  13957. const _T1_ENCODING_TYPE_ISOLATIN1 = 3
  13958. const _T1_ENCODING_TYPE_EXPERT = 4
  13959. type TPS_Dict_Keys = int32
  13960. type _PS_Dict_Keys_ = int32
  13961. const _PS_DICT_FONT_TYPE = 0
  13962. const _PS_DICT_FONT_MATRIX = 1
  13963. const _PS_DICT_FONT_BBOX = 2
  13964. const _PS_DICT_PAINT_TYPE = 3
  13965. const _PS_DICT_FONT_NAME = 4
  13966. const _PS_DICT_UNIQUE_ID = 5
  13967. const _PS_DICT_NUM_CHAR_STRINGS = 6
  13968. const _PS_DICT_CHAR_STRING_KEY = 7
  13969. const _PS_DICT_CHAR_STRING = 8
  13970. const _PS_DICT_ENCODING_TYPE = 9
  13971. const _PS_DICT_ENCODING_ENTRY = 10
  13972. const _PS_DICT_NUM_SUBRS = 11
  13973. const _PS_DICT_SUBR = 12
  13974. const _PS_DICT_STD_HW = 13
  13975. const _PS_DICT_STD_VW = 14
  13976. const _PS_DICT_NUM_BLUE_VALUES = 15
  13977. const _PS_DICT_BLUE_VALUE = 16
  13978. const _PS_DICT_BLUE_FUZZ = 17
  13979. const _PS_DICT_NUM_OTHER_BLUES = 18
  13980. const _PS_DICT_OTHER_BLUE = 19
  13981. const _PS_DICT_NUM_FAMILY_BLUES = 20
  13982. const _PS_DICT_FAMILY_BLUE = 21
  13983. const _PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
  13984. const _PS_DICT_FAMILY_OTHER_BLUE = 23
  13985. const _PS_DICT_BLUE_SCALE = 24
  13986. const _PS_DICT_BLUE_SHIFT = 25
  13987. const _PS_DICT_NUM_STEM_SNAP_H = 26
  13988. const _PS_DICT_STEM_SNAP_H = 27
  13989. const _PS_DICT_NUM_STEM_SNAP_V = 28
  13990. const _PS_DICT_STEM_SNAP_V = 29
  13991. const _PS_DICT_FORCE_BOLD = 30
  13992. const _PS_DICT_RND_STEM_UP = 31
  13993. const _PS_DICT_MIN_FEATURE = 32
  13994. const _PS_DICT_LEN_IV = 33
  13995. const _PS_DICT_PASSWORD = 34
  13996. const _PS_DICT_LANGUAGE_GROUP = 35
  13997. const _PS_DICT_VERSION = 36
  13998. const _PS_DICT_NOTICE = 37
  13999. const _PS_DICT_FULL_NAME = 38
  14000. const _PS_DICT_FAMILY_NAME = 39
  14001. const _PS_DICT_WEIGHT = 40
  14002. const _PS_DICT_IS_FIXED_PITCH = 41
  14003. const _PS_DICT_UNDERLINE_POSITION = 42
  14004. const _PS_DICT_UNDERLINE_THICKNESS = 43
  14005. const _PS_DICT_FS_TYPE = 44
  14006. const _PS_DICT_ITALIC_ANGLE = 45
  14007. const _PS_DICT_MAX = 45
  14008. type TBDF_PropertyType = int32
  14009. type _BDF_PropertyType_ = int32
  14010. const _BDF_PROPERTY_TYPE_NONE = 0
  14011. const _BDF_PROPERTY_TYPE_ATOM = 1
  14012. const _BDF_PROPERTY_TYPE_INTEGER = 2
  14013. const _BDF_PROPERTY_TYPE_CARDINAL = 3
  14014. type TBDF_Property = uintptr
  14015. type TBDF_PropertyRec_ = struct {
  14016. Ftype1 TBDF_PropertyType
  14017. Fu struct {
  14018. Finteger [0]TFT_Int32
  14019. Fcardinal [0]TFT_UInt32
  14020. Fatom uintptr
  14021. }
  14022. }
  14023. type TBDF_PropertyRec = struct {
  14024. Ftype1 TBDF_PropertyType
  14025. Fu struct {
  14026. Finteger [0]TFT_Int32
  14027. Fcardinal [0]TFT_UInt32
  14028. Fatom uintptr
  14029. }
  14030. }
  14031. type TFT_Module_Interface = uintptr
  14032. type TFT_Module_Constructor = uintptr
  14033. type TFT_Module_Destructor = uintptr
  14034. type TFT_Module_Requester = uintptr
  14035. type TFT_Module_Class = struct {
  14036. Fmodule_flags TFT_ULong
  14037. Fmodule_size TFT_Long
  14038. Fmodule_name uintptr
  14039. Fmodule_version TFT_Fixed
  14040. Fmodule_requires TFT_Fixed
  14041. Fmodule_interface uintptr
  14042. Fmodule_init TFT_Module_Constructor
  14043. Fmodule_done TFT_Module_Destructor
  14044. Fget_interface TFT_Module_Requester
  14045. }
  14046. type TFT_Module_Class_ = TFT_Module_Class
  14047. type TFT_DebugHook_Func = uintptr
  14048. type TFT_TrueTypeEngineType = int32
  14049. type _FT_TrueTypeEngineType_ = int32
  14050. const _FT_TRUETYPE_ENGINE_TYPE_NONE = 0
  14051. const _FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1
  14052. const _FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2
  14053. type TFT_MM_Axis = struct {
  14054. Fname uintptr
  14055. Fminimum TFT_Long
  14056. Fmaximum TFT_Long
  14057. }
  14058. type TFT_MM_Axis_ = TFT_MM_Axis
  14059. type TFT_Multi_Master = struct {
  14060. Fnum_axis TFT_UInt
  14061. Fnum_designs TFT_UInt
  14062. Faxis [4]TFT_MM_Axis
  14063. }
  14064. type TFT_Multi_Master_ = TFT_Multi_Master
  14065. type TFT_Var_Axis = struct {
  14066. Fname uintptr
  14067. Fminimum TFT_Fixed
  14068. Fdef TFT_Fixed
  14069. Fmaximum TFT_Fixed
  14070. Ftag TFT_ULong
  14071. Fstrid TFT_UInt
  14072. }
  14073. type TFT_Var_Axis_ = TFT_Var_Axis
  14074. type TFT_Var_Named_Style = struct {
  14075. Fcoords uintptr
  14076. Fstrid TFT_UInt
  14077. Fpsid TFT_UInt
  14078. }
  14079. type TFT_Var_Named_Style_ = TFT_Var_Named_Style
  14080. type TFT_MM_Var = struct {
  14081. Fnum_axis TFT_UInt
  14082. Fnum_designs TFT_UInt
  14083. Fnum_namedstyles TFT_UInt
  14084. Faxis uintptr
  14085. Fnamedstyle uintptr
  14086. }
  14087. type TFT_MM_Var_ = TFT_MM_Var
  14088. var _FcNoticeFoundries = [18][2]uintptr{
  14089. 0: {
  14090. 0: __ccgo_ts + 3574,
  14091. 1: __ccgo_ts + 3580,
  14092. },
  14093. 1: {
  14094. 0: __ccgo_ts + 3586,
  14095. 1: __ccgo_ts + 3594,
  14096. },
  14097. 2: {
  14098. 0: __ccgo_ts + 3598,
  14099. 1: __ccgo_ts + 3608,
  14100. },
  14101. 3: {
  14102. 0: __ccgo_ts + 3618,
  14103. 1: __ccgo_ts + 3623,
  14104. },
  14105. 4: {
  14106. 0: __ccgo_ts + 3630,
  14107. 1: __ccgo_ts + 3623,
  14108. },
  14109. 5: {
  14110. 0: __ccgo_ts + 3636,
  14111. 1: __ccgo_ts + 3651,
  14112. },
  14113. 6: {
  14114. 0: __ccgo_ts + 3659,
  14115. 1: __ccgo_ts + 3666,
  14116. },
  14117. 7: {
  14118. 0: __ccgo_ts + 3671,
  14119. 1: __ccgo_ts + 3675,
  14120. },
  14121. 8: {
  14122. 0: __ccgo_ts + 3679,
  14123. 1: __ccgo_ts + 3714,
  14124. },
  14125. 9: {
  14126. 0: __ccgo_ts + 3718,
  14127. 1: __ccgo_ts + 3727,
  14128. },
  14129. 10: {
  14130. 0: __ccgo_ts + 3736,
  14131. 1: __ccgo_ts + 3727,
  14132. },
  14133. 11: {
  14134. 0: __ccgo_ts + 3750,
  14135. 1: __ccgo_ts + 3760,
  14136. },
  14137. 12: {
  14138. 0: __ccgo_ts + 3770,
  14139. 1: __ccgo_ts + 3779,
  14140. },
  14141. 13: {
  14142. 0: __ccgo_ts + 3788,
  14143. 1: __ccgo_ts + 3794,
  14144. },
  14145. 14: {
  14146. 0: __ccgo_ts + 3800,
  14147. 1: __ccgo_ts + 3815,
  14148. },
  14149. 15: {
  14150. 0: __ccgo_ts + 3820,
  14151. 1: __ccgo_ts + 3824,
  14152. },
  14153. 16: {
  14154. 0: __ccgo_ts + 3828,
  14155. 1: __ccgo_ts + 3836,
  14156. },
  14157. 17: {
  14158. 0: __ccgo_ts + 3844,
  14159. 1: __ccgo_ts + 3849,
  14160. },
  14161. }
  14162. /*
  14163. * Keep Han languages separated by eliminating languages
  14164. * that the codePageRange bits says aren't supported
  14165. */
  14166. var _FcCodePageRange = [4]struct {
  14167. Fbit uint8
  14168. Flang [6]TFcChar8
  14169. }{
  14170. 0: {
  14171. Fbit: uint8(17),
  14172. Flang: [6]TFcChar8{'j', 'a'},
  14173. },
  14174. 1: {
  14175. Fbit: uint8(18),
  14176. Flang: [6]TFcChar8{'z', 'h', '-', 'c', 'n'},
  14177. },
  14178. 2: {
  14179. Fbit: uint8(19),
  14180. Flang: [6]TFcChar8{'k', 'o'},
  14181. },
  14182. 3: {
  14183. Fbit: uint8(20),
  14184. Flang: [6]TFcChar8{'z', 'h', '-', 't', 'w'},
  14185. },
  14186. }
  14187. func XFcFreeTypeIsExclusiveLang(tls *libc.TLS, lang uintptr) (r TFcBool) {
  14188. var i int32
  14189. _ = i
  14190. i = 0
  14191. for {
  14192. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(28)/libc.Uint32FromInt64(7))) {
  14193. break
  14194. }
  14195. if XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_FcCodePageRange))+uintptr(i)*7+1) == int32(_FcLangEqual) {
  14196. return int32(m_FcTrue)
  14197. }
  14198. goto _1
  14199. _1:
  14200. ;
  14201. i++
  14202. }
  14203. return m_FcFalse
  14204. }
  14205. type TFcFtEncoding = struct {
  14206. Fplatform_id TFT_UShort
  14207. Fencoding_id TFT_UShort
  14208. Ffromcode [12]uint8
  14209. }
  14210. var _fcFtEncoding = [14]TFcFtEncoding{
  14211. 0: {
  14212. Fencoding_id: uint16(m_TT_ENCODING_DONT_CARE),
  14213. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14214. },
  14215. 1: {
  14216. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14217. Ffromcode: [12]uint8{'M', 'A', 'C', 'I', 'N', 'T', 'O', 'S', 'H'},
  14218. },
  14219. 2: {
  14220. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14221. Fencoding_id: uint16(m_TT_MAC_ID_JAPANESE),
  14222. Ffromcode: [12]uint8{'S', 'J', 'I', 'S'},
  14223. },
  14224. 3: {
  14225. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14226. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14227. },
  14228. 4: {
  14229. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14230. Fencoding_id: uint16(m_TT_MS_ID_UNICODE_CS),
  14231. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14232. },
  14233. 5: {
  14234. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14235. Fencoding_id: uint16(m_TT_MS_ID_SJIS),
  14236. Ffromcode: [12]uint8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  14237. },
  14238. 6: {
  14239. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14240. Fencoding_id: uint16(m_TT_MS_ID_PRC),
  14241. Ffromcode: [12]uint8{'G', 'B', '2', '3', '1', '2'},
  14242. },
  14243. 7: {
  14244. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14245. Fencoding_id: uint16(m_TT_MS_ID_BIG_5),
  14246. Ffromcode: [12]uint8{'B', 'I', 'G', '-', '5'},
  14247. },
  14248. 8: {
  14249. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14250. Fencoding_id: uint16(m_TT_MS_ID_WANSUNG),
  14251. Ffromcode: [12]uint8{'W', 'a', 'n', 's', 'u', 'n', 'g'},
  14252. },
  14253. 9: {
  14254. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14255. Fencoding_id: uint16(m_TT_MS_ID_JOHAB),
  14256. Ffromcode: [12]uint8{'J', 'o', 'h', 'a', 'b'},
  14257. },
  14258. 10: {
  14259. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14260. Fencoding_id: uint16(m_TT_MS_ID_UCS_4),
  14261. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14262. },
  14263. 11: {
  14264. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14265. Ffromcode: [12]uint8{'A', 'S', 'C', 'I', 'I'},
  14266. },
  14267. 12: {
  14268. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14269. Fencoding_id: uint16(m_TT_ISO_ID_10646),
  14270. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14271. },
  14272. 13: {
  14273. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14274. Fencoding_id: uint16(m_TT_ISO_ID_8859_1),
  14275. Ffromcode: [12]uint8{'I', 'S', 'O', '-', '8', '8', '5', '9', '-', '1'},
  14276. },
  14277. }
  14278. type TFcFtLanguage = struct {
  14279. Fplatform_id TFT_UShort
  14280. Flanguage_id TFT_UShort
  14281. Flang [8]uint8
  14282. }
  14283. var _fcFtLanguage = [335]TFcFtLanguage{
  14284. 0: {
  14285. Flanguage_id: uint16(m_TT_LANGUAGE_DONT_CARE),
  14286. Flang: [8]uint8{},
  14287. },
  14288. 1: {
  14289. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14290. Flang: [8]uint8{'e', 'n'},
  14291. },
  14292. 2: {
  14293. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14294. Flanguage_id: uint16(m_TT_MAC_LANGID_FRENCH),
  14295. Flang: [8]uint8{'f', 'r'},
  14296. },
  14297. 3: {
  14298. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14299. Flanguage_id: uint16(m_TT_MAC_LANGID_GERMAN),
  14300. Flang: [8]uint8{'d', 'e'},
  14301. },
  14302. 4: {
  14303. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14304. Flanguage_id: uint16(m_TT_MAC_LANGID_ITALIAN),
  14305. Flang: [8]uint8{'i', 't'},
  14306. },
  14307. 5: {
  14308. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14309. Flanguage_id: uint16(m_TT_MAC_LANGID_DUTCH),
  14310. Flang: [8]uint8{'n', 'l'},
  14311. },
  14312. 6: {
  14313. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14314. Flanguage_id: uint16(m_TT_MAC_LANGID_SWEDISH),
  14315. Flang: [8]uint8{'s', 'v'},
  14316. },
  14317. 7: {
  14318. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14319. Flanguage_id: uint16(m_TT_MAC_LANGID_SPANISH),
  14320. Flang: [8]uint8{'e', 's'},
  14321. },
  14322. 8: {
  14323. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14324. Flanguage_id: uint16(m_TT_MAC_LANGID_DANISH),
  14325. Flang: [8]uint8{'d', 'a'},
  14326. },
  14327. 9: {
  14328. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14329. Flanguage_id: uint16(m_TT_MAC_LANGID_PORTUGUESE),
  14330. Flang: [8]uint8{'p', 't'},
  14331. },
  14332. 10: {
  14333. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14334. Flanguage_id: uint16(m_TT_MAC_LANGID_NORWEGIAN),
  14335. Flang: [8]uint8{'n', 'o'},
  14336. },
  14337. 11: {
  14338. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14339. Flanguage_id: uint16(m_TT_MAC_LANGID_HEBREW),
  14340. Flang: [8]uint8{'h', 'e'},
  14341. },
  14342. 12: {
  14343. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14344. Flanguage_id: uint16(m_TT_MAC_LANGID_JAPANESE),
  14345. Flang: [8]uint8{'j', 'a'},
  14346. },
  14347. 13: {
  14348. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14349. Flanguage_id: uint16(m_TT_MAC_LANGID_ARABIC),
  14350. Flang: [8]uint8{'a', 'r'},
  14351. },
  14352. 14: {
  14353. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14354. Flanguage_id: uint16(m_TT_MAC_LANGID_FINNISH),
  14355. Flang: [8]uint8{'f', 'i'},
  14356. },
  14357. 15: {
  14358. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14359. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK),
  14360. Flang: [8]uint8{'e', 'l'},
  14361. },
  14362. 16: {
  14363. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14364. Flanguage_id: uint16(m_TT_MAC_LANGID_ICELANDIC),
  14365. Flang: [8]uint8{'i', 's'},
  14366. },
  14367. 17: {
  14368. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14369. Flanguage_id: uint16(m_TT_MAC_LANGID_MALTESE),
  14370. Flang: [8]uint8{'m', 't'},
  14371. },
  14372. 18: {
  14373. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14374. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKISH),
  14375. Flang: [8]uint8{'t', 'r'},
  14376. },
  14377. 19: {
  14378. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14379. Flanguage_id: uint16(m_TT_MAC_LANGID_CROATIAN),
  14380. Flang: [8]uint8{'h', 'r'},
  14381. },
  14382. 20: {
  14383. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14384. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_TRADITIONAL),
  14385. Flang: [8]uint8{'z', 'h', '-', 't', 'w'},
  14386. },
  14387. 21: {
  14388. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14389. Flanguage_id: uint16(m_TT_MAC_LANGID_URDU),
  14390. Flang: [8]uint8{'u', 'r'},
  14391. },
  14392. 22: {
  14393. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14394. Flanguage_id: uint16(m_TT_MAC_LANGID_HINDI),
  14395. Flang: [8]uint8{'h', 'i'},
  14396. },
  14397. 23: {
  14398. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14399. Flanguage_id: uint16(m_TT_MAC_LANGID_THAI),
  14400. Flang: [8]uint8{'t', 'h'},
  14401. },
  14402. 24: {
  14403. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14404. Flanguage_id: uint16(m_TT_MAC_LANGID_KOREAN),
  14405. Flang: [8]uint8{'k', 'o'},
  14406. },
  14407. 25: {
  14408. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14409. Flanguage_id: uint16(m_TT_MAC_LANGID_LITHUANIAN),
  14410. Flang: [8]uint8{'l', 't'},
  14411. },
  14412. 26: {
  14413. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14414. Flanguage_id: uint16(m_TT_MAC_LANGID_POLISH),
  14415. Flang: [8]uint8{'p', 'l'},
  14416. },
  14417. 27: {
  14418. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14419. Flanguage_id: uint16(m_TT_MAC_LANGID_HUNGARIAN),
  14420. Flang: [8]uint8{'h', 'u'},
  14421. },
  14422. 28: {
  14423. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14424. Flanguage_id: uint16(m_TT_MAC_LANGID_ESTONIAN),
  14425. Flang: [8]uint8{'e', 't'},
  14426. },
  14427. 29: {
  14428. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14429. Flanguage_id: uint16(m_TT_MAC_LANGID_LETTISH),
  14430. Flang: [8]uint8{'l', 'v'},
  14431. },
  14432. 30: {
  14433. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14434. Flanguage_id: uint16(m_TT_MAC_LANGID_FAEROESE),
  14435. Flang: [8]uint8{'f', 'o'},
  14436. },
  14437. 31: {
  14438. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14439. Flanguage_id: uint16(m_TT_MAC_LANGID_FARSI),
  14440. Flang: [8]uint8{'f', 'a'},
  14441. },
  14442. 32: {
  14443. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14444. Flanguage_id: uint16(m_TT_MAC_LANGID_RUSSIAN),
  14445. Flang: [8]uint8{'r', 'u'},
  14446. },
  14447. 33: {
  14448. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14449. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_SIMPLIFIED),
  14450. Flang: [8]uint8{'z', 'h', '-', 'c', 'n'},
  14451. },
  14452. 34: {
  14453. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14454. Flanguage_id: uint16(m_TT_MAC_LANGID_FLEMISH),
  14455. Flang: [8]uint8{'n', 'l'},
  14456. },
  14457. 35: {
  14458. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14459. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH),
  14460. Flang: [8]uint8{'g', 'a'},
  14461. },
  14462. 36: {
  14463. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14464. Flanguage_id: uint16(m_TT_MAC_LANGID_ALBANIAN),
  14465. Flang: [8]uint8{'s', 'q'},
  14466. },
  14467. 37: {
  14468. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14469. Flanguage_id: uint16(m_TT_MAC_LANGID_ROMANIAN),
  14470. Flang: [8]uint8{'r', 'o'},
  14471. },
  14472. 38: {
  14473. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14474. Flanguage_id: uint16(m_TT_MAC_LANGID_CZECH),
  14475. Flang: [8]uint8{'c', 's'},
  14476. },
  14477. 39: {
  14478. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14479. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVAK),
  14480. Flang: [8]uint8{'s', 'k'},
  14481. },
  14482. 40: {
  14483. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14484. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVENIAN),
  14485. Flang: [8]uint8{'s', 'l'},
  14486. },
  14487. 41: {
  14488. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14489. Flanguage_id: uint16(m_TT_MAC_LANGID_YIDDISH),
  14490. Flang: [8]uint8{'y', 'i'},
  14491. },
  14492. 42: {
  14493. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14494. Flanguage_id: uint16(m_TT_MAC_LANGID_SERBIAN),
  14495. Flang: [8]uint8{'s', 'r'},
  14496. },
  14497. 43: {
  14498. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14499. Flanguage_id: uint16(m_TT_MAC_LANGID_MACEDONIAN),
  14500. Flang: [8]uint8{'m', 'k'},
  14501. },
  14502. 44: {
  14503. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14504. Flanguage_id: uint16(m_TT_MAC_LANGID_BULGARIAN),
  14505. Flang: [8]uint8{'b', 'g'},
  14506. },
  14507. 45: {
  14508. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14509. Flanguage_id: uint16(m_TT_MAC_LANGID_UKRAINIAN),
  14510. Flang: [8]uint8{'u', 'k'},
  14511. },
  14512. 46: {
  14513. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14514. Flanguage_id: uint16(m_TT_MAC_LANGID_BYELORUSSIAN),
  14515. Flang: [8]uint8{'b', 'e'},
  14516. },
  14517. 47: {
  14518. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14519. Flanguage_id: uint16(m_TT_MAC_LANGID_UZBEK),
  14520. Flang: [8]uint8{'u', 'z'},
  14521. },
  14522. 48: {
  14523. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14524. Flanguage_id: uint16(m_TT_MAC_LANGID_KAZAKH),
  14525. Flang: [8]uint8{'k', 'k'},
  14526. },
  14527. 49: {
  14528. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14529. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI),
  14530. Flang: [8]uint8{'a', 'z'},
  14531. },
  14532. 50: {
  14533. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14534. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT),
  14535. Flang: [8]uint8{'a', 'z'},
  14536. },
  14537. 51: {
  14538. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14539. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT),
  14540. Flang: [8]uint8{'a', 'r'},
  14541. },
  14542. 52: {
  14543. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14544. Flanguage_id: uint16(m_TT_MAC_LANGID_ARMENIAN),
  14545. Flang: [8]uint8{'h', 'y'},
  14546. },
  14547. 53: {
  14548. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14549. Flanguage_id: uint16(m_TT_MAC_LANGID_GEORGIAN),
  14550. Flang: [8]uint8{'k', 'a'},
  14551. },
  14552. 54: {
  14553. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14554. Flanguage_id: uint16(m_TT_MAC_LANGID_MOLDAVIAN),
  14555. Flang: [8]uint8{'m', 'o'},
  14556. },
  14557. 55: {
  14558. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14559. Flanguage_id: uint16(m_TT_MAC_LANGID_KIRGHIZ),
  14560. Flang: [8]uint8{'k', 'y'},
  14561. },
  14562. 56: {
  14563. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14564. Flanguage_id: uint16(m_TT_MAC_LANGID_TAJIKI),
  14565. Flang: [8]uint8{'t', 'g'},
  14566. },
  14567. 57: {
  14568. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14569. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKMEN),
  14570. Flang: [8]uint8{'t', 'k'},
  14571. },
  14572. 58: {
  14573. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14574. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN),
  14575. Flang: [8]uint8{'m', 'n'},
  14576. },
  14577. 59: {
  14578. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14579. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT),
  14580. Flang: [8]uint8{'m', 'n'},
  14581. },
  14582. 60: {
  14583. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14584. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT),
  14585. Flang: [8]uint8{'m', 'n'},
  14586. },
  14587. 61: {
  14588. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14589. Flanguage_id: uint16(m_TT_MAC_LANGID_PASHTO),
  14590. Flang: [8]uint8{'p', 's'},
  14591. },
  14592. 62: {
  14593. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14594. Flanguage_id: uint16(m_TT_MAC_LANGID_KURDISH),
  14595. Flang: [8]uint8{'k', 'u'},
  14596. },
  14597. 63: {
  14598. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14599. Flanguage_id: uint16(m_TT_MAC_LANGID_KASHMIRI),
  14600. Flang: [8]uint8{'k', 's'},
  14601. },
  14602. 64: {
  14603. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14604. Flanguage_id: uint16(m_TT_MAC_LANGID_SINDHI),
  14605. Flang: [8]uint8{'s', 'd'},
  14606. },
  14607. 65: {
  14608. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14609. Flanguage_id: uint16(m_TT_MAC_LANGID_TIBETAN),
  14610. Flang: [8]uint8{'b', 'o'},
  14611. },
  14612. 66: {
  14613. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14614. Flanguage_id: uint16(m_TT_MAC_LANGID_NEPALI),
  14615. Flang: [8]uint8{'n', 'e'},
  14616. },
  14617. 67: {
  14618. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14619. Flanguage_id: uint16(m_TT_MAC_LANGID_SANSKRIT),
  14620. Flang: [8]uint8{'s', 'a'},
  14621. },
  14622. 68: {
  14623. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14624. Flanguage_id: uint16(m_TT_MAC_LANGID_MARATHI),
  14625. Flang: [8]uint8{'m', 'r'},
  14626. },
  14627. 69: {
  14628. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14629. Flanguage_id: uint16(m_TT_MAC_LANGID_BENGALI),
  14630. Flang: [8]uint8{'b', 'n'},
  14631. },
  14632. 70: {
  14633. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14634. Flanguage_id: uint16(m_TT_MAC_LANGID_ASSAMESE),
  14635. Flang: [8]uint8{'a', 's'},
  14636. },
  14637. 71: {
  14638. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14639. Flanguage_id: uint16(m_TT_MAC_LANGID_GUJARATI),
  14640. Flang: [8]uint8{'g', 'u'},
  14641. },
  14642. 72: {
  14643. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14644. Flanguage_id: uint16(m_TT_MAC_LANGID_PUNJABI),
  14645. Flang: [8]uint8{'p', 'a'},
  14646. },
  14647. 73: {
  14648. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14649. Flanguage_id: uint16(m_TT_MAC_LANGID_ORIYA),
  14650. Flang: [8]uint8{'o', 'r'},
  14651. },
  14652. 74: {
  14653. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14654. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAYALAM),
  14655. Flang: [8]uint8{'m', 'l'},
  14656. },
  14657. 75: {
  14658. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14659. Flanguage_id: uint16(m_TT_MAC_LANGID_KANNADA),
  14660. Flang: [8]uint8{'k', 'n'},
  14661. },
  14662. 76: {
  14663. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14664. Flanguage_id: uint16(m_TT_MAC_LANGID_TAMIL),
  14665. Flang: [8]uint8{'t', 'a'},
  14666. },
  14667. 77: {
  14668. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14669. Flanguage_id: uint16(m_TT_MAC_LANGID_TELUGU),
  14670. Flang: [8]uint8{'t', 'e'},
  14671. },
  14672. 78: {
  14673. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14674. Flanguage_id: uint16(m_TT_MAC_LANGID_SINHALESE),
  14675. Flang: [8]uint8{'s', 'i'},
  14676. },
  14677. 79: {
  14678. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14679. Flanguage_id: uint16(m_TT_MAC_LANGID_BURMESE),
  14680. Flang: [8]uint8{'m', 'y'},
  14681. },
  14682. 80: {
  14683. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14684. Flanguage_id: uint16(m_TT_MAC_LANGID_KHMER),
  14685. Flang: [8]uint8{'k', 'm'},
  14686. },
  14687. 81: {
  14688. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14689. Flanguage_id: uint16(m_TT_MAC_LANGID_LAO),
  14690. Flang: [8]uint8{'l', 'o'},
  14691. },
  14692. 82: {
  14693. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14694. Flanguage_id: uint16(m_TT_MAC_LANGID_VIETNAMESE),
  14695. Flang: [8]uint8{'v', 'i'},
  14696. },
  14697. 83: {
  14698. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14699. Flanguage_id: uint16(m_TT_MAC_LANGID_INDONESIAN),
  14700. Flang: [8]uint8{'i', 'd'},
  14701. },
  14702. 84: {
  14703. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14704. Flanguage_id: uint16(m_TT_MAC_LANGID_TAGALOG),
  14705. Flang: [8]uint8{'t', 'l'},
  14706. },
  14707. 85: {
  14708. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14709. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT),
  14710. Flang: [8]uint8{'m', 's'},
  14711. },
  14712. 86: {
  14713. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14714. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT),
  14715. Flang: [8]uint8{'m', 's'},
  14716. },
  14717. 87: {
  14718. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14719. Flanguage_id: uint16(m_TT_MAC_LANGID_AMHARIC),
  14720. Flang: [8]uint8{'a', 'm'},
  14721. },
  14722. 88: {
  14723. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14724. Flanguage_id: uint16(m_TT_MAC_LANGID_TIGRINYA),
  14725. Flang: [8]uint8{'t', 'i'},
  14726. },
  14727. 89: {
  14728. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14729. Flanguage_id: uint16(m_TT_MAC_LANGID_GALLA),
  14730. Flang: [8]uint8{'o', 'm'},
  14731. },
  14732. 90: {
  14733. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14734. Flanguage_id: uint16(m_TT_MAC_LANGID_SOMALI),
  14735. Flang: [8]uint8{'s', 'o'},
  14736. },
  14737. 91: {
  14738. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14739. Flanguage_id: uint16(m_TT_MAC_LANGID_SWAHILI),
  14740. Flang: [8]uint8{'s', 'w'},
  14741. },
  14742. 92: {
  14743. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14744. Flanguage_id: uint16(m_TT_MAC_LANGID_RUANDA),
  14745. Flang: [8]uint8{'r', 'w'},
  14746. },
  14747. 93: {
  14748. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14749. Flanguage_id: uint16(m_TT_MAC_LANGID_RUNDI),
  14750. Flang: [8]uint8{'r', 'n'},
  14751. },
  14752. 94: {
  14753. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14754. Flanguage_id: uint16(m_TT_MAC_LANGID_CHEWA),
  14755. Flang: [8]uint8{'n', 'y'},
  14756. },
  14757. 95: {
  14758. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14759. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAGASY),
  14760. Flang: [8]uint8{'m', 'g'},
  14761. },
  14762. 96: {
  14763. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14764. Flanguage_id: uint16(m_TT_MAC_LANGID_ESPERANTO),
  14765. Flang: [8]uint8{'e', 'o'},
  14766. },
  14767. 97: {
  14768. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14769. Flanguage_id: uint16(m_TT_MAC_LANGID_WELSH),
  14770. Flang: [8]uint8{'c', 'y'},
  14771. },
  14772. 98: {
  14773. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14774. Flanguage_id: uint16(m_TT_MAC_LANGID_BASQUE),
  14775. Flang: [8]uint8{'e', 'u'},
  14776. },
  14777. 99: {
  14778. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14779. Flanguage_id: uint16(m_TT_MAC_LANGID_CATALAN),
  14780. Flang: [8]uint8{'c', 'a'},
  14781. },
  14782. 100: {
  14783. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14784. Flanguage_id: uint16(m_TT_MAC_LANGID_LATIN),
  14785. Flang: [8]uint8{'l', 'a'},
  14786. },
  14787. 101: {
  14788. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14789. Flanguage_id: uint16(m_TT_MAC_LANGID_QUECHUA),
  14790. Flang: [8]uint8{'q', 'u'},
  14791. },
  14792. 102: {
  14793. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14794. Flanguage_id: uint16(m_TT_MAC_LANGID_GUARANI),
  14795. Flang: [8]uint8{'g', 'n'},
  14796. },
  14797. 103: {
  14798. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14799. Flanguage_id: uint16(m_TT_MAC_LANGID_AYMARA),
  14800. Flang: [8]uint8{'a', 'y'},
  14801. },
  14802. 104: {
  14803. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14804. Flanguage_id: uint16(m_TT_MAC_LANGID_TATAR),
  14805. Flang: [8]uint8{'t', 't'},
  14806. },
  14807. 105: {
  14808. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14809. Flanguage_id: uint16(m_TT_MAC_LANGID_UIGHUR),
  14810. Flang: [8]uint8{'u', 'g'},
  14811. },
  14812. 106: {
  14813. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14814. Flanguage_id: uint16(m_TT_MAC_LANGID_DZONGKHA),
  14815. Flang: [8]uint8{'d', 'z'},
  14816. },
  14817. 107: {
  14818. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14819. Flanguage_id: uint16(m_TT_MAC_LANGID_JAVANESE),
  14820. Flang: [8]uint8{'j', 'w'},
  14821. },
  14822. 108: {
  14823. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14824. Flanguage_id: uint16(m_TT_MAC_LANGID_SUNDANESE),
  14825. Flang: [8]uint8{'s', 'u'},
  14826. },
  14827. 109: {
  14828. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14829. Flanguage_id: uint16(m_TT_MAC_LANGID_GALICIAN),
  14830. Flang: [8]uint8{'g', 'l'},
  14831. },
  14832. 110: {
  14833. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14834. Flanguage_id: uint16(m_TT_MAC_LANGID_AFRIKAANS),
  14835. Flang: [8]uint8{'a', 'f'},
  14836. },
  14837. 111: {
  14838. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14839. Flanguage_id: uint16(m_TT_MAC_LANGID_BRETON),
  14840. Flang: [8]uint8{'b', 'r'},
  14841. },
  14842. 112: {
  14843. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14844. Flanguage_id: uint16(m_TT_MAC_LANGID_INUKTITUT),
  14845. Flang: [8]uint8{'i', 'u'},
  14846. },
  14847. 113: {
  14848. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14849. Flanguage_id: uint16(m_TT_MAC_LANGID_SCOTTISH_GAELIC),
  14850. Flang: [8]uint8{'g', 'd'},
  14851. },
  14852. 114: {
  14853. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14854. Flanguage_id: uint16(m_TT_MAC_LANGID_MANX_GAELIC),
  14855. Flang: [8]uint8{'g', 'v'},
  14856. },
  14857. 115: {
  14858. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14859. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH_GAELIC),
  14860. Flang: [8]uint8{'g', 'a'},
  14861. },
  14862. 116: {
  14863. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14864. Flanguage_id: uint16(m_TT_MAC_LANGID_TONGAN),
  14865. Flang: [8]uint8{'t', 'o'},
  14866. },
  14867. 117: {
  14868. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14869. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK_POLYTONIC),
  14870. Flang: [8]uint8{'e', 'l'},
  14871. },
  14872. 118: {
  14873. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14874. Flanguage_id: uint16(m_TT_MAC_LANGID_GREELANDIC),
  14875. Flang: [8]uint8{'i', 'k'},
  14876. },
  14877. 119: {
  14878. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14879. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT),
  14880. Flang: [8]uint8{'a', 'z'},
  14881. },
  14882. 120: {
  14883. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14884. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA),
  14885. Flang: [8]uint8{'a', 'r'},
  14886. },
  14887. 121: {
  14888. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14889. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_IRAQ),
  14890. Flang: [8]uint8{'a', 'r'},
  14891. },
  14892. 122: {
  14893. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14894. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_EGYPT),
  14895. Flang: [8]uint8{'a', 'r'},
  14896. },
  14897. 123: {
  14898. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14899. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LIBYA),
  14900. Flang: [8]uint8{'a', 'r'},
  14901. },
  14902. 124: {
  14903. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14904. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_ALGERIA),
  14905. Flang: [8]uint8{'a', 'r'},
  14906. },
  14907. 125: {
  14908. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14909. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_MOROCCO),
  14910. Flang: [8]uint8{'a', 'r'},
  14911. },
  14912. 126: {
  14913. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14914. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_TUNISIA),
  14915. Flang: [8]uint8{'a', 'r'},
  14916. },
  14917. 127: {
  14918. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14919. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_OMAN),
  14920. Flang: [8]uint8{'a', 'r'},
  14921. },
  14922. 128: {
  14923. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14924. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_YEMEN),
  14925. Flang: [8]uint8{'a', 'r'},
  14926. },
  14927. 129: {
  14928. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14929. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SYRIA),
  14930. Flang: [8]uint8{'a', 'r'},
  14931. },
  14932. 130: {
  14933. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14934. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_JORDAN),
  14935. Flang: [8]uint8{'a', 'r'},
  14936. },
  14937. 131: {
  14938. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14939. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LEBANON),
  14940. Flang: [8]uint8{'a', 'r'},
  14941. },
  14942. 132: {
  14943. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14944. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_KUWAIT),
  14945. Flang: [8]uint8{'a', 'r'},
  14946. },
  14947. 133: {
  14948. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14949. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_UAE),
  14950. Flang: [8]uint8{'a', 'r'},
  14951. },
  14952. 134: {
  14953. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14954. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_BAHRAIN),
  14955. Flang: [8]uint8{'a', 'r'},
  14956. },
  14957. 135: {
  14958. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14959. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_QATAR),
  14960. Flang: [8]uint8{'a', 'r'},
  14961. },
  14962. 136: {
  14963. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14964. Flanguage_id: uint16(m_TT_MS_LANGID_BULGARIAN_BULGARIA),
  14965. Flang: [8]uint8{'b', 'g'},
  14966. },
  14967. 137: {
  14968. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14969. Flanguage_id: uint16(m_TT_MS_LANGID_CATALAN_CATALAN),
  14970. Flang: [8]uint8{'c', 'a'},
  14971. },
  14972. 138: {
  14973. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14974. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_TAIWAN),
  14975. Flang: [8]uint8{'z', 'h', '-', 't', 'w'},
  14976. },
  14977. 139: {
  14978. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14979. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_PRC),
  14980. Flang: [8]uint8{'z', 'h', '-', 'c', 'n'},
  14981. },
  14982. 140: {
  14983. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14984. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_HONG_KONG),
  14985. Flang: [8]uint8{'z', 'h', '-', 'h', 'k'},
  14986. },
  14987. 141: {
  14988. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14989. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_SINGAPORE),
  14990. Flang: [8]uint8{'z', 'h', '-', 's', 'g'},
  14991. },
  14992. 142: {
  14993. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14994. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_MACAO),
  14995. Flang: [8]uint8{'z', 'h', '-', 'm', 'o'},
  14996. },
  14997. 143: {
  14998. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14999. Flanguage_id: uint16(m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC),
  15000. Flang: [8]uint8{'c', 's'},
  15001. },
  15002. 144: {
  15003. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15004. Flanguage_id: uint16(m_TT_MS_LANGID_DANISH_DENMARK),
  15005. Flang: [8]uint8{'d', 'a'},
  15006. },
  15007. 145: {
  15008. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15009. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_GERMANY),
  15010. Flang: [8]uint8{'d', 'e'},
  15011. },
  15012. 146: {
  15013. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15014. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_SWITZERLAND),
  15015. Flang: [8]uint8{'d', 'e'},
  15016. },
  15017. 147: {
  15018. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15019. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_AUSTRIA),
  15020. Flang: [8]uint8{'d', 'e'},
  15021. },
  15022. 148: {
  15023. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15024. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LUXEMBOURG),
  15025. Flang: [8]uint8{'d', 'e'},
  15026. },
  15027. 149: {
  15028. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15029. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN),
  15030. Flang: [8]uint8{'d', 'e'},
  15031. },
  15032. 150: {
  15033. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15034. Flanguage_id: uint16(m_TT_MS_LANGID_GREEK_GREECE),
  15035. Flang: [8]uint8{'e', 'l'},
  15036. },
  15037. 151: {
  15038. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15039. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  15040. Flang: [8]uint8{'e', 'n'},
  15041. },
  15042. 152: {
  15043. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15044. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM),
  15045. Flang: [8]uint8{'e', 'n'},
  15046. },
  15047. 153: {
  15048. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15049. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_AUSTRALIA),
  15050. Flang: [8]uint8{'e', 'n'},
  15051. },
  15052. 154: {
  15053. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15054. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CANADA),
  15055. Flang: [8]uint8{'e', 'n'},
  15056. },
  15057. 155: {
  15058. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15059. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND),
  15060. Flang: [8]uint8{'e', 'n'},
  15061. },
  15062. 156: {
  15063. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15064. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_IRELAND),
  15065. Flang: [8]uint8{'e', 'n'},
  15066. },
  15067. 157: {
  15068. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15069. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA),
  15070. Flang: [8]uint8{'e', 'n'},
  15071. },
  15072. 158: {
  15073. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15074. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_JAMAICA),
  15075. Flang: [8]uint8{'e', 'n'},
  15076. },
  15077. 159: {
  15078. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15079. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CARIBBEAN),
  15080. Flang: [8]uint8{'e', 'n'},
  15081. },
  15082. 160: {
  15083. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15084. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_BELIZE),
  15085. Flang: [8]uint8{'e', 'n'},
  15086. },
  15087. 161: {
  15088. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15089. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_TRINIDAD),
  15090. Flang: [8]uint8{'e', 'n'},
  15091. },
  15092. 162: {
  15093. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15094. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_ZIMBABWE),
  15095. Flang: [8]uint8{'e', 'n'},
  15096. },
  15097. 163: {
  15098. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15099. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_PHILIPPINES),
  15100. Flang: [8]uint8{'e', 'n'},
  15101. },
  15102. 164: {
  15103. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15104. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT),
  15105. Flang: [8]uint8{'e', 's'},
  15106. },
  15107. 165: {
  15108. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15109. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_MEXICO),
  15110. Flang: [8]uint8{'e', 's'},
  15111. },
  15112. 166: {
  15113. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15114. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT),
  15115. Flang: [8]uint8{'e', 's'},
  15116. },
  15117. 167: {
  15118. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15119. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_GUATEMALA),
  15120. Flang: [8]uint8{'e', 's'},
  15121. },
  15122. 168: {
  15123. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15124. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COSTA_RICA),
  15125. Flang: [8]uint8{'e', 's'},
  15126. },
  15127. 169: {
  15128. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15129. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PANAMA),
  15130. Flang: [8]uint8{'e', 's'},
  15131. },
  15132. 170: {
  15133. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15134. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC),
  15135. Flang: [8]uint8{'e', 's'},
  15136. },
  15137. 171: {
  15138. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15139. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_VENEZUELA),
  15140. Flang: [8]uint8{'e', 's'},
  15141. },
  15142. 172: {
  15143. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15144. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COLOMBIA),
  15145. Flang: [8]uint8{'e', 's'},
  15146. },
  15147. 173: {
  15148. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15149. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PERU),
  15150. Flang: [8]uint8{'e', 's'},
  15151. },
  15152. 174: {
  15153. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15154. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ARGENTINA),
  15155. Flang: [8]uint8{'e', 's'},
  15156. },
  15157. 175: {
  15158. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15159. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ECUADOR),
  15160. Flang: [8]uint8{'e', 's'},
  15161. },
  15162. 176: {
  15163. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15164. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_CHILE),
  15165. Flang: [8]uint8{'e', 's'},
  15166. },
  15167. 177: {
  15168. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15169. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_URUGUAY),
  15170. Flang: [8]uint8{'e', 's'},
  15171. },
  15172. 178: {
  15173. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15174. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PARAGUAY),
  15175. Flang: [8]uint8{'e', 's'},
  15176. },
  15177. 179: {
  15178. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15179. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_BOLIVIA),
  15180. Flang: [8]uint8{'e', 's'},
  15181. },
  15182. 180: {
  15183. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15184. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_EL_SALVADOR),
  15185. Flang: [8]uint8{'e', 's'},
  15186. },
  15187. 181: {
  15188. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15189. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_HONDURAS),
  15190. Flang: [8]uint8{'e', 's'},
  15191. },
  15192. 182: {
  15193. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15194. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_NICARAGUA),
  15195. Flang: [8]uint8{'e', 's'},
  15196. },
  15197. 183: {
  15198. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15199. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PUERTO_RICO),
  15200. Flang: [8]uint8{'e', 's'},
  15201. },
  15202. 184: {
  15203. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15204. Flanguage_id: uint16(m_TT_MS_LANGID_FINNISH_FINLAND),
  15205. Flang: [8]uint8{'f', 'i'},
  15206. },
  15207. 185: {
  15208. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15209. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_FRANCE),
  15210. Flang: [8]uint8{'f', 'r'},
  15211. },
  15212. 186: {
  15213. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15214. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_BELGIUM),
  15215. Flang: [8]uint8{'f', 'r'},
  15216. },
  15217. 187: {
  15218. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15219. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CANADA),
  15220. Flang: [8]uint8{'f', 'r'},
  15221. },
  15222. 188: {
  15223. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15224. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SWITZERLAND),
  15225. Flang: [8]uint8{'f', 'r'},
  15226. },
  15227. 189: {
  15228. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15229. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_LUXEMBOURG),
  15230. Flang: [8]uint8{'f', 'r'},
  15231. },
  15232. 190: {
  15233. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15234. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MONACO),
  15235. Flang: [8]uint8{'f', 'r'},
  15236. },
  15237. 191: {
  15238. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15239. Flanguage_id: uint16(m_TT_MS_LANGID_HEBREW_ISRAEL),
  15240. Flang: [8]uint8{'h', 'e'},
  15241. },
  15242. 192: {
  15243. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15244. Flanguage_id: uint16(m_TT_MS_LANGID_HUNGARIAN_HUNGARY),
  15245. Flang: [8]uint8{'h', 'u'},
  15246. },
  15247. 193: {
  15248. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15249. Flanguage_id: uint16(m_TT_MS_LANGID_ICELANDIC_ICELAND),
  15250. Flang: [8]uint8{'i', 's'},
  15251. },
  15252. 194: {
  15253. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15254. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_ITALY),
  15255. Flang: [8]uint8{'i', 't'},
  15256. },
  15257. 195: {
  15258. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15259. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_SWITZERLAND),
  15260. Flang: [8]uint8{'i', 't'},
  15261. },
  15262. 196: {
  15263. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15264. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  15265. Flang: [8]uint8{'j', 'a'},
  15266. },
  15267. 197: {
  15268. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15269. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_KOREA),
  15270. Flang: [8]uint8{'k', 'o'},
  15271. },
  15272. 198: {
  15273. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15274. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_JOHAB_KOREA),
  15275. Flang: [8]uint8{'k', 'o'},
  15276. },
  15277. 199: {
  15278. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15279. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_NETHERLANDS),
  15280. Flang: [8]uint8{'n', 'l'},
  15281. },
  15282. 200: {
  15283. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15284. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_BELGIUM),
  15285. Flang: [8]uint8{'n', 'l'},
  15286. },
  15287. 201: {
  15288. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15289. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL),
  15290. Flang: [8]uint8{'n', 'o'},
  15291. },
  15292. 202: {
  15293. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15294. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK),
  15295. Flang: [8]uint8{'n', 'n'},
  15296. },
  15297. 203: {
  15298. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15299. Flanguage_id: uint16(m_TT_MS_LANGID_POLISH_POLAND),
  15300. Flang: [8]uint8{'p', 'l'},
  15301. },
  15302. 204: {
  15303. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15304. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_BRAZIL),
  15305. Flang: [8]uint8{'p', 't'},
  15306. },
  15307. 205: {
  15308. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15309. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_PORTUGAL),
  15310. Flang: [8]uint8{'p', 't'},
  15311. },
  15312. 206: {
  15313. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15314. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANSH_SWITZERLAND),
  15315. Flang: [8]uint8{'r', 'm'},
  15316. },
  15317. 207: {
  15318. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15319. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANIAN_ROMANIA),
  15320. Flang: [8]uint8{'r', 'o'},
  15321. },
  15322. 208: {
  15323. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15324. Flanguage_id: uint16(m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA),
  15325. Flang: [8]uint8{'m', 'o'},
  15326. },
  15327. 209: {
  15328. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15329. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_RUSSIA),
  15330. Flang: [8]uint8{'r', 'u'},
  15331. },
  15332. 210: {
  15333. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15334. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_MOLDAVIA),
  15335. Flang: [8]uint8{'r', 'u'},
  15336. },
  15337. 211: {
  15338. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15339. Flanguage_id: uint16(m_TT_MS_LANGID_CROATIAN_CROATIA),
  15340. Flang: [8]uint8{'h', 'r'},
  15341. },
  15342. 212: {
  15343. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15344. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN),
  15345. Flang: [8]uint8{'s', 'r'},
  15346. },
  15347. 213: {
  15348. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15349. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC),
  15350. Flang: [8]uint8{'s', 'r'},
  15351. },
  15352. 214: {
  15353. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15354. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVAK_SLOVAKIA),
  15355. Flang: [8]uint8{'s', 'k'},
  15356. },
  15357. 215: {
  15358. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15359. Flanguage_id: uint16(m_TT_MS_LANGID_ALBANIAN_ALBANIA),
  15360. Flang: [8]uint8{'s', 'q'},
  15361. },
  15362. 216: {
  15363. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15364. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_SWEDEN),
  15365. Flang: [8]uint8{'s', 'v'},
  15366. },
  15367. 217: {
  15368. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15369. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_FINLAND),
  15370. Flang: [8]uint8{'s', 'v'},
  15371. },
  15372. 218: {
  15373. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15374. Flanguage_id: uint16(m_TT_MS_LANGID_THAI_THAILAND),
  15375. Flang: [8]uint8{'t', 'h'},
  15376. },
  15377. 219: {
  15378. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15379. Flanguage_id: uint16(m_TT_MS_LANGID_TURKISH_TURKEY),
  15380. Flang: [8]uint8{'t', 'r'},
  15381. },
  15382. 220: {
  15383. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15384. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_PAKISTAN),
  15385. Flang: [8]uint8{'u', 'r'},
  15386. },
  15387. 221: {
  15388. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15389. Flanguage_id: uint16(m_TT_MS_LANGID_INDONESIAN_INDONESIA),
  15390. Flang: [8]uint8{'i', 'd'},
  15391. },
  15392. 222: {
  15393. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15394. Flanguage_id: uint16(m_TT_MS_LANGID_UKRAINIAN_UKRAINE),
  15395. Flang: [8]uint8{'u', 'k'},
  15396. },
  15397. 223: {
  15398. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15399. Flanguage_id: uint16(m_TT_MS_LANGID_BELARUSIAN_BELARUS),
  15400. Flang: [8]uint8{'b', 'e'},
  15401. },
  15402. 224: {
  15403. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15404. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVENIAN_SLOVENIA),
  15405. Flang: [8]uint8{'s', 'l'},
  15406. },
  15407. 225: {
  15408. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15409. Flanguage_id: uint16(m_TT_MS_LANGID_ESTONIAN_ESTONIA),
  15410. Flang: [8]uint8{'e', 't'},
  15411. },
  15412. 226: {
  15413. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15414. Flanguage_id: uint16(m_TT_MS_LANGID_LATVIAN_LATVIA),
  15415. Flang: [8]uint8{'l', 'v'},
  15416. },
  15417. 227: {
  15418. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15419. Flanguage_id: uint16(m_TT_MS_LANGID_LITHUANIAN_LITHUANIA),
  15420. Flang: [8]uint8{'l', 't'},
  15421. },
  15422. 228: {
  15423. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15424. Flanguage_id: uint16(m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA),
  15425. Flang: [8]uint8{'l', 't'},
  15426. },
  15427. 229: {
  15428. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15429. Flanguage_id: uint16(m_TT_MS_LANGID_MAORI_NEW_ZEALAND),
  15430. Flang: [8]uint8{'m', 'i'},
  15431. },
  15432. 230: {
  15433. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15434. Flanguage_id: uint16(m_TT_MS_LANGID_FARSI_IRAN),
  15435. Flang: [8]uint8{'f', 'a'},
  15436. },
  15437. 231: {
  15438. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15439. Flanguage_id: uint16(m_TT_MS_LANGID_VIETNAMESE_VIET_NAM),
  15440. Flang: [8]uint8{'v', 'i'},
  15441. },
  15442. 232: {
  15443. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15444. Flanguage_id: uint16(m_TT_MS_LANGID_ARMENIAN_ARMENIA),
  15445. Flang: [8]uint8{'h', 'y'},
  15446. },
  15447. 233: {
  15448. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15449. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN),
  15450. Flang: [8]uint8{'a', 'z'},
  15451. },
  15452. 234: {
  15453. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15454. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC),
  15455. Flang: [8]uint8{'a', 'z'},
  15456. },
  15457. 235: {
  15458. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15459. Flanguage_id: uint16(m_TT_MS_LANGID_BASQUE_BASQUE),
  15460. Flang: [8]uint8{'e', 'u'},
  15461. },
  15462. 236: {
  15463. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15464. Flanguage_id: uint16(m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY),
  15465. Flang: [8]uint8{'w', 'e', 'n'},
  15466. },
  15467. 237: {
  15468. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15469. Flanguage_id: uint16(m_TT_MS_LANGID_MACEDONIAN_MACEDONIA),
  15470. Flang: [8]uint8{'m', 'k'},
  15471. },
  15472. 238: {
  15473. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15474. Flanguage_id: uint16(m_TT_MS_LANGID_SUTU_SOUTH_AFRICA),
  15475. Flang: [8]uint8{'s', 't'},
  15476. },
  15477. 239: {
  15478. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15479. Flanguage_id: uint16(m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA),
  15480. Flang: [8]uint8{'t', 's'},
  15481. },
  15482. 240: {
  15483. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15484. Flanguage_id: uint16(m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA),
  15485. Flang: [8]uint8{'t', 'n'},
  15486. },
  15487. 241: {
  15488. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15489. Flanguage_id: uint16(m_TT_MS_LANGID_VENDA_SOUTH_AFRICA),
  15490. Flang: [8]uint8{'v', 'e', 'n'},
  15491. },
  15492. 242: {
  15493. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15494. Flanguage_id: uint16(m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA),
  15495. Flang: [8]uint8{'x', 'h'},
  15496. },
  15497. 243: {
  15498. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15499. Flanguage_id: uint16(m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA),
  15500. Flang: [8]uint8{'z', 'u'},
  15501. },
  15502. 244: {
  15503. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15504. Flanguage_id: uint16(m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA),
  15505. Flang: [8]uint8{'a', 'f'},
  15506. },
  15507. 245: {
  15508. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15509. Flanguage_id: uint16(m_TT_MS_LANGID_GEORGIAN_GEORGIA),
  15510. Flang: [8]uint8{'k', 'a'},
  15511. },
  15512. 246: {
  15513. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15514. Flanguage_id: uint16(m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS),
  15515. Flang: [8]uint8{'f', 'o'},
  15516. },
  15517. 247: {
  15518. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15519. Flanguage_id: uint16(m_TT_MS_LANGID_HINDI_INDIA),
  15520. Flang: [8]uint8{'h', 'i'},
  15521. },
  15522. 248: {
  15523. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15524. Flanguage_id: uint16(m_TT_MS_LANGID_MALTESE_MALTA),
  15525. Flang: [8]uint8{'m', 't'},
  15526. },
  15527. 249: {
  15528. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15529. Flanguage_id: uint16(m_TT_MS_LANGID_SAAMI_LAPONIA),
  15530. Flang: [8]uint8{'s', 'e'},
  15531. },
  15532. 250: {
  15533. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15534. Flanguage_id: uint16(m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM),
  15535. Flang: [8]uint8{'g', 'd'},
  15536. },
  15537. 251: {
  15538. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15539. Flanguage_id: uint16(m_TT_MS_LANGID_IRISH_GAELIC_IRELAND),
  15540. Flang: [8]uint8{'g', 'a'},
  15541. },
  15542. 252: {
  15543. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15544. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_MALAYSIA),
  15545. Flang: [8]uint8{'m', 's'},
  15546. },
  15547. 253: {
  15548. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15549. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM),
  15550. Flang: [8]uint8{'m', 's'},
  15551. },
  15552. 254: {
  15553. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15554. Flanguage_id: uint16(m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN),
  15555. Flang: [8]uint8{'k', 'k'},
  15556. },
  15557. 255: {
  15558. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15559. Flanguage_id: uint16(m_TT_MS_LANGID_KISWAHILI_KENYA),
  15560. Flang: [8]uint8{'s', 'w'},
  15561. },
  15562. 256: {
  15563. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15564. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN),
  15565. Flang: [8]uint8{'u', 'z'},
  15566. },
  15567. 257: {
  15568. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15569. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC),
  15570. Flang: [8]uint8{'u', 'z'},
  15571. },
  15572. 258: {
  15573. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15574. Flanguage_id: uint16(m_TT_MS_LANGID_TATAR_RUSSIA),
  15575. Flang: [8]uint8{'t', 't'},
  15576. },
  15577. 259: {
  15578. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15579. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_INDIA),
  15580. Flang: [8]uint8{'b', 'n'},
  15581. },
  15582. 260: {
  15583. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15584. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_INDIA),
  15585. Flang: [8]uint8{'p', 'a'},
  15586. },
  15587. 261: {
  15588. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15589. Flanguage_id: uint16(m_TT_MS_LANGID_GUJARATI_INDIA),
  15590. Flang: [8]uint8{'g', 'u'},
  15591. },
  15592. 262: {
  15593. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15594. Flanguage_id: uint16(m_TT_MS_LANGID_ODIA_INDIA),
  15595. Flang: [8]uint8{'o', 'r'},
  15596. },
  15597. 263: {
  15598. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15599. Flanguage_id: uint16(m_TT_MS_LANGID_TAMIL_INDIA),
  15600. Flang: [8]uint8{'t', 'a'},
  15601. },
  15602. 264: {
  15603. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15604. Flanguage_id: uint16(m_TT_MS_LANGID_TELUGU_INDIA),
  15605. Flang: [8]uint8{'t', 'e'},
  15606. },
  15607. 265: {
  15608. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15609. Flanguage_id: uint16(m_TT_MS_LANGID_KANNADA_INDIA),
  15610. Flang: [8]uint8{'k', 'n'},
  15611. },
  15612. 266: {
  15613. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15614. Flanguage_id: uint16(m_TT_MS_LANGID_MALAYALAM_INDIA),
  15615. Flang: [8]uint8{'m', 'l'},
  15616. },
  15617. 267: {
  15618. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15619. Flanguage_id: uint16(m_TT_MS_LANGID_ASSAMESE_INDIA),
  15620. Flang: [8]uint8{'a', 's'},
  15621. },
  15622. 268: {
  15623. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15624. Flanguage_id: uint16(m_TT_MS_LANGID_MARATHI_INDIA),
  15625. Flang: [8]uint8{'m', 'r'},
  15626. },
  15627. 269: {
  15628. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15629. Flanguage_id: uint16(m_TT_MS_LANGID_SANSKRIT_INDIA),
  15630. Flang: [8]uint8{'s', 'a'},
  15631. },
  15632. 270: {
  15633. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15634. Flanguage_id: uint16(m_TT_MS_LANGID_KONKANI_INDIA),
  15635. Flang: [8]uint8{'k', 'o', 'k'},
  15636. },
  15637. 271: {
  15638. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15639. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_GENERAL),
  15640. Flang: [8]uint8{'a', 'r'},
  15641. },
  15642. 272: {
  15643. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15644. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_GENERAL),
  15645. Flang: [8]uint8{'z', 'h'},
  15646. },
  15647. 273: {
  15648. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15649. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_GENERAL),
  15650. Flang: [8]uint8{'e', 'n'},
  15651. },
  15652. 274: {
  15653. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15654. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_WEST_INDIES),
  15655. Flang: [8]uint8{'f', 'r'},
  15656. },
  15657. 275: {
  15658. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15659. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_REUNION),
  15660. Flang: [8]uint8{'f', 'r'},
  15661. },
  15662. 276: {
  15663. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15664. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CONGO),
  15665. Flang: [8]uint8{'f', 'r'},
  15666. },
  15667. 277: {
  15668. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15669. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SENEGAL),
  15670. Flang: [8]uint8{'f', 'r'},
  15671. },
  15672. 278: {
  15673. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15674. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CAMEROON),
  15675. Flang: [8]uint8{'f', 'r'},
  15676. },
  15677. 279: {
  15678. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15679. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE),
  15680. Flang: [8]uint8{'f', 'r'},
  15681. },
  15682. 280: {
  15683. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15684. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MALI),
  15685. Flang: [8]uint8{'f', 'r'},
  15686. },
  15687. 281: {
  15688. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15689. Flanguage_id: uint16(m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA),
  15690. Flang: [8]uint8{'b', 's'},
  15691. },
  15692. 282: {
  15693. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15694. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_INDIA),
  15695. Flang: [8]uint8{'u', 'r'},
  15696. },
  15697. 283: {
  15698. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15699. Flanguage_id: uint16(m_TT_MS_LANGID_TAJIK_TAJIKISTAN),
  15700. Flang: [8]uint8{'t', 'g'},
  15701. },
  15702. 284: {
  15703. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15704. Flanguage_id: uint16(m_TT_MS_LANGID_YIDDISH_GERMANY),
  15705. Flang: [8]uint8{'y', 'i'},
  15706. },
  15707. 285: {
  15708. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15709. Flanguage_id: uint16(m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN),
  15710. Flang: [8]uint8{'k', 'y'},
  15711. },
  15712. 286: {
  15713. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15714. Flanguage_id: uint16(m_TT_MS_LANGID_TURKMEN_TURKMENISTAN),
  15715. Flang: [8]uint8{'t', 'k'},
  15716. },
  15717. 287: {
  15718. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15719. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_MONGOLIA),
  15720. Flang: [8]uint8{'m', 'n'},
  15721. },
  15722. 288: {
  15723. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15724. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  15725. Flang: [8]uint8{'b', 'o'},
  15726. },
  15727. 289: {
  15728. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15729. Flanguage_id: uint16(m_TT_MS_LANGID_TIBETAN_PRC),
  15730. Flang: [8]uint8{'b', 'o'},
  15731. },
  15732. 290: {
  15733. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15734. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  15735. Flang: [8]uint8{'d', 'z'},
  15736. },
  15737. 291: {
  15738. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15739. Flanguage_id: uint16(m_TT_MS_LANGID_WELSH_UNITED_KINGDOM),
  15740. Flang: [8]uint8{'c', 'y'},
  15741. },
  15742. 292: {
  15743. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15744. Flanguage_id: uint16(m_TT_MS_LANGID_KHMER_CAMBODIA),
  15745. Flang: [8]uint8{'k', 'm'},
  15746. },
  15747. 293: {
  15748. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15749. Flanguage_id: uint16(m_TT_MS_LANGID_LAO_LAOS),
  15750. Flang: [8]uint8{'l', 'o'},
  15751. },
  15752. 294: {
  15753. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15754. Flanguage_id: uint16(m_TT_MS_LANGID_BURMESE_MYANMAR),
  15755. Flang: [8]uint8{'m', 'y'},
  15756. },
  15757. 295: {
  15758. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15759. Flanguage_id: uint16(m_TT_MS_LANGID_GALICIAN_GALICIAN),
  15760. Flang: [8]uint8{'g', 'l'},
  15761. },
  15762. 296: {
  15763. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15764. Flanguage_id: uint16(m_TT_MS_LANGID_MANIPURI_INDIA),
  15765. Flang: [8]uint8{'m', 'n', 'i'},
  15766. },
  15767. 297: {
  15768. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15769. Flanguage_id: uint16(m_TT_MS_LANGID_SINDHI_INDIA),
  15770. Flang: [8]uint8{'s', 'd'},
  15771. },
  15772. 298: {
  15773. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15774. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_PAKISTAN),
  15775. Flang: [8]uint8{'k', 's'},
  15776. },
  15777. 299: {
  15778. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15779. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_SASIA),
  15780. Flang: [8]uint8{'k', 's'},
  15781. },
  15782. 300: {
  15783. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15784. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_NEPAL),
  15785. Flang: [8]uint8{'n', 'e'},
  15786. },
  15787. 301: {
  15788. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15789. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_INDIA),
  15790. Flang: [8]uint8{'n', 'e'},
  15791. },
  15792. 302: {
  15793. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15794. Flanguage_id: uint16(m_TT_MS_LANGID_FRISIAN_NETHERLANDS),
  15795. Flang: [8]uint8{'f', 'y'},
  15796. },
  15797. 303: {
  15798. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15799. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_HONG_KONG),
  15800. Flang: [8]uint8{'e', 'n'},
  15801. },
  15802. 304: {
  15803. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15804. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_INDIA),
  15805. Flang: [8]uint8{'e', 'n'},
  15806. },
  15807. 305: {
  15808. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15809. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_MALAYSIA),
  15810. Flang: [8]uint8{'e', 'n'},
  15811. },
  15812. 306: {
  15813. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15814. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SINGAPORE),
  15815. Flang: [8]uint8{'e', 'n'},
  15816. },
  15817. 307: {
  15818. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15819. Flanguage_id: uint16(m_TT_MS_LANGID_SYRIAC_SYRIA),
  15820. Flang: [8]uint8{'s', 'y', 'r'},
  15821. },
  15822. 308: {
  15823. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15824. Flanguage_id: uint16(m_TT_MS_LANGID_SINHALA_SRI_LANKA),
  15825. Flang: [8]uint8{'s', 'i'},
  15826. },
  15827. 309: {
  15828. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15829. Flanguage_id: uint16(m_TT_MS_LANGID_CHEROKEE_UNITED_STATES),
  15830. Flang: [8]uint8{'c', 'h', 'r'},
  15831. },
  15832. 310: {
  15833. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15834. Flanguage_id: uint16(m_TT_MS_LANGID_INUKTITUT_CANADA),
  15835. Flang: [8]uint8{'i', 'u'},
  15836. },
  15837. 311: {
  15838. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15839. Flanguage_id: uint16(m_TT_MS_LANGID_AMHARIC_ETHIOPIA),
  15840. Flang: [8]uint8{'a', 'm'},
  15841. },
  15842. 312: {
  15843. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15844. Flanguage_id: uint16(m_TT_MS_LANGID_PASHTO_AFGHANISTAN),
  15845. Flang: [8]uint8{'p', 's'},
  15846. },
  15847. 313: {
  15848. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15849. Flanguage_id: uint16(m_TT_MS_LANGID_FILIPINO_PHILIPPINES),
  15850. Flang: [8]uint8{'p', 'h', 'i'},
  15851. },
  15852. 314: {
  15853. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15854. Flanguage_id: uint16(m_TT_MS_LANGID_DHIVEHI_MALDIVES),
  15855. Flang: [8]uint8{'d', 'i', 'v'},
  15856. },
  15857. 315: {
  15858. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15859. Flanguage_id: uint16(m_TT_MS_LANGID_OROMO_ETHIOPIA),
  15860. Flang: [8]uint8{'o', 'm'},
  15861. },
  15862. 316: {
  15863. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15864. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA),
  15865. Flang: [8]uint8{'t', 'i'},
  15866. },
  15867. 317: {
  15868. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15869. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ERYTHREA),
  15870. Flang: [8]uint8{'t', 'i'},
  15871. },
  15872. 318: {
  15873. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15874. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_UNITED_STATES),
  15875. Flang: [8]uint8{'e', 's'},
  15876. },
  15877. 319: {
  15878. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15879. Flanguage_id: uint16(0xE40A),
  15880. Flang: [8]uint8{'e', 's'},
  15881. },
  15882. 320: {
  15883. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15884. Flanguage_id: uint16(0xE40C),
  15885. Flang: [8]uint8{'f', 'r'},
  15886. },
  15887. 321: {
  15888. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15889. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MOROCCO),
  15890. Flang: [8]uint8{'f', 'r'},
  15891. },
  15892. 322: {
  15893. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15894. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_HAITI),
  15895. Flang: [8]uint8{'f', 'r'},
  15896. },
  15897. 323: {
  15898. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15899. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_BANGLADESH),
  15900. Flang: [8]uint8{'b', 'n'},
  15901. },
  15902. 324: {
  15903. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15904. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN),
  15905. Flang: [8]uint8{'a', 'r'},
  15906. },
  15907. 325: {
  15908. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15909. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_PRC),
  15910. Flang: [8]uint8{'m', 'n'},
  15911. },
  15912. 326: {
  15913. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15914. Flanguage_id: uint16(m_TT_MS_LANGID_HAUSA_NIGERIA),
  15915. Flang: [8]uint8{'h', 'a'},
  15916. },
  15917. 327: {
  15918. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15919. Flanguage_id: uint16(m_TT_MS_LANGID_YORUBA_NIGERIA),
  15920. Flang: [8]uint8{'y', 'o'},
  15921. },
  15922. 328: {
  15923. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15924. Flanguage_id: uint16(m_TT_MS_LANGID_IGBO_NIGERIA),
  15925. Flang: [8]uint8{'i', 'b', 'o'},
  15926. },
  15927. 329: {
  15928. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15929. Flanguage_id: uint16(m_TT_MS_LANGID_KANURI_NIGERIA),
  15930. Flang: [8]uint8{'k', 'a', 'u'},
  15931. },
  15932. 330: {
  15933. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15934. Flanguage_id: uint16(m_TT_MS_LANGID_GUARANI_PARAGUAY),
  15935. Flang: [8]uint8{'g', 'n'},
  15936. },
  15937. 331: {
  15938. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15939. Flanguage_id: uint16(m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES),
  15940. Flang: [8]uint8{'h', 'a', 'w'},
  15941. },
  15942. 332: {
  15943. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15944. Flanguage_id: uint16(m_TT_MS_LANGID_LATIN),
  15945. Flang: [8]uint8{'l', 'a'},
  15946. },
  15947. 333: {
  15948. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15949. Flanguage_id: uint16(m_TT_MS_LANGID_SOMALI_SOMALIA),
  15950. Flang: [8]uint8{'s', 'o'},
  15951. },
  15952. 334: {
  15953. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15954. Flanguage_id: uint16(m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES),
  15955. Flang: [8]uint8{'p', 'a', 'p'},
  15956. },
  15957. }
  15958. type TFcMacRomanFake = struct {
  15959. Flanguage_id TFT_UShort
  15960. Ffromcode [12]uint8
  15961. }
  15962. var _fcMacRomanFake = [2]TFcMacRomanFake{
  15963. 0: {
  15964. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  15965. Ffromcode: [12]uint8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  15966. },
  15967. 1: {
  15968. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  15969. Ffromcode: [12]uint8{'A', 'S', 'C', 'I', 'I'},
  15970. },
  15971. }
  15972. // C documentation
  15973. //
  15974. // /* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
  15975. var _fcMacRomanNonASCIIToUnicode = [128]TFcChar16{
  15976. 0: uint16(0x00C4),
  15977. 1: uint16(0x00C5),
  15978. 2: uint16(0x00C7),
  15979. 3: uint16(0x00C9),
  15980. 4: uint16(0x00D1),
  15981. 5: uint16(0x00D6),
  15982. 6: uint16(0x00DC),
  15983. 7: uint16(0x00E1),
  15984. 8: uint16(0x00E0),
  15985. 9: uint16(0x00E2),
  15986. 10: uint16(0x00E4),
  15987. 11: uint16(0x00E3),
  15988. 12: uint16(0x00E5),
  15989. 13: uint16(0x00E7),
  15990. 14: uint16(0x00E9),
  15991. 15: uint16(0x00E8),
  15992. 16: uint16(0x00EA),
  15993. 17: uint16(0x00EB),
  15994. 18: uint16(0x00ED),
  15995. 19: uint16(0x00EC),
  15996. 20: uint16(0x00EE),
  15997. 21: uint16(0x00EF),
  15998. 22: uint16(0x00F1),
  15999. 23: uint16(0x00F3),
  16000. 24: uint16(0x00F2),
  16001. 25: uint16(0x00F4),
  16002. 26: uint16(0x00F6),
  16003. 27: uint16(0x00F5),
  16004. 28: uint16(0x00FA),
  16005. 29: uint16(0x00F9),
  16006. 30: uint16(0x00FB),
  16007. 31: uint16(0x00FC),
  16008. 32: uint16(0x2020),
  16009. 33: uint16(0x00B0),
  16010. 34: uint16(0x00A2),
  16011. 35: uint16(0x00A3),
  16012. 36: uint16(0x00A7),
  16013. 37: uint16(0x2022),
  16014. 38: uint16(0x00B6),
  16015. 39: uint16(0x00DF),
  16016. 40: uint16(0x00AE),
  16017. 41: uint16(0x00A9),
  16018. 42: uint16(0x2122),
  16019. 43: uint16(0x00B4),
  16020. 44: uint16(0x00A8),
  16021. 45: uint16(0x2260),
  16022. 46: uint16(0x00C6),
  16023. 47: uint16(0x00D8),
  16024. 48: uint16(0x221E),
  16025. 49: uint16(0x00B1),
  16026. 50: uint16(0x2264),
  16027. 51: uint16(0x2265),
  16028. 52: uint16(0x00A5),
  16029. 53: uint16(0x00B5),
  16030. 54: uint16(0x2202),
  16031. 55: uint16(0x2211),
  16032. 56: uint16(0x220F),
  16033. 57: uint16(0x03C0),
  16034. 58: uint16(0x222B),
  16035. 59: uint16(0x00AA),
  16036. 60: uint16(0x00BA),
  16037. 61: uint16(0x03A9),
  16038. 62: uint16(0x00E6),
  16039. 63: uint16(0x00F8),
  16040. 64: uint16(0x00BF),
  16041. 65: uint16(0x00A1),
  16042. 66: uint16(0x00AC),
  16043. 67: uint16(0x221A),
  16044. 68: uint16(0x0192),
  16045. 69: uint16(0x2248),
  16046. 70: uint16(0x2206),
  16047. 71: uint16(0x00AB),
  16048. 72: uint16(0x00BB),
  16049. 73: uint16(0x2026),
  16050. 74: uint16(0x00A0),
  16051. 75: uint16(0x00C0),
  16052. 76: uint16(0x00C3),
  16053. 77: uint16(0x00D5),
  16054. 78: uint16(0x0152),
  16055. 79: uint16(0x0153),
  16056. 80: uint16(0x2013),
  16057. 81: uint16(0x2014),
  16058. 82: uint16(0x201C),
  16059. 83: uint16(0x201D),
  16060. 84: uint16(0x2018),
  16061. 85: uint16(0x2019),
  16062. 86: uint16(0x00F7),
  16063. 87: uint16(0x25CA),
  16064. 88: uint16(0x00FF),
  16065. 89: uint16(0x0178),
  16066. 90: uint16(0x2044),
  16067. 91: uint16(0x20AC),
  16068. 92: uint16(0x2039),
  16069. 93: uint16(0x203A),
  16070. 94: uint16(0xFB01),
  16071. 95: uint16(0xFB02),
  16072. 96: uint16(0x2021),
  16073. 97: uint16(0x00B7),
  16074. 98: uint16(0x201A),
  16075. 99: uint16(0x201E),
  16076. 100: uint16(0x2030),
  16077. 101: uint16(0x00C2),
  16078. 102: uint16(0x00CA),
  16079. 103: uint16(0x00C1),
  16080. 104: uint16(0x00CB),
  16081. 105: uint16(0x00C8),
  16082. 106: uint16(0x00CD),
  16083. 107: uint16(0x00CE),
  16084. 108: uint16(0x00CF),
  16085. 109: uint16(0x00CC),
  16086. 110: uint16(0x00D3),
  16087. 111: uint16(0x00D4),
  16088. 112: uint16(0xF8FF),
  16089. 113: uint16(0x00D2),
  16090. 114: uint16(0x00DA),
  16091. 115: uint16(0x00DB),
  16092. 116: uint16(0x00D9),
  16093. 117: uint16(0x0131),
  16094. 118: uint16(0x02C6),
  16095. 119: uint16(0x02DC),
  16096. 120: uint16(0x00AF),
  16097. 121: uint16(0x02D8),
  16098. 122: uint16(0x02D9),
  16099. 123: uint16(0x02DA),
  16100. 124: uint16(0x00B8),
  16101. 125: uint16(0x02DD),
  16102. 126: uint16(0x02DB),
  16103. 127: uint16(0x02C7),
  16104. }
  16105. // C documentation
  16106. //
  16107. // /*
  16108. // * A shift-JIS will have many high bits turned on
  16109. // */
  16110. func _FcLooksLikeSJIS(tls *libc.TLS, string1 uintptr, len1 int32) (r TFcBool) {
  16111. var nhigh, nlow, v1 int32
  16112. var v2 uintptr
  16113. _, _, _, _ = nhigh, nlow, v1, v2
  16114. nhigh = 0
  16115. nlow = 0
  16116. for {
  16117. v1 = len1
  16118. len1--
  16119. if !(v1 > 0) {
  16120. break
  16121. }
  16122. v2 = string1
  16123. string1++
  16124. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))&int32(0x80) != 0 {
  16125. nhigh++
  16126. } else {
  16127. nlow++
  16128. }
  16129. }
  16130. /*
  16131. * Heuristic -- if more than 1/3 of the bytes have the high-bit set,
  16132. * this is likely to be SJIS and not ROMAN
  16133. */
  16134. if nhigh*int32(2) > nlow {
  16135. return int32(m_FcTrue)
  16136. }
  16137. return m_FcFalse
  16138. }
  16139. func _FcSfntNameTranscode(tls *libc.TLS, sname uintptr) (r uintptr) {
  16140. bp := tls.Alloc(16)
  16141. defer tls.Free(16)
  16142. var f, i, ilen, olen, olen1, olen2, src_len, src_len1, src_len2, v3 int32
  16143. var fromcode, src, src1, src2, u8, u81, u82, utf8, v4, v5 uintptr
  16144. var ucs41, ucs42 TFcChar32
  16145. var _ /* len at bp+0 */ int32
  16146. var _ /* ucs4 at bp+8 */ TFcChar32
  16147. var _ /* wchar at bp+4 */ int32
  16148. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = f, fromcode, i, ilen, olen, olen1, olen2, src, src1, src2, src_len, src_len1, src_len2, u8, u81, u82, ucs41, ucs42, utf8, v3, v4, v5
  16149. i = 0
  16150. for {
  16151. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(224)/libc.Uint32FromInt64(16))) {
  16152. break
  16153. }
  16154. if libc.Int32FromUint16(_fcFtEncoding[i].Fplatform_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (libc.Int32FromUint16(_fcFtEncoding[i].Fencoding_id) == int32(m_TT_ENCODING_DONT_CARE) || libc.Int32FromUint16(_fcFtEncoding[i].Fencoding_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id)) {
  16155. break
  16156. }
  16157. goto _1
  16158. _1:
  16159. ;
  16160. i++
  16161. }
  16162. if i == libc.Int32FromUint32(libc.Uint32FromInt64(224)/libc.Uint32FromInt64(16)) {
  16163. return uintptr(0)
  16164. }
  16165. fromcode = uintptr(unsafe.Pointer(&_fcFtEncoding)) + uintptr(i)*16 + 4
  16166. /*
  16167. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  16168. * in various ways. Kludge around them.
  16169. */
  16170. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3854) != 0) {
  16171. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) == m_TT_MAC_LANGID_ENGLISH && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  16172. fromcode = __ccgo_ts + 3864
  16173. } else {
  16174. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) >= int32(0x100) {
  16175. fromcode = libc.UintptrFromInt32(0)
  16176. f = 0
  16177. for {
  16178. if !(f < libc.Int32FromUint32(libc.Uint32FromInt64(28)/libc.Uint32FromInt64(14))) {
  16179. break
  16180. }
  16181. if libc.Int32FromUint16(_fcMacRomanFake[f].Flanguage_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) {
  16182. fromcode = uintptr(unsafe.Pointer(&_fcMacRomanFake)) + uintptr(f)*14 + 2
  16183. break
  16184. }
  16185. goto _2
  16186. _2:
  16187. ;
  16188. f++
  16189. }
  16190. if !(fromcode != 0) {
  16191. return uintptr(0)
  16192. }
  16193. }
  16194. }
  16195. }
  16196. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3869) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3877) != 0) {
  16197. src = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16198. src_len = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16199. /*
  16200. * Convert Utf16 to Utf8
  16201. */
  16202. if !(XIA__FcUtf16Len(tls, src, int32(_FcEndianBig), src_len, bp, bp+4) != 0) {
  16203. return uintptr(0)
  16204. }
  16205. /*
  16206. * Allocate plenty of space. Freed below
  16207. */
  16208. utf8 = libc.Xmalloc(tls, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp))*int32(m_FC_UTF8_MAX_LEN)+int32(1)))
  16209. if !(utf8 != 0) {
  16210. return uintptr(0)
  16211. }
  16212. u8 = utf8
  16213. for {
  16214. v3 = XIA__FcUtf16ToUcs4(tls, src, int32(_FcEndianBig), bp+8, src_len)
  16215. ilen = v3
  16216. if !(v3 > 0) {
  16217. break
  16218. }
  16219. src_len -= ilen
  16220. src += uintptr(ilen)
  16221. olen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp + 8)), u8)
  16222. u8 += uintptr(olen)
  16223. }
  16224. *(*TFcChar8)(unsafe.Pointer(u8)) = uint8('\000')
  16225. goto done
  16226. }
  16227. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3886) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3892) != 0) {
  16228. src1 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16229. src_len1 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16230. /*
  16231. * Convert Latin1 to Utf8. Freed below
  16232. */
  16233. utf8 = libc.Xmalloc(tls, libc.Uint32FromInt32(src_len1*int32(2)+int32(1)))
  16234. if !(utf8 != 0) {
  16235. return uintptr(0)
  16236. }
  16237. u81 = utf8
  16238. for src_len1 > 0 {
  16239. v4 = src1
  16240. src1++
  16241. ucs41 = uint32(*(*TFcChar8)(unsafe.Pointer(v4)))
  16242. src_len1--
  16243. olen1 = XIA__FcUcs4ToUtf8(tls, ucs41, u81)
  16244. u81 += uintptr(olen1)
  16245. }
  16246. *(*TFcChar8)(unsafe.Pointer(u81)) = uint8('\000')
  16247. goto done
  16248. }
  16249. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3854) != 0) {
  16250. src2 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16251. src_len2 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16252. /*
  16253. * Convert Latin1 to Utf8. Freed below
  16254. */
  16255. utf8 = libc.Xmalloc(tls, libc.Uint32FromInt32(src_len2*int32(3)+int32(1)))
  16256. if !(utf8 != 0) {
  16257. return uintptr(0)
  16258. }
  16259. u82 = utf8
  16260. for src_len2 > 0 {
  16261. v5 = src2
  16262. src2++
  16263. ucs42 = uint32(*(*TFcChar8)(unsafe.Pointer(v5)))
  16264. if ucs42 >= uint32(128) {
  16265. ucs42 = uint32(_fcMacRomanNonASCIIToUnicode[ucs42-uint32(128)])
  16266. }
  16267. src_len2--
  16268. olen2 = XIA__FcUcs4ToUtf8(tls, ucs42, u82)
  16269. u82 += uintptr(olen2)
  16270. }
  16271. *(*TFcChar8)(unsafe.Pointer(u82)) = uint8('\000')
  16272. goto done
  16273. }
  16274. return uintptr(0)
  16275. goto done
  16276. done:
  16277. ;
  16278. if XFcStrCmpIgnoreBlanksAndCase(tls, utf8, __ccgo_ts+112) == 0 {
  16279. libc.Xfree(tls, utf8)
  16280. return uintptr(0)
  16281. }
  16282. return utf8
  16283. }
  16284. func _FcSfntNameLanguage(tls *libc.TLS, sname uintptr) (r uintptr) {
  16285. var i int32
  16286. var language_id, platform_id TFT_UShort
  16287. _, _, _ = i, language_id, platform_id
  16288. platform_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id
  16289. language_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id
  16290. /*
  16291. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  16292. * in various ways. Kludge around them.
  16293. */
  16294. if libc.Int32FromUint16(platform_id) == int32(m_TT_PLATFORM_MACINTOSH) && libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id) == m_TT_MAC_ID_ROMAN && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  16295. language_id = uint16(m_TT_MAC_LANGID_JAPANESE)
  16296. }
  16297. i = 0
  16298. for {
  16299. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(4020)/libc.Uint32FromInt64(12))) {
  16300. break
  16301. }
  16302. if libc.Int32FromUint16(_fcFtLanguage[i].Fplatform_id) == libc.Int32FromUint16(platform_id) && (libc.Int32FromUint16(_fcFtLanguage[i].Flanguage_id) == int32(m_TT_LANGUAGE_DONT_CARE) || libc.Int32FromUint16(_fcFtLanguage[i].Flanguage_id) == libc.Int32FromUint16(language_id)) {
  16303. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4))) == int32('\000') {
  16304. return libc.UintptrFromInt32(0)
  16305. } else {
  16306. return uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4
  16307. }
  16308. }
  16309. goto _1
  16310. _1:
  16311. ;
  16312. i++
  16313. }
  16314. return uintptr(0)
  16315. }
  16316. func _FcNoticeFoundry(tls *libc.TLS, notice uintptr) (r uintptr) {
  16317. var f, n uintptr
  16318. var i int32
  16319. _, _, _ = f, i, n
  16320. if notice != 0 {
  16321. i = 0
  16322. for {
  16323. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(144)/libc.Uint32FromInt64(8))) {
  16324. break
  16325. }
  16326. n = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*8))
  16327. f = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*8 + 1*4))
  16328. if libc.Xstrstr(tls, notice, n) != 0 {
  16329. return f
  16330. }
  16331. goto _1
  16332. _1:
  16333. ;
  16334. i++
  16335. }
  16336. }
  16337. return uintptr(0)
  16338. }
  16339. type TFcStringConst = struct {
  16340. Fname uintptr
  16341. Fvalue int32
  16342. }
  16343. type T_FcStringConst = TFcStringConst
  16344. func _FcStringIsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  16345. var i int32
  16346. _ = i
  16347. i = 0
  16348. for {
  16349. if !(i < nc) {
  16350. break
  16351. }
  16352. if XFcStrCmpIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fname) == 0 {
  16353. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fvalue
  16354. }
  16355. goto _1
  16356. _1:
  16357. ;
  16358. i++
  16359. }
  16360. return -int32(1)
  16361. }
  16362. func _FcStringContainsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  16363. var i int32
  16364. _ = i
  16365. i = 0
  16366. for {
  16367. if !(i < nc) {
  16368. break
  16369. }
  16370. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fname))) == int32('<') {
  16371. if XFcStrContainsWord(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fname+uintptr(1)) != 0 {
  16372. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fvalue
  16373. }
  16374. } else {
  16375. if XFcStrContainsIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fname) != 0 {
  16376. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fvalue
  16377. }
  16378. }
  16379. goto _1
  16380. _1:
  16381. ;
  16382. i++
  16383. }
  16384. return -int32(1)
  16385. }
  16386. type TFC8 = uintptr
  16387. var _weightConsts = [23]TFcStringConst{
  16388. 0: {
  16389. Fname: __ccgo_ts + 3903,
  16390. },
  16391. 1: {
  16392. Fname: __ccgo_ts + 3908,
  16393. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  16394. },
  16395. 2: {
  16396. Fname: __ccgo_ts + 3919,
  16397. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  16398. },
  16399. 3: {
  16400. Fname: __ccgo_ts + 3930,
  16401. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  16402. },
  16403. 4: {
  16404. Fname: __ccgo_ts + 3940,
  16405. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  16406. },
  16407. 5: {
  16408. Fname: __ccgo_ts + 3950,
  16409. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  16410. },
  16411. 6: {
  16412. Fname: __ccgo_ts + 3956,
  16413. Fvalue: int32(m_FC_WEIGHT_BOOK),
  16414. },
  16415. 7: {
  16416. Fname: __ccgo_ts + 3961,
  16417. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  16418. },
  16419. 8: {
  16420. Fname: __ccgo_ts + 3969,
  16421. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  16422. },
  16423. 9: {
  16424. Fname: __ccgo_ts + 3976,
  16425. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  16426. },
  16427. 10: {
  16428. Fname: __ccgo_ts + 3983,
  16429. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16430. },
  16431. 11: {
  16432. Fname: __ccgo_ts + 3992,
  16433. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16434. },
  16435. 12: {
  16436. Fname: __ccgo_ts + 3997,
  16437. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16438. },
  16439. 13: {
  16440. Fname: __ccgo_ts + 4006,
  16441. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16442. },
  16443. 14: {
  16444. Fname: __ccgo_ts + 4016,
  16445. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16446. },
  16447. 15: {
  16448. Fname: __ccgo_ts + 4026,
  16449. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16450. },
  16451. 16: {
  16452. Fname: __ccgo_ts + 4036,
  16453. Fvalue: int32(m_FC_WEIGHT_BOLD),
  16454. },
  16455. 17: {
  16456. Fname: __ccgo_ts + 4041,
  16457. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16458. },
  16459. 18: {
  16460. Fname: __ccgo_ts + 4052,
  16461. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16462. },
  16463. 19: {
  16464. Fname: __ccgo_ts + 4063,
  16465. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16466. },
  16467. 20: {
  16468. Fname: __ccgo_ts + 4074,
  16469. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16470. },
  16471. 21: {
  16472. Fname: __ccgo_ts + 4081,
  16473. Fvalue: int32(m_FC_WEIGHT_BLACK),
  16474. },
  16475. 22: {
  16476. Fname: __ccgo_ts + 4087,
  16477. Fvalue: int32(m_FC_WEIGHT_BLACK),
  16478. },
  16479. }
  16480. var _widthConsts = [10]TFcStringConst{
  16481. 0: {
  16482. Fname: __ccgo_ts + 4093,
  16483. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  16484. },
  16485. 1: {
  16486. Fname: __ccgo_ts + 4108,
  16487. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  16488. },
  16489. 2: {
  16490. Fname: __ccgo_ts + 4123,
  16491. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  16492. },
  16493. 3: {
  16494. Fname: __ccgo_ts + 4137,
  16495. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  16496. },
  16497. 4: {
  16498. Fname: __ccgo_ts + 3969,
  16499. Fvalue: int32(m_FC_WIDTH_NORMAL),
  16500. },
  16501. 5: {
  16502. Fname: __ccgo_ts + 4147,
  16503. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  16504. },
  16505. 6: {
  16506. Fname: __ccgo_ts + 4160,
  16507. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  16508. },
  16509. 7: {
  16510. Fname: __ccgo_ts + 4174,
  16511. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  16512. },
  16513. 8: {
  16514. Fname: __ccgo_ts + 4188,
  16515. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  16516. },
  16517. 9: {
  16518. Fname: __ccgo_ts + 4197,
  16519. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  16520. },
  16521. }
  16522. var _slantConsts = [3]TFcStringConst{
  16523. 0: {
  16524. Fname: __ccgo_ts + 4206,
  16525. Fvalue: int32(m_FC_SLANT_ITALIC),
  16526. },
  16527. 1: {
  16528. Fname: __ccgo_ts + 4213,
  16529. Fvalue: int32(m_FC_SLANT_ITALIC),
  16530. },
  16531. 2: {
  16532. Fname: __ccgo_ts + 4220,
  16533. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  16534. },
  16535. }
  16536. var _decorativeConsts = [6]TFcStringConst{
  16537. 0: {
  16538. Fname: __ccgo_ts + 4228,
  16539. Fvalue: int32(m_FcTrue),
  16540. },
  16541. 1: {
  16542. Fname: __ccgo_ts + 4235,
  16543. Fvalue: int32(m_FcTrue),
  16544. },
  16545. 2: {
  16546. Fname: __ccgo_ts + 4240,
  16547. Fvalue: int32(m_FcTrue),
  16548. },
  16549. 3: {
  16550. Fname: __ccgo_ts + 4248,
  16551. Fvalue: int32(m_FcTrue),
  16552. },
  16553. 4: {
  16554. Fname: __ccgo_ts + 4256,
  16555. Fvalue: int32(m_FcTrue),
  16556. },
  16557. 5: {
  16558. Fname: __ccgo_ts + 4264,
  16559. Fvalue: int32(m_FcTrue),
  16560. },
  16561. }
  16562. func _FcGetPixelSize(tls *libc.TLS, face TFT_Face, i int32) (r float64) {
  16563. bp := tls.Alloc(16)
  16564. defer tls.Free(16)
  16565. var rc int32
  16566. var _ /* prop at bp+0 */ TBDF_PropertyRec
  16567. _ = rc
  16568. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes == int32(1) {
  16569. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4272, bp)
  16570. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  16571. return float64(*(*TFT_Int32)(unsafe.Pointer(bp + 4)))
  16572. }
  16573. }
  16574. return float64((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*16))).Fy_ppem) / float64(64)
  16575. }
  16576. func _FcStringInPatternElement(tls *libc.TLS, pat uintptr, obj TFcObject, string1 uintptr) (r TFcBool) {
  16577. bp := tls.Alloc(32)
  16578. defer tls.Free(32)
  16579. var l TFcValueListPtr
  16580. var v2 uintptr
  16581. var _ /* iter at bp+0 */ TFcPatternIter
  16582. var _ /* v at bp+8 */ TFcValue
  16583. _, _ = l, v2
  16584. XIA__FcPatternIterStart(tls, pat, bp)
  16585. if !(XFcPatternFindObjectIter(tls, pat, bp, obj) != 0) {
  16586. return m_FcFalse
  16587. }
  16588. l = XFcPatternIterGetValues(tls, pat, bp)
  16589. for {
  16590. if !(l != 0) {
  16591. break
  16592. }
  16593. *(*TFcValue)(unsafe.Pointer(bp + 8)) = TFcValue{}
  16594. *(*T_FcValue)(unsafe.Pointer(bp + 8)) = XFcValueCanonicalize(tls, l+8)
  16595. if (*(*TFcValue)(unsafe.Pointer(bp + 8))).Ftype1 != int32(_FcTypeString) {
  16596. break
  16597. }
  16598. if !(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8 + 8)), string1) != 0) {
  16599. return int32(m_FcTrue)
  16600. }
  16601. goto _1
  16602. _1:
  16603. ;
  16604. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  16605. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  16606. } else {
  16607. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  16608. }
  16609. l = v2
  16610. }
  16611. return m_FcFalse
  16612. }
  16613. var _platform_order = [4]TFT_UShort{
  16614. 0: uint16(m_TT_PLATFORM_MICROSOFT),
  16615. 2: uint16(m_TT_PLATFORM_MACINTOSH),
  16616. 3: uint16(m_TT_PLATFORM_ISO),
  16617. }
  16618. var _nameid_order = [10]TFT_UShort{
  16619. 0: uint16(m_TT_NAME_ID_WWS_FAMILY),
  16620. 1: uint16(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY),
  16621. 2: uint16(m_TT_NAME_ID_FONT_FAMILY),
  16622. 3: uint16(m_TT_NAME_ID_MAC_FULL_NAME),
  16623. 4: uint16(m_TT_NAME_ID_FULL_NAME),
  16624. 5: uint16(m_TT_NAME_ID_WWS_SUBFAMILY),
  16625. 6: uint16(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY),
  16626. 7: uint16(m_TT_NAME_ID_FONT_SUBFAMILY),
  16627. 8: uint16(m_TT_NAME_ID_TRADEMARK),
  16628. 9: uint16(m_TT_NAME_ID_MANUFACTURER),
  16629. }
  16630. type TFcNameMapping = struct {
  16631. Fplatform_id uint32
  16632. Fname_id uint32
  16633. Fencoding_id uint32
  16634. Flanguage_id uint32
  16635. Fidx uint32
  16636. }
  16637. func __is_english(tls *libc.TLS, platform int32, language int32) (r TFcBool) {
  16638. var ret TFcBool
  16639. _ = ret
  16640. ret = m_FcFalse
  16641. switch platform {
  16642. case int32(m_TT_PLATFORM_MACINTOSH):
  16643. ret = libc.BoolInt32(language == m_TT_MAC_LANGID_ENGLISH)
  16644. case int32(m_TT_PLATFORM_MICROSOFT):
  16645. ret = libc.BoolInt32(language == int32(m_TT_MS_LANGID_ENGLISH_UNITED_STATES))
  16646. break
  16647. }
  16648. return ret
  16649. }
  16650. func _name_mapping_cmp(tls *libc.TLS, pa uintptr, pb uintptr) (r int32) {
  16651. var a, b uintptr
  16652. var v1, v2 int32
  16653. _, _, _, _ = a, b, v1, v2
  16654. a = pa
  16655. b = pb
  16656. if (*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id {
  16657. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id)
  16658. }
  16659. if (*TFcNameMapping)(unsafe.Pointer(a)).Fname_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fname_id {
  16660. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fname_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fname_id)
  16661. }
  16662. if (*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id {
  16663. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id)
  16664. }
  16665. if (*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id != (*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id {
  16666. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id)) != 0 {
  16667. v1 = -int32(1)
  16668. } else {
  16669. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)) != 0 {
  16670. v2 = int32(1)
  16671. } else {
  16672. v2 = libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)
  16673. }
  16674. v1 = v2
  16675. }
  16676. return v1
  16677. }
  16678. if (*TFcNameMapping)(unsafe.Pointer(a)).Fidx != (*TFcNameMapping)(unsafe.Pointer(b)).Fidx {
  16679. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fidx) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fidx)
  16680. }
  16681. return 0
  16682. }
  16683. func _FcFreeTypeGetFirstName(tls *libc.TLS, face TFT_Face, platform uint32, nameid uint32, mapping uintptr, count uint32, sname uintptr) (r int32) {
  16684. var max, mid, min int32
  16685. _, _, _ = max, mid, min
  16686. min = 0
  16687. max = libc.Int32FromUint32(count) - int32(1)
  16688. for min <= max {
  16689. mid = (min + max) / int32(2)
  16690. if libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid)*20))).Fidx, sname) != 0 {
  16691. return m_FcFalse
  16692. }
  16693. if platform < uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) || platform == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (nameid < uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) || nameid == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) && (mid != 0 && platform == (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid-int32(1))*20))).Fplatform_id && nameid == (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid-int32(1))*20))).Fname_id)) {
  16694. max = mid - int32(1)
  16695. } else {
  16696. if platform > uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) || platform == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && nameid > uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) {
  16697. min = mid + int32(1)
  16698. } else {
  16699. return mid
  16700. }
  16701. }
  16702. }
  16703. return -int32(1)
  16704. }
  16705. func _FcFreeTypeQueryFaceInternal(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, cs_share uintptr, ls_share uintptr, nm_share uintptr) (r2 uintptr) {
  16706. bp := tls.Alloc(512)
  16707. defer tls.Free(512)
  16708. var bit, has_color, has_outline, i3, i7, lookupid, n1, n2, name_count, nameid, nameidx, platform, rc, slant, spacing, st, v12, v13, v17, v18, v21, v22 int32
  16709. var bits TFT_ULong
  16710. var complex_, cs, end, exclusiveLang, family, font_format, foundry, foundry_, head, instance, lang, ls, name_mapping, nlangp, np, os2, p1, pat, pp, r, r1, ss, start, style_regular, tmp, utf8, utf81, v15, v27 uintptr
  16711. var decorative, symbol, variable, variable_size, variable_weight, variable_width TFcBool
  16712. var def_value, default_value, lower_size, max_value, min_value, mult, upper_size, value, weight, weight_mult, width, width_mult, v3 float64
  16713. var ftresult TFT_Error
  16714. var i, i1, i2, i5, i6, n, p, v6, v7, v8, v9 uint32
  16715. var i4, len1, len11, len2 Tsize_t
  16716. var obj, obj1, objlang TFcObject
  16717. var value1 TFT_Int32
  16718. var v24, v28 bool
  16719. var _ /* family at bp+108 */ uintptr
  16720. var _ /* family at bp+460 */ uintptr
  16721. var _ /* familylang at bp+464 */ uintptr
  16722. var _ /* lang at bp+116 */ uintptr
  16723. var _ /* master at bp+0 */ uintptr
  16724. var _ /* nfamily at bp+48 */ int32
  16725. var _ /* nfamily_lang at bp+52 */ int32
  16726. var _ /* nfullname at bp+64 */ int32
  16727. var _ /* nfullname_lang at bp+68 */ int32
  16728. var _ /* nstyle at bp+56 */ int32
  16729. var _ /* nstyle_lang at bp+60 */ int32
  16730. var _ /* prop at bp+40 */ TBDF_PropertyRec
  16731. var _ /* psfontinfo at bp+4 */ TPS_FontInfoRec
  16732. var _ /* psname at bp+204 */ [256]uint8
  16733. var _ /* sbuf at bp+120 */ TFcStrBuf
  16734. var _ /* sname at bp+76 */ TFT_SfntName
  16735. var _ /* sname at bp+92 */ TFT_SfntName
  16736. var _ /* style at bp+112 */ uintptr
  16737. var _ /* style at bp+72 */ uintptr
  16738. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bit, bits, complex_, cs, decorative, def_value, default_value, end, exclusiveLang, family, font_format, foundry, foundry_, ftresult, has_color, has_outline, head, i, i1, i2, i3, i4, i5, i6, i7, instance, lang, len1, len11, len2, lookupid, lower_size, ls, max_value, min_value, mult, n, n1, n2, name_count, name_mapping, nameid, nameidx, nlangp, np, obj, obj1, objlang, os2, p, p1, pat, platform, pp, r, r1, rc, slant, spacing, ss, st, start, style_regular, symbol, tmp, upper_size, utf8, utf81, value, value1, variable, variable_size, variable_weight, variable_width, weight, weight_mult, width, width_mult, v12, v13, v15, v17, v18, v21, v22, v24, v27, v28, v3, v6, v7, v8, v9
  16739. slant = -int32(1)
  16740. weight = float64(-libc.Int32FromInt32(1))
  16741. width = float64(-libc.Int32FromInt32(1))
  16742. decorative = m_FcFalse
  16743. variable = m_FcFalse
  16744. variable_weight = m_FcFalse
  16745. variable_width = m_FcFalse
  16746. variable_size = m_FcFalse
  16747. name_mapping = libc.UintptrFromInt32(0)
  16748. foundry_ = libc.UintptrFromInt32(0)
  16749. foundry = uintptr(0)
  16750. /* Support for glyph-variation named-instances. */
  16751. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  16752. instance = libc.UintptrFromInt32(0)
  16753. weight_mult = float64(1)
  16754. width_mult = float64(1)
  16755. exclusiveLang = uintptr(0)
  16756. name_count = 0
  16757. *(*int32)(unsafe.Pointer(bp + 48)) = 0
  16758. *(*int32)(unsafe.Pointer(bp + 52)) = 0
  16759. *(*int32)(unsafe.Pointer(bp + 56)) = 0
  16760. *(*int32)(unsafe.Pointer(bp + 60)) = 0
  16761. *(*int32)(unsafe.Pointer(bp + 64)) = 0
  16762. *(*int32)(unsafe.Pointer(bp + 68)) = 0
  16763. *(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
  16764. symbol = m_FcFalse
  16765. XFcInitDebug(tls) /* We might be called with no initizalization whatsoever. */
  16766. pat = XIA__FcPatternCreate(tls)
  16767. if !(pat != 0) {
  16768. goto bail0
  16769. }
  16770. has_outline = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0))
  16771. has_color = 0
  16772. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_OUTLINE_OBJECT), has_outline) != 0) {
  16773. goto bail1
  16774. }
  16775. has_color = libc.BoolInt32(!!!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(14)) != 0))
  16776. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_COLOR_OBJECT), has_color) != 0) {
  16777. goto bail1
  16778. }
  16779. /* All color fonts are designed to be scaled, even if they only have
  16780. * bitmap strikes. Client is responsible to scale the bitmaps. This
  16781. * is in contrast to non-color strikes... */
  16782. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SCALABLE_OBJECT), libc.BoolInt32(has_outline != 0 || has_color != 0)) != 0) {
  16783. goto bail1
  16784. }
  16785. ftresult = libfreetype.XFT_Get_MM_Var(tls, face, bp)
  16786. if id>>int32(16) != 0 {
  16787. if ftresult != 0 {
  16788. goto bail1
  16789. }
  16790. if id>>int32(16) == uint32(0x8000) {
  16791. i = uint32(0)
  16792. for {
  16793. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16794. break
  16795. }
  16796. min_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*24))).Fminimum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16797. def_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*24))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16798. max_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*24))).Fmaximum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16799. obj = int32(_FC_INVALID_OBJECT)
  16800. if min_value > def_value || def_value > max_value || min_value == max_value {
  16801. goto _1
  16802. }
  16803. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*24))).Ftag {
  16804. case uint32(libc.Uint8FromInt32(libc.Int32FromUint8('w')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('g')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('h')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t'))):
  16805. obj = int32(_FC_WEIGHT_OBJECT)
  16806. min_value = XIA__FcWeightFromOpenTypeDouble(tls, min_value)
  16807. max_value = XIA__FcWeightFromOpenTypeDouble(tls, max_value)
  16808. variable_weight = int32(m_FcTrue)
  16809. weight = libc.Float64FromInt32(0) /* To stop looking for weight. */
  16810. case uint32(libc.Uint8FromInt32(libc.Int32FromUint8('w')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('d')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('h'))):
  16811. obj = int32(_FC_WIDTH_OBJECT)
  16812. /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
  16813. variable_width = int32(m_FcTrue)
  16814. width = libc.Float64FromInt32(0) /* To stop looking for width. */
  16815. case uint32(libc.Uint8FromInt32(libc.Int32FromUint8('o')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('s')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('z'))):
  16816. obj = int32(_FC_SIZE_OBJECT)
  16817. /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
  16818. variable_size = int32(m_FcTrue)
  16819. break
  16820. }
  16821. if obj != int32(_FC_INVALID_OBJECT) {
  16822. r = XIA__FcRangeCreateDouble(tls, min_value, max_value)
  16823. if !(XFcPatternObjectAddRange(tls, pat, obj, r) != 0) {
  16824. XIA__FcRangeDestroy(tls, r)
  16825. goto bail1
  16826. }
  16827. XIA__FcRangeDestroy(tls, r)
  16828. variable = int32(m_FcTrue)
  16829. }
  16830. goto _1
  16831. _1:
  16832. ;
  16833. i++
  16834. }
  16835. if !(variable != 0) {
  16836. goto bail1
  16837. }
  16838. id &= uint32(0xFFFF)
  16839. } else {
  16840. if id>>int32(16)-uint32(1) < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_namedstyles {
  16841. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnamedstyle + uintptr(id>>int32(16)-uint32(1))*12
  16842. i1 = uint32(0)
  16843. for {
  16844. if !(i1 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16845. break
  16846. }
  16847. value = float64(*(*TFT_Fixed)(unsafe.Pointer((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords + uintptr(i1)*4))) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16848. default_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*24))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16849. if default_value != 0 {
  16850. v3 = value / default_value
  16851. } else {
  16852. v3 = libc.Float64FromInt32(1)
  16853. }
  16854. mult = v3
  16855. //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
  16856. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*24))).Ftag {
  16857. case uint32(libc.Uint8FromInt32(libc.Int32FromUint8('w')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('g')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('h')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t'))):
  16858. weight_mult = mult
  16859. case uint32(libc.Uint8FromInt32(libc.Int32FromUint8('w')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('d')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('h'))):
  16860. width_mult = mult
  16861. case uint32(libc.Uint8FromInt32(libc.Int32FromUint8('o')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('s')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('z'))):
  16862. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), value) != 0) {
  16863. goto bail1
  16864. }
  16865. break
  16866. }
  16867. goto _2
  16868. _2:
  16869. ;
  16870. i1++
  16871. }
  16872. } else {
  16873. goto bail1
  16874. }
  16875. }
  16876. } else {
  16877. if !(ftresult != 0) {
  16878. i2 = uint32(0)
  16879. for {
  16880. if !(i2 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16881. break
  16882. }
  16883. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*24))).Ftag {
  16884. case uint32(libc.Uint8FromInt32(libc.Int32FromUint8('o')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('s')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('z'))):
  16885. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*24))).Fdef)/float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))) != 0) {
  16886. goto bail1
  16887. }
  16888. variable_size = int32(m_FcTrue)
  16889. break
  16890. }
  16891. goto _4
  16892. _4:
  16893. ;
  16894. i2++
  16895. }
  16896. } else {
  16897. /* ignore an error of FT_Get_MM_Var() */
  16898. }
  16899. }
  16900. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_VARIABLE_OBJECT), variable) != 0) {
  16901. goto bail1
  16902. }
  16903. /*
  16904. * Get the OS/2 table
  16905. */
  16906. os2 = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_OS2))
  16907. /*
  16908. * Look first in the OS/2 table for the foundry, if
  16909. * not found here, the various notices will be searched for
  16910. * that information, either from the sfnt name tables or
  16911. * the Postscript FontInfo dictionary. Finally, the
  16912. * BDF properties will queried.
  16913. */
  16914. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16915. if int32(*(*TFT_Char)(unsafe.Pointer(os2 + 60))) != 0 {
  16916. foundry_ = libc.Xmalloc(tls, libc.Uint32FromInt64(4)+libc.Uint32FromInt32(1))
  16917. libc.Xmemcpy(tls, foundry_, os2+60, uint32(4))
  16918. *(*TFcChar8)(unsafe.Pointer(foundry_ + uintptr(4))) = uint8(0)
  16919. foundry = foundry_
  16920. }
  16921. }
  16922. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16923. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  16924. }
  16925. /*
  16926. * Grub through the name table looking for family
  16927. * and style names. FreeType makes quite a hash
  16928. * of them
  16929. */
  16930. name_count = libc.Int32FromUint32(libfreetype.XFT_Get_Sfnt_Name_Count(tls, face))
  16931. if nm_share != 0 {
  16932. name_mapping = *(*uintptr)(unsafe.Pointer(nm_share))
  16933. }
  16934. if !(name_mapping != 0) {
  16935. i3 = 0
  16936. name_mapping = libc.Xmalloc(tls, libc.Uint32FromInt32(name_count)*uint32(20))
  16937. if !(name_mapping != 0) {
  16938. name_count = 0
  16939. }
  16940. i3 = 0
  16941. for {
  16942. if !(i3 < name_count) {
  16943. break
  16944. }
  16945. p1 = name_mapping + uintptr(i3)*20
  16946. if libfreetype.XFT_Get_Sfnt_Name(tls, face, libc.Uint32FromInt32(i3), bp+76) == 0 {
  16947. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 76))).Fplatform_id)
  16948. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 76))).Fname_id)
  16949. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 76))).Fencoding_id)
  16950. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 76))).Flanguage_id)
  16951. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = libc.Uint32FromInt32(i3)
  16952. } else {
  16953. v9 = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  16954. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = v9
  16955. v8 = v9
  16956. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = v8
  16957. v7 = v8
  16958. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = v7
  16959. v6 = v7
  16960. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = v6
  16961. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = v6
  16962. }
  16963. goto _5
  16964. _5:
  16965. ;
  16966. i3++
  16967. }
  16968. libc.Xqsort(tls, name_mapping, libc.Uint32FromInt32(name_count), uint32(20), __ccgo_fp(_name_mapping_cmp))
  16969. if nm_share != 0 {
  16970. *(*uintptr)(unsafe.Pointer(nm_share)) = name_mapping
  16971. }
  16972. }
  16973. p = uint32(0)
  16974. for {
  16975. if !(p < libc.Uint32FromInt64(8)/libc.Uint32FromInt64(2)) {
  16976. break
  16977. }
  16978. platform = libc.Int32FromUint16(_platform_order[p])
  16979. /*
  16980. * Order nameids so preferred names appear first
  16981. * in the resulting list
  16982. */
  16983. n = uint32(0)
  16984. for {
  16985. if !(n < libc.Uint32FromInt64(20)/libc.Uint32FromInt64(2)) {
  16986. break
  16987. }
  16988. np = uintptr(0)
  16989. nlangp = uintptr(0)
  16990. obj1 = int32(_FC_INVALID_OBJECT)
  16991. objlang = int32(_FC_INVALID_OBJECT)
  16992. v12 = libc.Int32FromUint16(_nameid_order[n])
  16993. lookupid = v12
  16994. nameid = v12
  16995. if instance != 0 {
  16996. /* For named-instances, we skip regular style nameIDs,
  16997. * and treat the instance's nameid as FONT_SUBFAMILY.
  16998. * Postscript name is automatically handled by FreeType. */
  16999. if nameid == int32(m_TT_NAME_ID_WWS_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_FULL_NAME) {
  17000. goto _11
  17001. }
  17002. if nameid == int32(m_TT_NAME_ID_FONT_SUBFAMILY) {
  17003. lookupid = libc.Int32FromUint32((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fstrid)
  17004. }
  17005. }
  17006. nameidx = _FcFreeTypeGetFirstName(tls, face, libc.Uint32FromInt32(platform), libc.Uint32FromInt32(lookupid), name_mapping, libc.Uint32FromInt32(name_count), bp+92)
  17007. if nameidx == -int32(1) {
  17008. goto _11
  17009. }
  17010. for {
  17011. switch nameid {
  17012. case int32(m_TT_NAME_ID_WWS_FAMILY):
  17013. fallthrough
  17014. case int32(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY):
  17015. fallthrough
  17016. case int32(m_TT_NAME_ID_FONT_FAMILY):
  17017. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17018. libc.Xprintf(tls, __ccgo_ts+4283, libc.VaList(bp+480, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Flanguage_id)))
  17019. }
  17020. obj1 = int32(_FC_FAMILY_OBJECT)
  17021. objlang = int32(_FC_FAMILYLANG_OBJECT)
  17022. np = bp + 48
  17023. nlangp = bp + 52
  17024. case int32(m_TT_NAME_ID_MAC_FULL_NAME):
  17025. fallthrough
  17026. case int32(m_TT_NAME_ID_FULL_NAME):
  17027. if variable != 0 {
  17028. break
  17029. }
  17030. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17031. libc.Xprintf(tls, __ccgo_ts+4323, libc.VaList(bp+480, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Flanguage_id)))
  17032. }
  17033. obj1 = int32(_FC_FULLNAME_OBJECT)
  17034. objlang = int32(_FC_FULLNAMELANG_OBJECT)
  17035. np = bp + 64
  17036. nlangp = bp + 68
  17037. case int32(m_TT_NAME_ID_WWS_SUBFAMILY):
  17038. fallthrough
  17039. case int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY):
  17040. fallthrough
  17041. case int32(m_TT_NAME_ID_FONT_SUBFAMILY):
  17042. if variable != 0 {
  17043. break
  17044. }
  17045. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17046. libc.Xprintf(tls, __ccgo_ts+4363, libc.VaList(bp+480, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Flanguage_id)))
  17047. }
  17048. obj1 = int32(_FC_STYLE_OBJECT)
  17049. objlang = int32(_FC_STYLELANG_OBJECT)
  17050. np = bp + 56
  17051. nlangp = bp + 60
  17052. case int32(m_TT_NAME_ID_TRADEMARK):
  17053. fallthrough
  17054. case int32(m_TT_NAME_ID_MANUFACTURER):
  17055. /* If the foundry wasn't found in the OS/2 table, look here */
  17056. if !(foundry != 0) {
  17057. utf8 = _FcSfntNameTranscode(tls, bp+92)
  17058. foundry = _FcNoticeFoundry(tls, utf8)
  17059. libc.Xfree(tls, utf8)
  17060. }
  17061. break
  17062. }
  17063. if obj1 != int32(_FC_INVALID_OBJECT) {
  17064. utf81 = _FcSfntNameTranscode(tls, bp+92)
  17065. lang = _FcSfntNameLanguage(tls, bp+92)
  17066. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17067. if utf81 != 0 {
  17068. v15 = utf81
  17069. } else {
  17070. v15 = __ccgo_ts + 4404
  17071. }
  17072. libc.Xprintf(tls, __ccgo_ts+4411, libc.VaList(bp+480, v15))
  17073. }
  17074. if !(utf81 != 0) {
  17075. goto _14
  17076. }
  17077. /* Trim surrounding whitespace. */
  17078. pp = utf81
  17079. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp))) == int32(' ') {
  17080. pp++
  17081. }
  17082. len1 = libc.Xstrlen(tls, pp)
  17083. libc.Xmemmove(tls, utf81, pp, len1+uint32(1))
  17084. pp = utf81 + uintptr(len1)
  17085. for pp > utf81 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp - libc.UintptrFromInt32(1)))) == int32(' ') {
  17086. pp--
  17087. }
  17088. *(*TFcChar8)(unsafe.Pointer(pp)) = uint8(0)
  17089. if _FcStringInPatternElement(tls, pat, obj1, utf81) != 0 {
  17090. libc.Xfree(tls, utf81)
  17091. goto _14
  17092. }
  17093. /* add new element */
  17094. if !(XFcPatternObjectAddString(tls, pat, obj1, utf81) != 0) {
  17095. libc.Xfree(tls, utf81)
  17096. goto bail1
  17097. }
  17098. libc.Xfree(tls, utf81)
  17099. if lang != 0 {
  17100. /* pad lang list with 'und' to line up with elt */
  17101. for *(*int32)(unsafe.Pointer(nlangp)) < *(*int32)(unsafe.Pointer(np)) {
  17102. if !(XFcPatternObjectAddString(tls, pat, objlang, __ccgo_ts+1358) != 0) {
  17103. goto bail1
  17104. }
  17105. *(*int32)(unsafe.Pointer(nlangp))++
  17106. }
  17107. if !(XFcPatternObjectAddString(tls, pat, objlang, lang) != 0) {
  17108. goto bail1
  17109. }
  17110. *(*int32)(unsafe.Pointer(nlangp))++
  17111. }
  17112. *(*int32)(unsafe.Pointer(np))++
  17113. }
  17114. goto _14
  17115. _14:
  17116. ;
  17117. nameidx++
  17118. v13 = nameidx
  17119. if !(v13 < name_count && libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(name_mapping + uintptr(nameidx)*20))).Fidx, bp+92) == 0 && platform == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fplatform_id) && lookupid == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 92))).Fname_id)) {
  17120. break
  17121. }
  17122. }
  17123. goto _11
  17124. _11:
  17125. ;
  17126. n++
  17127. }
  17128. goto _10
  17129. _10:
  17130. ;
  17131. p++
  17132. }
  17133. if !(nm_share != 0) {
  17134. libc.Xfree(tls, name_mapping)
  17135. name_mapping = libc.UintptrFromInt32(0)
  17136. }
  17137. if !(*(*int32)(unsafe.Pointer(bp + 48)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name, __ccgo_ts+112) != 0 {
  17138. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17139. libc.Xprintf(tls, __ccgo_ts+4415, libc.VaList(bp+480, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name))
  17140. }
  17141. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name) != 0) {
  17142. goto bail1
  17143. }
  17144. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2789) != 0) {
  17145. goto bail1
  17146. }
  17147. *(*int32)(unsafe.Pointer(bp + 48))++
  17148. }
  17149. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 56)) != 0) {
  17150. style_regular = __ccgo_ts + 4443
  17151. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name, __ccgo_ts+112) != 0 {
  17152. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17153. libc.Xprintf(tls, __ccgo_ts+4451, libc.VaList(bp+480, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name))
  17154. }
  17155. ss = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name
  17156. } else {
  17157. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17158. libc.Xprintf(tls, __ccgo_ts+4478, 0)
  17159. }
  17160. ss = style_regular
  17161. }
  17162. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLE_OBJECT), ss) != 0) {
  17163. goto bail1
  17164. }
  17165. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLELANG_OBJECT), __ccgo_ts+2789) != 0) {
  17166. goto bail1
  17167. }
  17168. *(*int32)(unsafe.Pointer(bp + 56))++
  17169. }
  17170. if !(*(*int32)(unsafe.Pointer(bp + 48)) != 0) && file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 {
  17171. start = libc.Xstrrchr(tls, file, int32('/'))
  17172. if start != 0 {
  17173. start++
  17174. } else {
  17175. start = file
  17176. }
  17177. end = libc.Xstrrchr(tls, start, int32('.'))
  17178. if !(end != 0) {
  17179. end = start + uintptr(libc.Xstrlen(tls, start))
  17180. }
  17181. /* freed below */
  17182. family = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(end)-int32(start)+int32(1)))
  17183. libc.Xstrncpy(tls, family, start, libc.Uint32FromInt32(int32(end)-int32(start)))
  17184. *(*TFcChar8)(unsafe.Pointer(family + uintptr(int32(end)-int32(start)))) = uint8('\000')
  17185. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17186. libc.Xprintf(tls, __ccgo_ts+4510, libc.VaList(bp+480, family))
  17187. }
  17188. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), family) != 0) {
  17189. libc.Xfree(tls, family)
  17190. goto bail1
  17191. }
  17192. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2789) != 0) {
  17193. libc.Xfree(tls, family)
  17194. goto bail1
  17195. }
  17196. libc.Xfree(tls, family)
  17197. *(*int32)(unsafe.Pointer(bp + 48))++
  17198. }
  17199. /* Add the fullname into the cache */
  17200. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 64)) != 0) {
  17201. *(*uintptr)(unsafe.Pointer(bp + 116)) = libc.UintptrFromInt32(0)
  17202. n1 = 0
  17203. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n1, bp+116) == int32(_FcResultMatch) {
  17204. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 116)), __ccgo_ts+2789) == 0 {
  17205. break
  17206. }
  17207. n1++
  17208. *(*uintptr)(unsafe.Pointer(bp + 116)) = libc.UintptrFromInt32(0)
  17209. }
  17210. if !(*(*uintptr)(unsafe.Pointer(bp + 116)) != 0) {
  17211. n1 = 0
  17212. }
  17213. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n1, bp+108) != int32(_FcResultMatch) {
  17214. goto bail1
  17215. }
  17216. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 108)))
  17217. i4 = len11
  17218. for {
  17219. if !(i4 > uint32(0)) {
  17220. break
  17221. }
  17222. v17 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 108)) + uintptr(i4-uint32(1)))))
  17223. v18 = libc.BoolInt32(v17 == int32(' ') || libc.Uint32FromInt32(v17)-uint32('\t') < uint32(5))
  17224. goto _19
  17225. _19:
  17226. if !(v18 != 0) {
  17227. break
  17228. }
  17229. goto _16
  17230. _16:
  17231. ;
  17232. i4--
  17233. }
  17234. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 108)) + uintptr(i4))) = uint8(0)
  17235. n1 = 0
  17236. for XFcPatternObjectGetString(tls, pat, int32(_FC_STYLELANG_OBJECT), n1, bp+116) == int32(_FcResultMatch) {
  17237. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 116)), __ccgo_ts+2789) == 0 {
  17238. break
  17239. }
  17240. n1++
  17241. *(*uintptr)(unsafe.Pointer(bp + 116)) = libc.UintptrFromInt32(0)
  17242. }
  17243. if !(*(*uintptr)(unsafe.Pointer(bp + 116)) != 0) {
  17244. n1 = 0
  17245. }
  17246. if XFcPatternObjectGetString(tls, pat, int32(_FC_STYLE_OBJECT), n1, bp+112) != int32(_FcResultMatch) {
  17247. goto bail1
  17248. }
  17249. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 112)))
  17250. i4 = uint32(0)
  17251. for {
  17252. if v24 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)) + uintptr(i4)))) != 0; v24 {
  17253. v21 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)) + uintptr(i4))))
  17254. v22 = libc.BoolInt32(v21 == int32(' ') || libc.Uint32FromInt32(v21)-uint32('\t') < uint32(5))
  17255. goto _23
  17256. _23:
  17257. }
  17258. if !(v24 && v22 != 0) {
  17259. break
  17260. }
  17261. goto _20
  17262. _20:
  17263. ;
  17264. i4++
  17265. }
  17266. libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 112)), *(*uintptr)(unsafe.Pointer(bp + 112))+uintptr(i4), len11-i4)
  17267. XFcStrBufInit(tls, bp+120, libc.UintptrFromInt32(0), 0)
  17268. XFcStrBufString(tls, bp+120, *(*uintptr)(unsafe.Pointer(bp + 108)))
  17269. XFcStrBufChar(tls, bp+120, uint8(' '))
  17270. XFcStrBufString(tls, bp+120, *(*uintptr)(unsafe.Pointer(bp + 112)))
  17271. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAME_OBJECT), XFcStrBufDoneStatic(tls, bp+120)) != 0) {
  17272. XFcStrBufDestroy(tls, bp+120)
  17273. goto bail1
  17274. }
  17275. XFcStrBufDestroy(tls, bp+120)
  17276. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAMELANG_OBJECT), __ccgo_ts+2789) != 0) {
  17277. goto bail1
  17278. }
  17279. *(*int32)(unsafe.Pointer(bp + 64))++
  17280. }
  17281. /* Add the PostScript name into the cache */
  17282. if !(variable != 0) {
  17283. tmp = libfreetype.XFT_Get_Postscript_Name(tls, face)
  17284. if !(tmp != 0) {
  17285. *(*uintptr)(unsafe.Pointer(bp + 464)) = libc.UintptrFromInt32(0)
  17286. n2 = 0
  17287. /* Workaround when FT_Get_Postscript_Name didn't give any name.
  17288. * try to find out the English family name and convert.
  17289. */
  17290. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n2, bp+464) == int32(_FcResultMatch) {
  17291. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 464)), __ccgo_ts+2789) == 0 {
  17292. break
  17293. }
  17294. n2++
  17295. *(*uintptr)(unsafe.Pointer(bp + 464)) = libc.UintptrFromInt32(0)
  17296. }
  17297. if !(*(*uintptr)(unsafe.Pointer(bp + 464)) != 0) {
  17298. n2 = 0
  17299. }
  17300. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n2, bp+460) != int32(_FcResultMatch) {
  17301. goto bail1
  17302. }
  17303. len2 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 460)))
  17304. /* the literal name in PostScript Language is limited to 127 characters though,
  17305. * It is the architectural limit. so assuming 255 characters may works enough.
  17306. */
  17307. i5 = uint32(0)
  17308. for {
  17309. if !(i5 < len2 && i5 < uint32(255)) {
  17310. break
  17311. }
  17312. if libc.Xstrchr(tls, uintptr(unsafe.Pointer(&_exclusive_chars)), libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 460)) + uintptr(i5))))) != libc.UintptrFromInt32(0) {
  17313. (*(*[256]uint8)(unsafe.Pointer(bp + 204)))[i5] = uint8('-')
  17314. } else {
  17315. (*(*[256]uint8)(unsafe.Pointer(bp + 204)))[i5] = *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 460)) + uintptr(i5)))
  17316. }
  17317. goto _25
  17318. _25:
  17319. ;
  17320. i5++
  17321. }
  17322. (*(*[256]uint8)(unsafe.Pointer(bp + 204)))[i5] = uint8(0)
  17323. } else {
  17324. libc.Xstrncpy(tls, bp+204, tmp, uint32(255))
  17325. (*(*[256]uint8)(unsafe.Pointer(bp + 204)))[int32(255)] = uint8(0)
  17326. }
  17327. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_POSTSCRIPT_NAME_OBJECT), bp+204) != 0) {
  17328. goto bail1
  17329. }
  17330. }
  17331. if file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 && !(XFcPatternObjectAddString(tls, pat, int32(_FC_FILE_OBJECT), file) != 0) {
  17332. goto bail1
  17333. }
  17334. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_INDEX_OBJECT), libc.Int32FromUint32(id)) != 0) {
  17335. goto bail1
  17336. }
  17337. /*
  17338. * Find the font revision (if available)
  17339. */
  17340. head = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD))
  17341. if head != 0 {
  17342. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), (*TTT_Header)(unsafe.Pointer(head)).FFont_Revision) != 0) {
  17343. goto bail1
  17344. }
  17345. } else {
  17346. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), 0) != 0) {
  17347. goto bail1
  17348. }
  17349. }
  17350. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_ORDER_OBJECT), 0) != 0) {
  17351. goto bail1
  17352. }
  17353. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  17354. i6 = uint32(0)
  17355. for {
  17356. if !(i6 < libc.Uint32FromInt32(libc.Int32FromUint32(libc.Uint32FromInt64(28)/libc.Uint32FromInt64(7)))) {
  17357. break
  17358. }
  17359. if libc.Int32FromUint8(_FcCodePageRange[i6].Fbit) < int32(32) {
  17360. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange1
  17361. bit = libc.Int32FromUint8(_FcCodePageRange[i6].Fbit)
  17362. } else {
  17363. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange2
  17364. bit = libc.Int32FromUint8(_FcCodePageRange[i6].Fbit) - int32(32)
  17365. }
  17366. if bits&(libc.Uint32FromUint32(1)<<bit) != 0 {
  17367. /*
  17368. * If the font advertises support for multiple
  17369. * "exclusive" languages, then include support
  17370. * for any language found to have coverage
  17371. */
  17372. if exclusiveLang != 0 {
  17373. exclusiveLang = uintptr(0)
  17374. break
  17375. }
  17376. exclusiveLang = uintptr(unsafe.Pointer(&_FcCodePageRange)) + uintptr(i6)*7 + 1
  17377. }
  17378. goto _26
  17379. _26:
  17380. ;
  17381. i6++
  17382. }
  17383. }
  17384. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  17385. weight = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass)
  17386. weight = XIA__FcWeightFromOpenTypeDouble(tls, weight*weight_mult)
  17387. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && weight != float64(-libc.Int32FromInt32(1)) {
  17388. libc.Xprintf(tls, __ccgo_ts+4540, libc.VaList(bp+480, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass), weight_mult, weight))
  17389. }
  17390. switch libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass) {
  17391. case int32(1):
  17392. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  17393. case int32(2):
  17394. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  17395. case int32(3):
  17396. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  17397. case int32(4):
  17398. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  17399. case int32(5):
  17400. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17401. case int32(6):
  17402. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  17403. case int32(7):
  17404. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  17405. case int32(8):
  17406. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  17407. case int32(9):
  17408. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  17409. break
  17410. }
  17411. width *= width_mult
  17412. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && width != float64(-libc.Int32FromInt32(1)) {
  17413. libc.Xprintf(tls, __ccgo_ts+4594, libc.VaList(bp+480, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass), width_mult, width))
  17414. }
  17415. }
  17416. if v28 = os2 != 0; v28 {
  17417. v27 = _FcFontCapabilities(tls, face)
  17418. complex_ = v27
  17419. }
  17420. if v28 && v27 != 0 {
  17421. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_CAPABILITY_OBJECT), complex_) != 0) {
  17422. libc.Xfree(tls, complex_)
  17423. goto bail1
  17424. }
  17425. libc.Xfree(tls, complex_)
  17426. }
  17427. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_FONT_HAS_HINT_OBJECT), _FcFontHasHint(tls, face)) != 0) {
  17428. goto bail1
  17429. }
  17430. if !(variable_size != 0) && os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0005) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  17431. /* usLowerPointSize and usUpperPointSize is actually twips */
  17432. lower_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusLowerOpticalPointSize) / libc.Float64FromFloat64(20)
  17433. upper_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusUpperOpticalPointSize) / libc.Float64FromFloat64(20)
  17434. if lower_size == upper_size {
  17435. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), lower_size) != 0) {
  17436. goto bail1
  17437. }
  17438. } else {
  17439. r1 = XIA__FcRangeCreateDouble(tls, lower_size, upper_size)
  17440. if !(XFcPatternObjectAddRange(tls, pat, int32(_FC_SIZE_OBJECT), r1) != 0) {
  17441. XIA__FcRangeDestroy(tls, r1)
  17442. goto bail1
  17443. }
  17444. XIA__FcRangeDestroy(tls, r1)
  17445. }
  17446. }
  17447. /*
  17448. * Type 1: Check for FontInfo dictionary information
  17449. * Code from g2@magestudios.net (Gerard Escalante)
  17450. */
  17451. if libfreetype.XFT_Get_PS_Font_Info(tls, face, bp+4) == 0 {
  17452. if weight == float64(-libc.Int32FromInt32(1)) && (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 4))).Fweight != 0 {
  17453. weight = float64(_FcStringIsConst(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 4))).Fweight, uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(184)/libc.Uint32FromInt64(8))))
  17454. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17455. libc.Xprintf(tls, __ccgo_ts+4646, libc.VaList(bp+480, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 4))).Fweight, weight))
  17456. }
  17457. }
  17458. if !(foundry != 0) {
  17459. foundry = _FcNoticeFoundry(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 4))).Fnotice)
  17460. }
  17461. }
  17462. /*
  17463. * Finally, look for a FOUNDRY BDF property if no other
  17464. * mechanism has managed to locate a foundry
  17465. */
  17466. if !(foundry != 0) {
  17467. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4675, bp+40)
  17468. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 40))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) {
  17469. foundry = *(*uintptr)(unsafe.Pointer(bp + 40 + 4))
  17470. }
  17471. }
  17472. if width == float64(-libc.Int32FromInt32(1)) {
  17473. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4683, bp+40) == 0 && ((*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 40))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) || (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 40))).Ftype1 == int32(_BDF_PROPERTY_TYPE_CARDINAL)) {
  17474. if (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 40))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  17475. value1 = *(*TFT_Int32)(unsafe.Pointer(bp + 40 + 4))
  17476. } else {
  17477. value1 = libc.Int32FromUint32(*(*TFT_UInt32)(unsafe.Pointer(bp + 40 + 4)))
  17478. }
  17479. switch (value1 + libc.Int32FromInt32(5)) / libc.Int32FromInt32(10) {
  17480. case int32(1):
  17481. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  17482. case int32(2):
  17483. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  17484. case int32(3):
  17485. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  17486. case int32(4):
  17487. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  17488. case int32(5):
  17489. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17490. case int32(6):
  17491. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  17492. case int32(7):
  17493. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  17494. case int32(8):
  17495. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  17496. case int32(9):
  17497. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  17498. break
  17499. }
  17500. }
  17501. if width == float64(-libc.Int32FromInt32(1)) && libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4701, bp+40) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 40))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 40 + 4)) != libc.UintptrFromInt32(0) {
  17502. width = float64(_FcStringIsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(80)/libc.Uint32FromInt64(8))))
  17503. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17504. libc.Xprintf(tls, __ccgo_ts+4715, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), width))
  17505. }
  17506. }
  17507. }
  17508. /*
  17509. * Look for weight, width and slant names in the style value
  17510. */
  17511. st = 0
  17512. for {
  17513. if !(XIA__FcPatternGetString(tls, pat, __ccgo_ts+4740, st, bp+72) == int32(_FcResultMatch)) {
  17514. break
  17515. }
  17516. if weight == float64(-libc.Int32FromInt32(1)) {
  17517. weight = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(184)/libc.Uint32FromInt64(8))))
  17518. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17519. libc.Xprintf(tls, __ccgo_ts+4746, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 72)), weight))
  17520. }
  17521. }
  17522. if width == float64(-libc.Int32FromInt32(1)) {
  17523. width = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(80)/libc.Uint32FromInt64(8))))
  17524. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17525. libc.Xprintf(tls, __ccgo_ts+4775, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 72)), width))
  17526. }
  17527. }
  17528. if slant == -int32(1) {
  17529. slant = _FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(unsafe.Pointer(&_slantConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(24)/libc.Uint32FromInt64(8)))
  17530. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17531. libc.Xprintf(tls, __ccgo_ts+4803, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 72)), slant))
  17532. }
  17533. }
  17534. if decorative == m_FcFalse {
  17535. decorative = libc.BoolInt32(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(unsafe.Pointer(&_decorativeConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(48)/libc.Uint32FromInt64(8))) > 0)
  17536. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17537. libc.Xprintf(tls, __ccgo_ts+4831, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 72)), decorative))
  17538. }
  17539. }
  17540. goto _29
  17541. _29:
  17542. ;
  17543. st++
  17544. }
  17545. /*
  17546. * Pull default values from the FreeType flags if more
  17547. * specific values not found above
  17548. */
  17549. if slant == -int32(1) {
  17550. slant = m_FC_SLANT_ROMAN
  17551. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  17552. slant = int32(m_FC_SLANT_ITALIC)
  17553. }
  17554. }
  17555. if weight == float64(-libc.Int32FromInt32(1)) {
  17556. weight = libc.Float64FromInt32(m_FC_WEIGHT_MEDIUM)
  17557. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  17558. weight = libc.Float64FromInt32(m_FC_WEIGHT_BOLD)
  17559. }
  17560. }
  17561. if width == float64(-libc.Int32FromInt32(1)) {
  17562. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17563. }
  17564. if foundry == uintptr(0) {
  17565. foundry = __ccgo_ts + 4864
  17566. }
  17567. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SLANT_OBJECT), slant) != 0) {
  17568. goto bail1
  17569. }
  17570. if !(variable_weight != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WEIGHT_OBJECT), weight) != 0) {
  17571. goto bail1
  17572. }
  17573. if !(variable_width != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WIDTH_OBJECT), width) != 0) {
  17574. goto bail1
  17575. }
  17576. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FOUNDRY_OBJECT), foundry) != 0) {
  17577. goto bail1
  17578. }
  17579. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_DECORATIVE_OBJECT), decorative) != 0) {
  17580. goto bail1
  17581. }
  17582. /*
  17583. * Compute the unicode coverage for the font
  17584. */
  17585. if cs_share != 0 && *(*uintptr)(unsafe.Pointer(cs_share)) != 0 {
  17586. cs = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(cs_share)))
  17587. } else {
  17588. cs = XIA__FcFreeTypeCharSet(tls, face, libc.UintptrFromInt32(0))
  17589. if cs_share != 0 {
  17590. *(*uintptr)(unsafe.Pointer(cs_share)) = XIA__FcCharSetCopy(tls, cs)
  17591. }
  17592. }
  17593. if !(cs != 0) {
  17594. goto bail1
  17595. }
  17596. /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
  17597. symbol = libc.BoolInt32((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 && (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding == int32(_FT_ENCODING_MS_SYMBOL))
  17598. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SYMBOL_OBJECT), symbol) != 0) {
  17599. goto bail1
  17600. }
  17601. spacing = _FcFreeTypeSpacing(tls, face)
  17602. /* For PCF fonts, override the computed spacing with the one from
  17603. the property */
  17604. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4872, bp+40) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 40))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 40 + 4)) != libc.UintptrFromInt32(0) {
  17605. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), __ccgo_ts+4880) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), __ccgo_ts+4882) != 0) {
  17606. spacing = int32(m_FC_CHARCELL)
  17607. } else {
  17608. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), __ccgo_ts+4884) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), __ccgo_ts+4886) != 0) {
  17609. spacing = int32(m_FC_MONO)
  17610. } else {
  17611. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), __ccgo_ts+4888) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), __ccgo_ts+4890) != 0) {
  17612. spacing = m_FC_PROPORTIONAL
  17613. }
  17614. }
  17615. }
  17616. }
  17617. /*
  17618. * Skip over PCF fonts that have no encoded characters; they're
  17619. * usually just Unicode fonts transcoded to some legacy encoding
  17620. * FT forces us to approximate whether a font is a PCF font
  17621. * or not by whether it has any BDF properties. Try PIXEL_SIZE;
  17622. * I don't know how to get a list of BDF properties on the font. -PL
  17623. */
  17624. if XIA__FcCharSetCount(tls, cs) == uint32(0) {
  17625. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4272, bp+40) == 0 {
  17626. goto bail2
  17627. }
  17628. }
  17629. if !(XFcPatternObjectAddCharSet(tls, pat, int32(_FC_CHARSET_OBJECT), cs) != 0) {
  17630. goto bail2
  17631. }
  17632. if !(symbol != 0) {
  17633. if ls_share != 0 && *(*uintptr)(unsafe.Pointer(ls_share)) != 0 {
  17634. ls = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(ls_share)))
  17635. } else {
  17636. ls = XFcFreeTypeLangSet(tls, cs, exclusiveLang)
  17637. if ls_share != 0 {
  17638. *(*uintptr)(unsafe.Pointer(ls_share)) = XIA__FcLangSetCopy(tls, ls)
  17639. }
  17640. }
  17641. if !(ls != 0) {
  17642. goto bail2
  17643. }
  17644. } else {
  17645. /* Symbol fonts don't cover any language, even though they
  17646. * claim to support Latin1 range. */
  17647. ls = XIA__FcLangSetCreate(tls)
  17648. }
  17649. if !(XFcPatternObjectAddLangSet(tls, pat, int32(_FC_LANG_OBJECT), ls) != 0) {
  17650. XIA__FcLangSetDestroy(tls, ls)
  17651. goto bail2
  17652. }
  17653. XIA__FcLangSetDestroy(tls, ls)
  17654. if spacing != m_FC_PROPORTIONAL {
  17655. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SPACING_OBJECT), spacing) != 0) {
  17656. goto bail2
  17657. }
  17658. }
  17659. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0) {
  17660. i7 = 0
  17661. for {
  17662. if !(i7 < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  17663. break
  17664. }
  17665. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_PIXEL_SIZE_OBJECT), _FcGetPixelSize(tls, face, i7)) != 0) {
  17666. goto bail2
  17667. }
  17668. goto _30
  17669. _30:
  17670. ;
  17671. i7++
  17672. }
  17673. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_ANTIALIAS_OBJECT), m_FcFalse) != 0) {
  17674. goto bail2
  17675. }
  17676. }
  17677. /*
  17678. * Use the (not well documented or supported) X-specific function
  17679. * from FreeType to figure out the font format
  17680. */
  17681. font_format = libfreetype.XFT_Get_X11_Font_Format(tls, face)
  17682. if font_format != 0 {
  17683. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FONTFORMAT_OBJECT), font_format) != 0) {
  17684. goto bail2
  17685. }
  17686. }
  17687. /*
  17688. * Drop our reference to the charset
  17689. */
  17690. XIA__FcCharSetDestroy(tls, cs)
  17691. if foundry_ != 0 {
  17692. libc.Xfree(tls, foundry_)
  17693. }
  17694. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  17695. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph != 0 {
  17696. libfreetype.XFT_Done_MM_Var(tls, (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Flibrary, *(*uintptr)(unsafe.Pointer(bp)))
  17697. }
  17698. }
  17699. return pat
  17700. goto bail2
  17701. bail2:
  17702. ;
  17703. XIA__FcCharSetDestroy(tls, cs)
  17704. goto bail1
  17705. bail1:
  17706. ;
  17707. XIA__FcPatternDestroy(tls, pat)
  17708. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  17709. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph != 0 {
  17710. libfreetype.XFT_Done_MM_Var(tls, (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Flibrary, *(*uintptr)(unsafe.Pointer(bp)))
  17711. }
  17712. }
  17713. if !(nm_share != 0) && name_mapping != 0 {
  17714. libc.Xfree(tls, name_mapping)
  17715. }
  17716. if foundry_ != 0 {
  17717. libc.Xfree(tls, foundry_)
  17718. }
  17719. goto bail0
  17720. bail0:
  17721. ;
  17722. return libc.UintptrFromInt32(0)
  17723. return r2
  17724. }
  17725. /* those characters are not allowed to be the literal name in PostScript */
  17726. var _exclusive_chars = [16]uint8{4, '(', ')', '/', '<', '>', '[', ']', '{', '}', 9, 12, 13, 10, ' '}
  17727. func XIA__FcFreeTypeQueryFace(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, blanks uintptr) (r uintptr) {
  17728. return _FcFreeTypeQueryFaceInternal(tls, face, file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  17729. }
  17730. var XFcFreeTypeQueryFace = XIA__FcFreeTypeQueryFace
  17731. func XIA__FcFreeTypeQuery(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr) (r uintptr) {
  17732. bp := tls.Alloc(16)
  17733. defer tls.Free(16)
  17734. var pat uintptr
  17735. var _ /* face at bp+0 */ TFT_Face
  17736. var _ /* ftLibrary at bp+4 */ TFT_Library
  17737. _ = pat
  17738. pat = libc.UintptrFromInt32(0)
  17739. if libfreetype.XFT_Init_FreeType(tls, bp+4) != 0 {
  17740. return libc.UintptrFromInt32(0)
  17741. }
  17742. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)), file, libc.Int32FromUint32(id&uint32(0x7FFFFFFF)), bp) != 0 {
  17743. goto bail
  17744. }
  17745. if count != 0 {
  17746. *(*int32)(unsafe.Pointer(count)) = (*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces
  17747. }
  17748. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  17749. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17750. goto bail
  17751. bail:
  17752. ;
  17753. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)))
  17754. return pat
  17755. }
  17756. var XFcFreeTypeQuery = XIA__FcFreeTypeQuery
  17757. func XIA__FcFreeTypeQueryAll(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr, set uintptr) (r uint32) {
  17758. bp := tls.Alloc(32)
  17759. defer tls.Free(32)
  17760. var coords, instance, pat uintptr
  17761. var err int32
  17762. var face_num, i, instance_num, num_faces, num_instances, ret, set_face_num, set_instance_num, v1, v2 uint32
  17763. var index_set, nonzero TFcBool
  17764. var _ /* cs at bp+8 */ uintptr
  17765. var _ /* face at bp+0 */ TFT_Face
  17766. var _ /* ftLibrary at bp+4 */ TFT_Library
  17767. var _ /* ls at bp+12 */ uintptr
  17768. var _ /* mm_var at bp+20 */ uintptr
  17769. var _ /* nm at bp+16 */ uintptr
  17770. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = coords, err, face_num, i, index_set, instance, instance_num, nonzero, num_faces, num_instances, pat, ret, set_face_num, set_instance_num, v1, v2
  17771. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  17772. *(*TFT_Library)(unsafe.Pointer(bp + 4)) = libc.UintptrFromInt32(0)
  17773. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  17774. *(*uintptr)(unsafe.Pointer(bp + 12)) = libc.UintptrFromInt32(0)
  17775. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  17776. *(*uintptr)(unsafe.Pointer(bp + 20)) = libc.UintptrFromInt32(0)
  17777. index_set = libc.BoolInt32(id != libc.Uint32FromInt32(-libc.Int32FromInt32(1)))
  17778. if index_set != 0 {
  17779. v1 = id & uint32(0xFFFF)
  17780. } else {
  17781. v1 = uint32(0)
  17782. }
  17783. set_face_num = v1
  17784. if index_set != 0 {
  17785. v2 = id >> int32(16)
  17786. } else {
  17787. v2 = uint32(0)
  17788. }
  17789. set_instance_num = v2
  17790. face_num = set_face_num
  17791. instance_num = set_instance_num
  17792. num_faces = uint32(0)
  17793. num_instances = uint32(0)
  17794. ret = uint32(0)
  17795. err = 0
  17796. if count != 0 {
  17797. *(*int32)(unsafe.Pointer(count)) = 0
  17798. }
  17799. if libfreetype.XFT_Init_FreeType(tls, bp+4) != 0 {
  17800. return uint32(0)
  17801. }
  17802. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)), file, libc.Int32FromUint32(face_num), bp) != 0 {
  17803. goto bail
  17804. }
  17805. num_faces = libc.Uint32FromInt32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  17806. num_instances = libc.Uint32FromInt32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fstyle_flags >> int32(16))
  17807. if num_instances != 0 && (!(index_set != 0) || instance_num != 0) {
  17808. libfreetype.XFT_Get_MM_Var(tls, *(*TFT_Face)(unsafe.Pointer(bp)), bp+20)
  17809. if !(*(*uintptr)(unsafe.Pointer(bp + 20)) != 0) {
  17810. num_instances = uint32(0)
  17811. }
  17812. }
  17813. if count != 0 {
  17814. *(*int32)(unsafe.Pointer(count)) = libc.Int32FromUint32(num_faces)
  17815. }
  17816. for cond := true; cond; cond = !(err != 0) && (!(index_set != 0) || face_num == set_face_num) && face_num < num_faces {
  17817. pat = libc.UintptrFromInt32(0)
  17818. if instance_num == uint32(0x8000) || instance_num > num_instances {
  17819. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), uint32(0), libc.UintptrFromInt32(0))
  17820. } else {
  17821. if instance_num != 0 {
  17822. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20)))).Fnamedstyle + uintptr(instance_num-uint32(1))*12
  17823. coords = (*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords
  17824. /* Skip named-instance that coincides with base instance. */
  17825. nonzero = m_FcFalse
  17826. i = uint32(0)
  17827. for {
  17828. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20)))).Fnum_axis) {
  17829. break
  17830. }
  17831. if *(*TFT_Fixed)(unsafe.Pointer(coords + uintptr(i)*4)) != (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20)))).Faxis + uintptr(i)*24))).Fdef {
  17832. nonzero = int32(m_FcTrue)
  17833. break
  17834. }
  17835. goto _3
  17836. _3:
  17837. ;
  17838. i++
  17839. }
  17840. if !(nonzero != 0) {
  17841. goto skip
  17842. }
  17843. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20)))).Fnum_axis, coords)
  17844. }
  17845. }
  17846. id = instance_num<<int32(16) + face_num
  17847. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, bp+8, bp+12, bp+16)
  17848. if pat != 0 {
  17849. ret++
  17850. if !(set != 0) || !(XIA__FcFontSetAdd(tls, set, pat) != 0) {
  17851. XIA__FcPatternDestroy(tls, pat)
  17852. }
  17853. } else {
  17854. if instance_num != uint32(0x8000) {
  17855. err = int32(1)
  17856. }
  17857. }
  17858. goto skip
  17859. skip:
  17860. ;
  17861. if !(index_set != 0) && instance_num < num_instances {
  17862. instance_num++
  17863. } else {
  17864. if !(index_set != 0) && instance_num == num_instances {
  17865. instance_num = uint32(0x8000)
  17866. } else {
  17867. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  17868. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  17869. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
  17870. *(*uintptr)(unsafe.Pointer(bp + 12)) = libc.UintptrFromInt32(0)
  17871. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  17872. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  17873. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17874. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  17875. face_num++
  17876. instance_num = set_instance_num
  17877. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)), file, libc.Int32FromUint32(face_num), bp) != 0 {
  17878. break
  17879. }
  17880. }
  17881. }
  17882. }
  17883. goto bail
  17884. bail:
  17885. ;
  17886. libfreetype.XFT_Done_MM_Var(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp + 20)))
  17887. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
  17888. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  17889. if *(*TFT_Face)(unsafe.Pointer(bp)) != 0 {
  17890. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17891. }
  17892. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)))
  17893. if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 {
  17894. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  17895. }
  17896. return ret
  17897. }
  17898. var XFcFreeTypeQueryAll = XIA__FcFreeTypeQueryAll
  17899. var _fcFontEncodings = [2]TFT_Encoding{
  17900. 0: int32(_FT_ENCODING_UNICODE),
  17901. 1: int32(_FT_ENCODING_MS_SYMBOL),
  17902. }
  17903. /*
  17904. * Map a UCS4 glyph to a glyph index. Use all available encoding
  17905. * tables to try and find one that works. This information is expected
  17906. * to be cached by higher levels, so performance isn't critical
  17907. */
  17908. func XIA__FcFreeTypeCharIndex(tls *libc.TLS, face TFT_Face, ucs4 TFcChar32) (r TFT_UInt) {
  17909. var decode, initial, offset int32
  17910. var glyphindex TFT_UInt
  17911. _, _, _, _ = decode, glyphindex, initial, offset
  17912. initial = 0
  17913. if !(face != 0) {
  17914. return uint32(0)
  17915. }
  17916. /*
  17917. * Find the current encoding
  17918. */
  17919. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 {
  17920. for {
  17921. if !(initial < libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) {
  17922. break
  17923. }
  17924. if _fcFontEncodings[initial] == (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding {
  17925. break
  17926. }
  17927. goto _1
  17928. _1:
  17929. ;
  17930. initial++
  17931. }
  17932. if initial == libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4)) {
  17933. initial = 0
  17934. }
  17935. }
  17936. /*
  17937. * Check each encoding for the glyph, starting with the current one
  17938. */
  17939. offset = 0
  17940. for {
  17941. if !(offset < libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) {
  17942. break
  17943. }
  17944. decode = (initial + offset) % libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))
  17945. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0) || (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding != _fcFontEncodings[decode] {
  17946. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[decode]) != 0 {
  17947. goto _2
  17948. }
  17949. }
  17950. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, ucs4)
  17951. if glyphindex != 0 {
  17952. return glyphindex
  17953. }
  17954. if ucs4 < uint32(0x100) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 && (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding == int32(_FT_ENCODING_MS_SYMBOL) {
  17955. /* For symbol-encoded OpenType fonts, we duplicate the
  17956. * U+F000..F0FF range at U+0000..U+00FF. That's what
  17957. * Windows seems to do, and that's hinted about at:
  17958. * http://www.microsoft.com/typography/otspec/recom.htm
  17959. * under "Non-Standard (Symbol) Fonts".
  17960. *
  17961. * See thread with subject "Webdings and other MS symbol
  17962. * fonts don't display" on mailing list from May 2015.
  17963. */
  17964. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, ucs4+uint32(0xF000))
  17965. if glyphindex != 0 {
  17966. return glyphindex
  17967. }
  17968. }
  17969. goto _2
  17970. _2:
  17971. ;
  17972. offset++
  17973. }
  17974. return uint32(0)
  17975. }
  17976. var XFcFreeTypeCharIndex = XIA__FcFreeTypeCharIndex
  17977. func _fc_min(tls *libc.TLS, a int32, b int32) (r int32) {
  17978. var v1 int32
  17979. _ = v1
  17980. if a <= b {
  17981. v1 = a
  17982. } else {
  17983. v1 = b
  17984. }
  17985. return v1
  17986. }
  17987. func _fc_max(tls *libc.TLS, a int32, b int32) (r int32) {
  17988. var v1 int32
  17989. _ = v1
  17990. if a >= b {
  17991. v1 = a
  17992. } else {
  17993. v1 = b
  17994. }
  17995. return v1
  17996. }
  17997. func _fc_approximately_equal(tls *libc.TLS, x int32, y int32) (r TFcBool) {
  17998. return libc.BoolInt32(libc.Xabs(tls, x-y)*int32(33) <= _fc_max(tls, libc.Xabs(tls, x), libc.Xabs(tls, y)))
  17999. }
  18000. func _FcFreeTypeSpacing(tls *libc.TLS, face TFT_Face) (r int32) {
  18001. bp := tls.Alloc(16)
  18002. defer tls.Free(16)
  18003. var advances [3]TFT_Pos
  18004. var i, load_flags, strike_index TFT_Int
  18005. var j, num_advances, v4 uint32
  18006. var o int32
  18007. var ucs4 TFcChar32
  18008. var _ /* advance at bp+4 */ TFT_Pos
  18009. var _ /* glyph at bp+0 */ TFT_UInt
  18010. _, _, _, _, _, _, _, _, _ = advances, i, j, load_flags, num_advances, o, strike_index, ucs4, v4
  18011. load_flags = libc.Int32FromInt32(1)<<libc.Int32FromInt32(9) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(0) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)
  18012. advances = [3]TFT_Pos{}
  18013. num_advances = uint32(0)
  18014. /* When using scalable fonts, only report those glyphs
  18015. * which can be scaled; otherwise those fonts will
  18016. * only be available at some sizes, and never when
  18017. * transformed. Avoid this by simply reporting bitmap-only
  18018. * glyphs as missing
  18019. */
  18020. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  18021. load_flags = load_flags | libc.Int32FromInt32(1)<<libc.Int32FromInt32(3)
  18022. }
  18023. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes > 0 && libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD)) != 0 {
  18024. strike_index = 0
  18025. /* Select the face closest to 16 pixels tall */
  18026. i = int32(1)
  18027. for {
  18028. if !(i < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  18029. break
  18030. }
  18031. if libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*16))).Fheight)-int32(16)) < libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(strike_index)*16))).Fheight)-int32(16)) {
  18032. strike_index = i
  18033. }
  18034. goto _1
  18035. _1:
  18036. ;
  18037. i++
  18038. }
  18039. libfreetype.XFT_Select_Size(tls, face, strike_index)
  18040. }
  18041. o = 0
  18042. for {
  18043. if !(o < libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) {
  18044. break
  18045. }
  18046. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  18047. goto _2
  18048. }
  18049. ucs4 = libfreetype.XFT_Get_First_Char(tls, face, bp)
  18050. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) && num_advances < uint32(3) {
  18051. *(*TFT_Pos)(unsafe.Pointer(bp + 4)) = 0
  18052. if !(libfreetype.XFT_Get_Advance(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags, bp+4) != 0) && *(*TFT_Pos)(unsafe.Pointer(bp + 4)) != 0 {
  18053. j = uint32(0)
  18054. for {
  18055. if !(j < num_advances) {
  18056. break
  18057. }
  18058. if _fc_approximately_equal(tls, *(*TFT_Pos)(unsafe.Pointer(bp + 4)), advances[j]) != 0 {
  18059. break
  18060. }
  18061. goto _3
  18062. _3:
  18063. ;
  18064. j++
  18065. }
  18066. if j == num_advances {
  18067. v4 = num_advances
  18068. num_advances++
  18069. advances[v4] = *(*TFT_Pos)(unsafe.Pointer(bp + 4))
  18070. }
  18071. }
  18072. ucs4 = libfreetype.XFT_Get_Next_Char(tls, face, ucs4, bp)
  18073. }
  18074. break
  18075. goto _2
  18076. _2:
  18077. ;
  18078. o++
  18079. }
  18080. if num_advances <= uint32(1) {
  18081. return int32(m_FC_MONO)
  18082. } else {
  18083. if num_advances == uint32(2) && _fc_approximately_equal(tls, _fc_min(tls, advances[0], advances[int32(1)])*int32(2), _fc_max(tls, advances[0], advances[int32(1)])) != 0 {
  18084. return int32(m_FC_DUAL)
  18085. } else {
  18086. return m_FC_PROPORTIONAL
  18087. }
  18088. }
  18089. return r
  18090. }
  18091. func XIA__FcFreeTypeCharSet(tls *libc.TLS, face TFT_Face, blanks uintptr) (r uintptr) {
  18092. bp := tls.Alloc(16)
  18093. defer tls.Free(16)
  18094. var fcs, leaf uintptr
  18095. var good TFcBool
  18096. var load_flags TFT_Int
  18097. var o int32
  18098. var off, page, ucs4 TFcChar32
  18099. var _ /* glyph at bp+0 */ TFT_UInt
  18100. _, _, _, _, _, _, _, _ = fcs, good, leaf, load_flags, o, off, page, ucs4
  18101. load_flags = libc.Int32FromInt32(1)<<libc.Int32FromInt32(9) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(0) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)
  18102. fcs = XIA__FcCharSetCreate(tls)
  18103. if !(fcs != 0) {
  18104. goto bail
  18105. }
  18106. o = 0
  18107. for {
  18108. if !(o < libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) {
  18109. break
  18110. }
  18111. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  18112. goto _1
  18113. }
  18114. page = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  18115. leaf = libc.UintptrFromInt32(0)
  18116. ucs4 = libfreetype.XFT_Get_First_Char(tls, face, bp)
  18117. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) {
  18118. good = int32(m_FcTrue)
  18119. /* CID fonts built by Adobe used to make ASCII control chars to cid1
  18120. * (space glyph). As such, always check contour for those characters. */
  18121. if ucs4 <= uint32(0x001F) {
  18122. if libfreetype.XFT_Load_Glyph(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags) != 0 || (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Fformat == int32(_FT_GLYPH_FORMAT_OUTLINE) && int32((*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Foutline.Fn_contours) == 0 {
  18123. good = m_FcFalse
  18124. }
  18125. }
  18126. if good != 0 {
  18127. XIA__FcCharSetAddChar(tls, fcs, ucs4)
  18128. if ucs4>>libc.Int32FromInt32(8) != page {
  18129. page = ucs4 >> int32(8)
  18130. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  18131. if !(leaf != 0) {
  18132. goto bail
  18133. }
  18134. }
  18135. off = ucs4 & uint32(0xff)
  18136. *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(off>>int32(5))*4)) |= uint32(1) << (off & uint32(0x1f))
  18137. }
  18138. ucs4 = libfreetype.XFT_Get_Next_Char(tls, face, ucs4, bp)
  18139. }
  18140. if _fcFontEncodings[o] == int32(_FT_ENCODING_MS_SYMBOL) {
  18141. /* For symbol-encoded OpenType fonts, we duplicate the
  18142. * U+F000..F0FF range at U+0000..U+00FF. That's what
  18143. * Windows seems to do, and that's hinted about at:
  18144. * http://www.microsoft.com/typography/otspec/recom.htm
  18145. * under "Non-Standard (Symbol) Fonts".
  18146. *
  18147. * See thread with subject "Webdings and other MS symbol
  18148. * fonts don't display" on mailing list from May 2015.
  18149. */
  18150. ucs4 = uint32(0xF000)
  18151. for {
  18152. if !(ucs4 < uint32(0xF100)) {
  18153. break
  18154. }
  18155. if XIA__FcCharSetHasChar(tls, fcs, ucs4) != 0 {
  18156. XIA__FcCharSetAddChar(tls, fcs, ucs4-uint32(0xF000))
  18157. }
  18158. goto _2
  18159. _2:
  18160. ;
  18161. ucs4++
  18162. }
  18163. }
  18164. break
  18165. goto _1
  18166. _1:
  18167. ;
  18168. o++
  18169. }
  18170. return fcs
  18171. goto bail
  18172. bail:
  18173. ;
  18174. XIA__FcCharSetDestroy(tls, fcs)
  18175. return uintptr(0)
  18176. }
  18177. var XFcFreeTypeCharSet = XIA__FcFreeTypeCharSet
  18178. func XIA__FcFreeTypeCharSetAndSpacing(tls *libc.TLS, face TFT_Face, blanks uintptr, spacing uintptr) (r uintptr) {
  18179. if spacing != 0 {
  18180. *(*int32)(unsafe.Pointer(spacing)) = _FcFreeTypeSpacing(tls, face)
  18181. }
  18182. return XIA__FcFreeTypeCharSet(tls, face, blanks)
  18183. }
  18184. var XFcFreeTypeCharSetAndSpacing = XIA__FcFreeTypeCharSetAndSpacing
  18185. /* space + head + id */
  18186. /*
  18187. * This is a bit generous; the registry has only lower case and space
  18188. * except for 'DFLT'.
  18189. */
  18190. func _addtag(tls *libc.TLS, complex_ uintptr, tag TFT_ULong) {
  18191. bp := tls.Alloc(16)
  18192. defer tls.Free(16)
  18193. var _ /* tagstring at bp+0 */ [5]TFcChar8
  18194. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0] = uint8(tag >> libc.Int32FromInt32(24))
  18195. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)] = uint8(tag >> libc.Int32FromInt32(16))
  18196. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)] = uint8(tag >> libc.Int32FromInt32(8))
  18197. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)] = uint8(tag)
  18198. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(4)] = uint8('\000')
  18199. /* skip tags which aren't alphanumeric, under the assumption that
  18200. * they're probably broken
  18201. */
  18202. if !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)])) {
  18203. return
  18204. }
  18205. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(complex_))) != int32('\000') {
  18206. libc.Xstrcat(tls, complex_, __ccgo_ts+1989)
  18207. }
  18208. libc.Xstrcat(tls, complex_, __ccgo_ts+4892)
  18209. libc.Xstrcat(tls, complex_, bp)
  18210. }
  18211. func _compareulong(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  18212. var ua, ub uintptr
  18213. _, _ = ua, ub
  18214. ua = a
  18215. ub = b
  18216. return libc.Int32FromUint32(*(*TFT_ULong)(unsafe.Pointer(ua)) - *(*TFT_ULong)(unsafe.Pointer(ub)))
  18217. }
  18218. func _FindTable(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong) (r TFcBool) {
  18219. var error1, v1 TFT_Error
  18220. var stream TFT_Stream
  18221. _, _, _ = error1, stream, v1
  18222. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  18223. if !(stream != 0) {
  18224. return m_FcFalse
  18225. }
  18226. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  18227. error1 = v1
  18228. if v1 != 0 {
  18229. return m_FcFalse
  18230. }
  18231. return int32(m_FcTrue)
  18232. }
  18233. func _GetScriptTags(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong, stags uintptr) (r int32) {
  18234. var base_offset, cur_offset, new_offset TFT_ULong
  18235. var error1, v1 TFT_Error
  18236. var n, p TFT_UShort
  18237. var script_count int32
  18238. var stream TFT_Stream
  18239. _, _, _, _, _, _, _, _, _ = base_offset, cur_offset, error1, n, new_offset, p, script_count, stream, v1
  18240. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  18241. if !(stream != 0) {
  18242. return 0
  18243. }
  18244. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  18245. error1 = v1
  18246. if v1 != 0 {
  18247. return 0
  18248. }
  18249. base_offset = libc.Uint32FromInt32(Xftglue_stream_pos(tls, stream))
  18250. /* skip version */
  18251. if Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(base_offset+uint32(4))) != 0 || Xftglue_stream_frame_enter(tls, stream, uint32(2)) != 0 {
  18252. return 0
  18253. }
  18254. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(2)
  18255. new_offset = uint32(libc.Uint16FromInt16(libc.Int16FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  18256. Xftglue_stream_frame_exit(tls, stream)
  18257. cur_offset = libc.Uint32FromInt32(Xftglue_stream_pos(tls, stream))
  18258. if Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(new_offset)) != int32(_FT_Err_Ok) {
  18259. return 0
  18260. }
  18261. base_offset = libc.Uint32FromInt32(Xftglue_stream_pos(tls, stream))
  18262. if Xftglue_stream_frame_enter(tls, stream, uint32(2)) != 0 {
  18263. return 0
  18264. }
  18265. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(2)
  18266. script_count = libc.Int32FromUint16(libc.Uint16FromInt16(libc.Int16FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  18267. Xftglue_stream_frame_exit(tls, stream)
  18268. *(*uintptr)(unsafe.Pointer(stags)) = libc.Xmalloc(tls, libc.Uint32FromInt32(script_count)*uint32(4))
  18269. if !(*(*uintptr)(unsafe.Pointer(stags)) != 0) {
  18270. return 0
  18271. }
  18272. p = uint16(0)
  18273. n = uint16(0)
  18274. for {
  18275. if !(libc.Int32FromUint16(n) < script_count) {
  18276. break
  18277. }
  18278. if Xftglue_stream_frame_enter(tls, stream, uint32(6)) != 0 {
  18279. goto Fail
  18280. }
  18281. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  18282. *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(stags)) + uintptr(p)*4)) = libc.Uint32FromInt32(libc.Int32FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  18283. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(2)
  18284. new_offset = uint32(libc.Uint16FromInt16(libc.Int16FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  18285. Xftglue_stream_frame_exit(tls, stream)
  18286. cur_offset = libc.Uint32FromInt32(Xftglue_stream_pos(tls, stream))
  18287. error1 = Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(new_offset))
  18288. if error1 == int32(_FT_Err_Ok) {
  18289. p++
  18290. }
  18291. Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(cur_offset))
  18292. goto _2
  18293. _2:
  18294. ;
  18295. n++
  18296. }
  18297. if !(p != 0) {
  18298. goto Fail
  18299. }
  18300. /* sort the tag list before returning it */
  18301. libc.Xqsort(tls, *(*uintptr)(unsafe.Pointer(stags)), libc.Uint32FromInt32(script_count), uint32(4), __ccgo_fp(_compareulong))
  18302. return script_count
  18303. goto Fail
  18304. Fail:
  18305. ;
  18306. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(stags)))
  18307. *(*uintptr)(unsafe.Pointer(stags)) = libc.UintptrFromInt32(0)
  18308. return 0
  18309. }
  18310. func _FcFontCapabilities(tls *libc.TLS, face TFT_Face) (r uintptr) {
  18311. bp := tls.Alloc(32)
  18312. defer tls.Free(32)
  18313. var complex_ uintptr
  18314. var err TFT_Error
  18315. var gpos_count, gsub_count TFT_UShort
  18316. var indx1, indx2, v1 int32
  18317. var issilgraphitefont TFcBool
  18318. var maxsize TFT_ULong
  18319. var _ /* gpostags at bp+8 */ uintptr
  18320. var _ /* gsubtags at bp+4 */ uintptr
  18321. var _ /* len at bp+0 */ TFT_ULong
  18322. _, _, _, _, _, _, _, _, _ = complex_, err, gpos_count, gsub_count, indx1, indx2, issilgraphitefont, maxsize, v1
  18323. issilgraphitefont = 0
  18324. *(*TFT_ULong)(unsafe.Pointer(bp)) = uint32(0)
  18325. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.UintptrFromInt32(0)
  18326. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  18327. gsub_count = uint16(0)
  18328. gpos_count = uint16(0)
  18329. complex_ = libc.UintptrFromInt32(0)
  18330. indx1 = 0
  18331. indx2 = 0
  18332. err = libfreetype.XFT_Load_Sfnt_Table(tls, face, uint32(libc.Uint8FromInt32(libc.Int32FromUint8('S')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('i')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('l')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('f'))), 0, uintptr(0), bp)
  18333. issilgraphitefont = libc.BoolInt32(err == int32(_FT_Err_Ok))
  18334. gpos_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint32(libc.Uint8FromInt32(libc.Int32FromUint8('G')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('P')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('O')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('S'))), bp+8))
  18335. gsub_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint32(libc.Uint8FromInt32(libc.Int32FromUint8('G')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('S')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('U')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('B'))), bp+4))
  18336. if !(issilgraphitefont != 0) && !(gsub_count != 0) && !(gpos_count != 0) {
  18337. goto bail
  18338. }
  18339. if issilgraphitefont != 0 {
  18340. v1 = int32(13)
  18341. } else {
  18342. v1 = 0
  18343. }
  18344. maxsize = (uint32(gpos_count)+uint32(gsub_count))*libc.Uint32FromInt32(libc.Int32FromInt32(1)+libc.Int32FromInt32(m_OTLAYOUT_HEAD_LEN)+libc.Int32FromInt32(m_OTLAYOUT_ID_LEN)) + libc.Uint32FromInt32(v1)
  18345. complex_ = libc.Xmalloc(tls, uint32(1)*maxsize)
  18346. if !(complex_ != 0) {
  18347. goto bail
  18348. }
  18349. *(*TFcChar8)(unsafe.Pointer(complex_)) = uint8('\000')
  18350. if issilgraphitefont != 0 {
  18351. libc.Xstrcpy(tls, complex_, __ccgo_ts+4902)
  18352. }
  18353. for indx1 < libc.Int32FromUint16(gsub_count) || indx2 < libc.Int32FromUint16(gpos_count) {
  18354. if indx1 == libc.Int32FromUint16(gsub_count) {
  18355. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx2)*4)))
  18356. indx2++
  18357. } else {
  18358. if indx2 == libc.Int32FromUint16(gpos_count) || *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)) + uintptr(indx1)*4)) < *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx2)*4)) {
  18359. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)) + uintptr(indx1)*4)))
  18360. indx1++
  18361. } else {
  18362. if *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)) + uintptr(indx1)*4)) == *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx2)*4)) {
  18363. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)) + uintptr(indx1)*4)))
  18364. indx1++
  18365. indx2++
  18366. } else {
  18367. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx2)*4)))
  18368. indx2++
  18369. }
  18370. }
  18371. }
  18372. }
  18373. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  18374. libc.Xprintf(tls, __ccgo_ts+4915, libc.VaList(bp+24, complex_))
  18375. }
  18376. goto bail
  18377. bail:
  18378. ;
  18379. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  18380. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  18381. return complex_
  18382. }
  18383. func _FcFontHasHint(tls *libc.TLS, face TFT_Face) (r TFcBool) {
  18384. return _FindTable(tls, face, uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('r')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('e')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p'))))
  18385. }
  18386. func XIA__FcFontSetCreate(tls *libc.TLS) (r uintptr) {
  18387. var s uintptr
  18388. _ = s
  18389. s = libc.Xmalloc(tls, uint32(12))
  18390. if !(s != 0) {
  18391. return uintptr(0)
  18392. }
  18393. (*TFcFontSet)(unsafe.Pointer(s)).Fnfont = 0
  18394. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = 0
  18395. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = uintptr(0)
  18396. return s
  18397. }
  18398. var XFcFontSetCreate = XIA__FcFontSetCreate
  18399. func XIA__FcFontSetDestroy(tls *libc.TLS, s uintptr) {
  18400. var i int32
  18401. _ = i
  18402. i = 0
  18403. for {
  18404. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18405. break
  18406. }
  18407. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*4)))
  18408. goto _1
  18409. _1:
  18410. ;
  18411. i++
  18412. }
  18413. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  18414. libc.Xfree(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  18415. }
  18416. libc.Xfree(tls, s)
  18417. }
  18418. var XFcFontSetDestroy = XIA__FcFontSetDestroy
  18419. func XIA__FcFontSetAdd(tls *libc.TLS, s uintptr, font uintptr) (r TFcBool) {
  18420. var f, v2 uintptr
  18421. var sfont, v1 int32
  18422. _, _, _, _ = f, sfont, v1, v2
  18423. if (*TFcFontSet)(unsafe.Pointer(s)).Fnfont == (*TFcFontSet)(unsafe.Pointer(s)).Fsfont {
  18424. sfont = (*TFcFontSet)(unsafe.Pointer(s)).Fsfont + int32(32)
  18425. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  18426. f = libc.Xrealloc(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Uint32FromInt32(sfont)*uint32(4))
  18427. } else {
  18428. f = libc.Xmalloc(tls, libc.Uint32FromInt32(sfont)*uint32(4))
  18429. }
  18430. if !(f != 0) {
  18431. return m_FcFalse
  18432. }
  18433. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = sfont
  18434. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = f
  18435. }
  18436. v2 = s
  18437. v1 = *(*int32)(unsafe.Pointer(v2))
  18438. *(*int32)(unsafe.Pointer(v2))++
  18439. *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(v1)*4)) = font
  18440. return int32(m_FcTrue)
  18441. }
  18442. var XFcFontSetAdd = XIA__FcFontSetAdd
  18443. func XFcFontSetSerializeAlloc(tls *libc.TLS, serialize uintptr, s uintptr) (r TFcBool) {
  18444. var i int32
  18445. _ = i
  18446. if !(XFcSerializeAlloc(tls, serialize, s, int32(12)) != 0) {
  18447. return m_FcFalse
  18448. }
  18449. if !(XFcSerializeAlloc(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Int32FromUint32(libc.Uint32FromInt32((*TFcFontSet)(unsafe.Pointer(s)).Fnfont)*uint32(4))) != 0) {
  18450. return m_FcFalse
  18451. }
  18452. i = 0
  18453. for {
  18454. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18455. break
  18456. }
  18457. if !(XFcPatternSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*4))) != 0) {
  18458. return m_FcFalse
  18459. }
  18460. goto _1
  18461. _1:
  18462. ;
  18463. i++
  18464. }
  18465. return int32(m_FcTrue)
  18466. }
  18467. func XFcFontSetSerialize(tls *libc.TLS, serialize uintptr, s uintptr) (r uintptr) {
  18468. var fonts_serialize, p_serialize, s_serialize uintptr
  18469. var i int32
  18470. _, _, _, _ = fonts_serialize, i, p_serialize, s_serialize
  18471. s_serialize = XFcSerializePtr(tls, serialize, s)
  18472. if !(s_serialize != 0) {
  18473. return libc.UintptrFromInt32(0)
  18474. }
  18475. *(*TFcFontSet)(unsafe.Pointer(s_serialize)) = *(*TFcFontSet)(unsafe.Pointer(s))
  18476. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fsfont = (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fnfont
  18477. fonts_serialize = XFcSerializePtr(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  18478. if !(fonts_serialize != 0) {
  18479. return libc.UintptrFromInt32(0)
  18480. }
  18481. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Ffonts = uintptr(int32(fonts_serialize) - int32(s_serialize) | libc.Int32FromInt32(1))
  18482. i = 0
  18483. for {
  18484. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18485. break
  18486. }
  18487. p_serialize = XFcPatternSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*4)))
  18488. if !(p_serialize != 0) {
  18489. return libc.UintptrFromInt32(0)
  18490. }
  18491. *(*uintptr)(unsafe.Pointer(fonts_serialize + uintptr(i)*4)) = uintptr(int32(p_serialize) - int32(s_serialize) | libc.Int32FromInt32(1))
  18492. goto _1
  18493. _1:
  18494. ;
  18495. i++
  18496. }
  18497. return s_serialize
  18498. }
  18499. func XFcFontSetDeserialize(tls *libc.TLS, set uintptr) (r uintptr) {
  18500. var i int32
  18501. var new1, v2, v3 uintptr
  18502. _, _, _, _ = i, new1, v2, v3
  18503. new1 = XIA__FcFontSetCreate(tls)
  18504. if !(new1 != 0) {
  18505. return libc.UintptrFromInt32(0)
  18506. }
  18507. i = 0
  18508. for {
  18509. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  18510. break
  18511. }
  18512. if int32((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int32(1) != 0 {
  18513. if int32((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int32(1) != 0 {
  18514. v3 = uintptr(int32(set) + int32((*TFcFontSet)(unsafe.Pointer(set)).Ffonts) & ^libc.Int32FromInt32(1))
  18515. } else {
  18516. v3 = (*TFcFontSet)(unsafe.Pointer(set)).Ffonts
  18517. }
  18518. v2 = uintptr(int32(set) + int32(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*4))) & ^libc.Int32FromInt32(1))
  18519. } else {
  18520. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*4))
  18521. }
  18522. if !(XIA__FcFontSetAdd(tls, new1, XIA__FcPatternDuplicate(tls, v2)) != 0) {
  18523. goto bail
  18524. }
  18525. goto _1
  18526. _1:
  18527. ;
  18528. i++
  18529. }
  18530. return new1
  18531. goto bail
  18532. bail:
  18533. ;
  18534. XIA__FcFontSetDestroy(tls, new1)
  18535. return libc.UintptrFromInt32(0)
  18536. }
  18537. type TFcPtrList = struct {
  18538. Fdestroy_func TFcDestroyFunc
  18539. Flist uintptr
  18540. }
  18541. type T_FcPtrList = TFcPtrList
  18542. type TFcPtrListEntry = struct {
  18543. Fnext uintptr
  18544. Fdata uintptr
  18545. }
  18546. type T_FcPtrListEntry = TFcPtrListEntry
  18547. type TFcPtrListIterPrivate = struct {
  18548. Flist uintptr
  18549. Fentry uintptr
  18550. Fprev uintptr
  18551. }
  18552. type T_FcPtrListIterPrivate = TFcPtrListIterPrivate
  18553. func XFcPtrListCreate(tls *libc.TLS, func1 TFcDestroyFunc) (r uintptr) {
  18554. var ret uintptr
  18555. _ = ret
  18556. ret = libc.Xmalloc(tls, uint32(8))
  18557. if ret != 0 {
  18558. (*TFcPtrList)(unsafe.Pointer(ret)).Fdestroy_func = func1
  18559. (*TFcPtrList)(unsafe.Pointer(ret)).Flist = libc.UintptrFromInt32(0)
  18560. }
  18561. return ret
  18562. }
  18563. func XFcPtrListDestroy(tls *libc.TLS, list uintptr) {
  18564. bp := tls.Alloc(16)
  18565. defer tls.Free(16)
  18566. var _ /* iter at bp+0 */ TFcPtrListIter
  18567. XFcPtrListIterInit(tls, list, bp)
  18568. for cond := true; cond; cond = XFcPtrListIterIsValid(tls, list, bp) != 0 {
  18569. if XFcPtrListIterGetValue(tls, list, bp) != 0 {
  18570. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcPtrList)(unsafe.Pointer(list)).Fdestroy_func})))(tls, XFcPtrListIterGetValue(tls, list, bp))
  18571. }
  18572. XFcPtrListIterRemove(tls, list, bp)
  18573. }
  18574. libc.Xfree(tls, list)
  18575. }
  18576. func XFcPtrListIterInit(tls *libc.TLS, list uintptr, iter uintptr) {
  18577. var priv uintptr
  18578. _ = priv
  18579. priv = iter
  18580. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  18581. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrList)(unsafe.Pointer(list)).Flist
  18582. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = libc.UintptrFromInt32(0)
  18583. }
  18584. func XFcPtrListIterInitAtLast(tls *libc.TLS, list uintptr, iter uintptr) {
  18585. var e, p, priv uintptr
  18586. _, _, _ = e, p, priv
  18587. priv = iter
  18588. e = list + 4
  18589. p = e
  18590. for {
  18591. if !(*(*uintptr)(unsafe.Pointer(e)) != 0) {
  18592. break
  18593. }
  18594. goto _1
  18595. _1:
  18596. ;
  18597. p = e
  18598. e = *(*uintptr)(unsafe.Pointer(e))
  18599. }
  18600. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  18601. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = *(*uintptr)(unsafe.Pointer(e))
  18602. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = *(*uintptr)(unsafe.Pointer(p))
  18603. }
  18604. func XFcPtrListIterNext(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18605. var priv uintptr
  18606. _ = priv
  18607. priv = iter
  18608. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18609. return m_FcFalse
  18610. }
  18611. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  18612. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18613. return libc.BoolInt32((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != libc.UintptrFromInt32(0))
  18614. }
  18615. func XFcPtrListIterIsValid(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18616. var priv uintptr
  18617. _ = priv
  18618. priv = iter
  18619. return libc.BoolInt32(list == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist && (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0)
  18620. }
  18621. func XFcPtrListIterGetValue(tls *libc.TLS, list uintptr, iter uintptr) (r uintptr) {
  18622. var priv uintptr
  18623. _ = priv
  18624. priv = iter
  18625. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist || !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  18626. return libc.UintptrFromInt32(0)
  18627. }
  18628. return (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fdata
  18629. }
  18630. func XFcPtrListIterAdd(tls *libc.TLS, list uintptr, iter uintptr, data uintptr) (r TFcBool) {
  18631. var e, priv uintptr
  18632. _, _ = e, priv
  18633. priv = iter
  18634. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18635. return m_FcFalse
  18636. }
  18637. e = libc.Xmalloc(tls, uint32(8))
  18638. if !(e != 0) {
  18639. return m_FcFalse
  18640. }
  18641. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fdata = data
  18642. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0 {
  18643. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18644. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext = e
  18645. } else {
  18646. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = libc.UintptrFromInt32(0)
  18647. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  18648. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = e
  18649. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev
  18650. } else {
  18651. (*TFcPtrList)(unsafe.Pointer(list)).Flist = e
  18652. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = e
  18653. return int32(m_FcTrue)
  18654. }
  18655. }
  18656. return XFcPtrListIterNext(tls, list, iter)
  18657. }
  18658. func XFcPtrListIterRemove(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18659. var e, priv uintptr
  18660. _, _ = e, priv
  18661. priv = iter
  18662. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18663. return m_FcFalse
  18664. }
  18665. if !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  18666. return int32(m_FcTrue)
  18667. }
  18668. if (*TFcPtrList)(unsafe.Pointer(list)).Flist == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry {
  18669. (*TFcPtrList)(unsafe.Pointer(list)).Flist = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrList)(unsafe.Pointer(list)).Flist)).Fnext
  18670. }
  18671. e = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  18672. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  18673. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18674. }
  18675. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18676. libc.Xfree(tls, e)
  18677. return int32(m_FcTrue)
  18678. }
  18679. const m_FC_HASH_SIZE = 227
  18680. type TFcHashTable = struct {
  18681. Fbuckets [227]uintptr
  18682. Fhash_func TFcHashFunc
  18683. Fcompare_func TFcCompareFunc
  18684. Fkey_copy_func TFcCopyFunc
  18685. Fvalue_copy_func TFcCopyFunc
  18686. Fkey_destroy_func TFcDestroyFunc
  18687. Fvalue_destroy_func TFcDestroyFunc
  18688. }
  18689. type T_FcHashTable = TFcHashTable
  18690. type TFcHashBucket = struct {
  18691. Fnext uintptr
  18692. Fkey uintptr
  18693. Fvalue uintptr
  18694. }
  18695. type T_FcHashBucket = TFcHashBucket
  18696. func XFcHashStrCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  18697. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  18698. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(dest)) != libc.UintptrFromInt32(0))
  18699. }
  18700. func XFcHashTableCreate(tls *libc.TLS, hash_func TFcHashFunc, compare_func TFcCompareFunc, key_copy_func TFcCopyFunc, value_copy_func TFcCopyFunc, key_destroy_func TFcDestroyFunc, value_destroy_func TFcDestroyFunc) (r uintptr) {
  18701. var ret uintptr
  18702. _ = ret
  18703. ret = libc.Xmalloc(tls, uint32(932))
  18704. if ret != 0 {
  18705. libc.Xmemset(tls, ret, 0, libc.Uint32FromInt64(4)*libc.Uint32FromInt32(m_FC_HASH_SIZE))
  18706. (*TFcHashTable)(unsafe.Pointer(ret)).Fhash_func = hash_func
  18707. (*TFcHashTable)(unsafe.Pointer(ret)).Fcompare_func = compare_func
  18708. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_copy_func = key_copy_func
  18709. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_copy_func = value_copy_func
  18710. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_destroy_func = key_destroy_func
  18711. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_destroy_func = value_destroy_func
  18712. }
  18713. return ret
  18714. }
  18715. func XFcHashTableDestroy(tls *libc.TLS, table uintptr) {
  18716. var bucket, prev uintptr
  18717. var i int32
  18718. _, _, _ = bucket, i, prev
  18719. i = 0
  18720. for {
  18721. if !(i < int32(m_FC_HASH_SIZE)) {
  18722. break
  18723. }
  18724. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(i)*4))
  18725. for bucket != 0 {
  18726. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18727. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18728. }
  18729. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18730. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18731. }
  18732. prev = bucket
  18733. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18734. libc.Xfree(tls, prev)
  18735. }
  18736. *(*uintptr)(unsafe.Pointer(table + uintptr(i)*4)) = libc.UintptrFromInt32(0)
  18737. goto _1
  18738. _1:
  18739. ;
  18740. i++
  18741. }
  18742. libc.Xfree(tls, table)
  18743. }
  18744. func XFcHashTableFind(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18745. var bucket uintptr
  18746. var hash TFcChar32
  18747. _, _ = bucket, hash
  18748. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18749. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(hash%uint32(m_FC_HASH_SIZE))*4))
  18750. for {
  18751. if !(bucket != 0) {
  18752. break
  18753. }
  18754. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey, key) != 0) {
  18755. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  18756. if !((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue, value) != 0) {
  18757. return m_FcFalse
  18758. }
  18759. } else {
  18760. *(*uintptr)(unsafe.Pointer(value)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue
  18761. }
  18762. return int32(m_FcTrue)
  18763. }
  18764. goto _1
  18765. _1:
  18766. ;
  18767. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18768. }
  18769. return m_FcFalse
  18770. }
  18771. func _FcHashTableAddInternal(tls *libc.TLS, table uintptr, key uintptr, value uintptr, replace TFcBool) (r TFcBool) {
  18772. var b, bucket, prev, v3 uintptr
  18773. var hash TFcChar32
  18774. var ret TFcBool
  18775. var v4, v5 int32
  18776. _, _, _, _, _, _, _, _ = b, bucket, hash, prev, ret, v3, v4, v5
  18777. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18778. ret = m_FcFalse
  18779. bucket = libc.Xmalloc(tls, uint32(12))
  18780. if !(bucket != 0) {
  18781. return m_FcFalse
  18782. }
  18783. libc.Xmemset(tls, bucket, 0, uint32(12))
  18784. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func != 0 {
  18785. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func})))(tls, key, bucket+4) != 0))
  18786. } else {
  18787. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey = key
  18788. }
  18789. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  18790. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, value, bucket+8) != 0))
  18791. } else {
  18792. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue = value
  18793. }
  18794. if !(ret != 0) {
  18795. goto _1
  18796. }
  18797. goto destroy
  18798. destroy:
  18799. ;
  18800. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18801. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18802. }
  18803. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18804. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18805. }
  18806. libc.Xfree(tls, bucket)
  18807. return libc.BoolInt32(!(ret != 0))
  18808. _1:
  18809. ;
  18810. goto retry
  18811. retry:
  18812. ;
  18813. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*4
  18814. for {
  18815. v3 = *(*uintptr)(unsafe.Pointer(prev))
  18816. b = v3
  18817. if !(v3 != 0) {
  18818. break
  18819. }
  18820. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(b)).Fkey, key) != 0) {
  18821. if replace != 0 {
  18822. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = (*TFcHashBucket)(unsafe.Pointer(b)).Fnext
  18823. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  18824. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  18825. v4 = libc.Int32FromInt32(m_FcTrue)
  18826. } else {
  18827. v4 = m_FcFalse
  18828. }
  18829. if !(v4 != 0) {
  18830. goto retry
  18831. }
  18832. bucket = b
  18833. } else {
  18834. ret = int32(m_FcTrue)
  18835. }
  18836. goto destroy
  18837. }
  18838. goto _2
  18839. _2:
  18840. ;
  18841. prev = b
  18842. }
  18843. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = libc.UintptrFromInt32(0)
  18844. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  18845. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  18846. v5 = libc.Int32FromInt32(m_FcTrue)
  18847. } else {
  18848. v5 = m_FcFalse
  18849. }
  18850. if !(v5 != 0) {
  18851. goto retry
  18852. }
  18853. return int32(m_FcTrue)
  18854. }
  18855. func XFcHashTableAdd(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18856. return _FcHashTableAddInternal(tls, table, key, value, m_FcFalse)
  18857. }
  18858. func XFcHashTableReplace(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18859. return _FcHashTableAddInternal(tls, table, key, value, int32(m_FcTrue))
  18860. }
  18861. func XFcHashTableRemove(tls *libc.TLS, table uintptr, key uintptr) (r TFcBool) {
  18862. var bucket, prev, v2 uintptr
  18863. var hash TFcChar32
  18864. var ret TFcBool
  18865. var v3 int32
  18866. _, _, _, _, _, _ = bucket, hash, prev, ret, v2, v3
  18867. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18868. ret = m_FcFalse
  18869. goto retry
  18870. retry:
  18871. ;
  18872. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*4
  18873. for {
  18874. v2 = *(*uintptr)(unsafe.Pointer(prev))
  18875. bucket = v2
  18876. if !(v2 != 0) {
  18877. break
  18878. }
  18879. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey, key) != 0) {
  18880. if *(*uintptr)(unsafe.Pointer(prev)) == bucket {
  18881. *(*uintptr)(unsafe.Pointer(prev)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18882. v3 = libc.Int32FromInt32(m_FcTrue)
  18883. } else {
  18884. v3 = m_FcFalse
  18885. }
  18886. if !(v3 != 0) {
  18887. goto retry
  18888. }
  18889. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18890. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18891. }
  18892. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18893. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18894. }
  18895. libc.Xfree(tls, bucket)
  18896. ret = int32(m_FcTrue)
  18897. break
  18898. }
  18899. goto _1
  18900. _1:
  18901. ;
  18902. prev = bucket
  18903. }
  18904. return ret
  18905. }
  18906. const m_FC_DIR_SEPARATOR_S3 = "/fontconfig"
  18907. func _FcInitFallbackConfig(tls *libc.TLS, sysroot uintptr) (r uintptr) {
  18908. var config, fallback uintptr
  18909. _, _ = config, fallback
  18910. fallback = __ccgo_ts + 4951
  18911. config = XIA__FcConfigCreate(tls)
  18912. if !(config != 0) {
  18913. goto bail0
  18914. }
  18915. XIA__FcConfigSetSysRoot(tls, config, sysroot)
  18916. if !(XIA__FcConfigParseAndLoadFromMemory(tls, config, fallback, m_FcFalse) != 0) {
  18917. goto bail1
  18918. }
  18919. return config
  18920. goto bail1
  18921. bail1:
  18922. ;
  18923. XIA__FcConfigDestroy(tls, config)
  18924. goto bail0
  18925. bail0:
  18926. ;
  18927. return uintptr(0)
  18928. return r
  18929. }
  18930. func XIA__FcGetVersion(tls *libc.TLS) (r int32) {
  18931. return libc.Int32FromInt32(m_FC_MAJOR)*libc.Int32FromInt32(10000) + libc.Int32FromInt32(m_FC_MINOR)*libc.Int32FromInt32(100) + libc.Int32FromInt32(m_FC_REVISION)
  18932. }
  18933. var XFcGetVersion = XIA__FcGetVersion
  18934. // C documentation
  18935. //
  18936. // /*
  18937. // * Load the configuration files
  18938. // */
  18939. func XFcInitLoadOwnConfig(tls *libc.TLS, config uintptr) (r uintptr) {
  18940. bp := tls.Alloc(16)
  18941. defer tls.Free(16)
  18942. var env_file, env_path, fallback, fallback1, p, prefix, sysroot, sysroot1 uintptr
  18943. var have_own TFcBool
  18944. var plen Tsize_t
  18945. _, _, _, _, _, _, _, _, _, _ = env_file, env_path, fallback, fallback1, have_own, p, plen, prefix, sysroot, sysroot1
  18946. if !(config != 0) {
  18947. config = XIA__FcConfigCreate(tls)
  18948. if !(config != 0) {
  18949. return libc.UintptrFromInt32(0)
  18950. }
  18951. }
  18952. XFcInitDebug(tls)
  18953. if !(XIA__FcConfigParseAndLoad(tls, config, uintptr(0), int32(m_FcTrue)) != 0) {
  18954. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  18955. fallback = _FcInitFallbackConfig(tls, sysroot)
  18956. XIA__FcConfigDestroy(tls, config)
  18957. return fallback
  18958. }
  18959. XFcConfigParseOnly(tls, config, __ccgo_ts+5336, m_FcFalse)
  18960. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0 && (*TFcStrSet)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)).Fnum == 0) {
  18961. goto _1
  18962. }
  18963. have_own = m_FcFalse
  18964. env_file = libc.Xgetenv(tls, __ccgo_ts+1647)
  18965. env_path = libc.Xgetenv(tls, __ccgo_ts+1497)
  18966. if env_file != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(env_file))) != 0 || env_path != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(env_path))) != 0 {
  18967. have_own = int32(m_FcTrue)
  18968. }
  18969. if !(have_own != 0) {
  18970. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5369, 0)
  18971. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5441, libc.VaList(bp+8, __ccgo_ts+5493))
  18972. }
  18973. prefix = XFcConfigXdgCacheHome(tls)
  18974. if !(prefix != 0) {
  18975. goto bail
  18976. }
  18977. plen = libc.Xstrlen(tls, prefix)
  18978. p = libc.Xrealloc(tls, prefix, plen+uint32(12))
  18979. if !(p != 0) {
  18980. goto bail
  18981. }
  18982. prefix = p
  18983. libc.Xmemcpy(tls, prefix+uintptr(plen), __ccgo_ts+5519, uint32(11))
  18984. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint32(11)))) = uint8(0)
  18985. if !(have_own != 0) {
  18986. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5531, 0)
  18987. }
  18988. if !(!(XFcConfigAddCacheDir(tls, config, __ccgo_ts+5493) != 0) || !(XFcConfigAddCacheDir(tls, config, prefix) != 0)) {
  18989. goto _2
  18990. }
  18991. goto bail
  18992. bail:
  18993. ;
  18994. sysroot1 = XIA__FcConfigGetSysRoot(tls, config)
  18995. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5604, 0)
  18996. if prefix != 0 {
  18997. XIA__FcStrFree(tls, prefix)
  18998. }
  18999. fallback1 = _FcInitFallbackConfig(tls, sysroot1)
  19000. XIA__FcConfigDestroy(tls, config)
  19001. return fallback1
  19002. _2:
  19003. ;
  19004. XIA__FcStrFree(tls, prefix)
  19005. _1:
  19006. ;
  19007. return config
  19008. }
  19009. func XIA__FcInitLoadConfig(tls *libc.TLS) (r uintptr) {
  19010. return XFcInitLoadOwnConfig(tls, libc.UintptrFromInt32(0))
  19011. }
  19012. var XFcInitLoadConfig = XIA__FcInitLoadConfig
  19013. // C documentation
  19014. //
  19015. // /*
  19016. // * Load the configuration files and scan for available fonts
  19017. // */
  19018. func XFcInitLoadOwnConfigAndFonts(tls *libc.TLS, config uintptr) (r uintptr) {
  19019. config = XFcInitLoadOwnConfig(tls, config)
  19020. if !(config != 0) {
  19021. return uintptr(0)
  19022. }
  19023. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  19024. XIA__FcConfigDestroy(tls, config)
  19025. return uintptr(0)
  19026. }
  19027. return config
  19028. }
  19029. func XIA__FcInitLoadConfigAndFonts(tls *libc.TLS) (r uintptr) {
  19030. return XFcInitLoadOwnConfigAndFonts(tls, libc.UintptrFromInt32(0))
  19031. }
  19032. var XFcInitLoadConfigAndFonts = XIA__FcInitLoadConfigAndFonts
  19033. // C documentation
  19034. //
  19035. // /*
  19036. // * Initialize the default library configuration
  19037. // */
  19038. func XIA__FcInit(tls *libc.TLS) (r TFcBool) {
  19039. return XFcConfigInit(tls)
  19040. }
  19041. var XFcInit = XIA__FcInit
  19042. // C documentation
  19043. //
  19044. // /*
  19045. // * Free all library-allocated data structures.
  19046. // */
  19047. func XIA__FcFini(tls *libc.TLS) {
  19048. XFcConfigFini(tls)
  19049. XFcConfigPathFini(tls)
  19050. XFcDefaultFini(tls)
  19051. XFcObjectFini(tls)
  19052. XFcCacheFini(tls)
  19053. }
  19054. var XFcFini = XIA__FcFini
  19055. // C documentation
  19056. //
  19057. // /*
  19058. // * Reread the configuration and available font lists
  19059. // */
  19060. func XIA__FcInitReinitialize(tls *libc.TLS) (r TFcBool) {
  19061. var config uintptr
  19062. var ret TFcBool
  19063. _, _ = config, ret
  19064. config = XIA__FcInitLoadConfigAndFonts(tls)
  19065. if !(config != 0) {
  19066. return m_FcFalse
  19067. }
  19068. ret = XIA__FcConfigSetCurrent(tls, config)
  19069. /* FcConfigSetCurrent() increases the refcount.
  19070. * decrease it here to avoid the memory leak.
  19071. */
  19072. XIA__FcConfigDestroy(tls, config)
  19073. return ret
  19074. }
  19075. var XFcInitReinitialize = XIA__FcInitReinitialize
  19076. func XIA__FcInitBringUptoDate(tls *libc.TLS) (r TFcBool) {
  19077. var config uintptr
  19078. var now Ttime_t
  19079. var ret TFcBool
  19080. _, _, _ = config, now, ret
  19081. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  19082. ret = int32(m_FcTrue)
  19083. if !(config != 0) {
  19084. return m_FcFalse
  19085. }
  19086. /*
  19087. * rescanInterval == 0 disables automatic up to date
  19088. */
  19089. if (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval == 0 {
  19090. goto bail
  19091. }
  19092. /*
  19093. * Check no more often than rescanInterval seconds
  19094. */
  19095. now = libc.Xtime(tls, uintptr(0))
  19096. if (*TFcConfig)(unsafe.Pointer(config)).FrescanTime+int64((*TFcConfig)(unsafe.Pointer(config)).FrescanInterval)-now > 0 {
  19097. goto bail
  19098. }
  19099. /*
  19100. * If up to date, don't reload configuration
  19101. */
  19102. if XIA__FcConfigUptoDate(tls, uintptr(0)) != 0 {
  19103. goto bail
  19104. }
  19105. ret = XIA__FcInitReinitialize(tls)
  19106. goto bail
  19107. bail:
  19108. ;
  19109. XIA__FcConfigDestroy(tls, config)
  19110. return ret
  19111. }
  19112. var XFcInitBringUptoDate = XIA__FcInitBringUptoDate
  19113. const m_FC_DIR_SEPARATOR_S4 = "/"
  19114. const m_FcFreeTypeCharIndex = "IA__FcFreeTypeCharIndex"
  19115. const m_FcFreeTypeCharSet = "IA__FcFreeTypeCharSet"
  19116. const m_FcFreeTypeCharSetAndSpacing = "IA__FcFreeTypeCharSetAndSpacing"
  19117. const m_FcFreeTypeQueryFace = "IA__FcFreeTypeQueryFace"
  19118. const m_NUM_COUNTRY_SET = 10
  19119. const m_NUM_LANG_CHAR_SET = 246
  19120. const m_NUM_LANG_SET_MAP = 8
  19121. type TFcLangSet = struct {
  19122. Fextra uintptr
  19123. Fmap_size TFcChar32
  19124. Fmap1 [8]TFcChar32
  19125. }
  19126. type T_FcLangSet = TFcLangSet
  19127. /* Objects MT-safe for readonly access. */
  19128. type TFcLangCharSet = struct {
  19129. Flang [16]TFcChar8
  19130. Fcharset TFcCharSet
  19131. }
  19132. type TFcLangCharSetRange = struct {
  19133. Fbegin int32
  19134. Fend int32
  19135. }
  19136. var _fcLangData = struct {
  19137. FlangCharSets [246]TFcLangCharSet
  19138. Fleaves [725]TFcCharLeaf
  19139. Fleaf_offsets [780]Tuintptr_t
  19140. Fnumbers [780]TFcChar16
  19141. FlangIndices [246]TFcChar8
  19142. FlangIndicesInv [246]TFcChar8
  19143. }{
  19144. FlangCharSets: [246]TFcLangCharSet{
  19145. 0: {
  19146. Flang: [16]TFcChar8{'a', 'a'},
  19147. Fcharset: TFcCharSet{
  19148. Fref: TFcRef{
  19149. Fcount: -libc.Int32FromInt32(1),
  19150. },
  19151. Fnum: int32(1),
  19152. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(0)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(0)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19153. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(0)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(0)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19154. },
  19155. },
  19156. 1: {
  19157. Flang: [16]TFcChar8{'a', 'b'},
  19158. Fcharset: TFcCharSet{
  19159. Fref: TFcRef{
  19160. Fcount: -libc.Int32FromInt32(1),
  19161. },
  19162. Fnum: int32(1),
  19163. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(1)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(1)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19164. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(1)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(1)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19165. },
  19166. },
  19167. 2: {
  19168. Flang: [16]TFcChar8{'a', 'f'},
  19169. Fcharset: TFcCharSet{
  19170. Fref: TFcRef{
  19171. Fcount: -libc.Int32FromInt32(1),
  19172. },
  19173. Fnum: int32(2),
  19174. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(2)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(2)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19175. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(2)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(2)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19176. },
  19177. },
  19178. 3: {
  19179. Flang: [16]TFcChar8{'a', 'k'},
  19180. Fcharset: TFcCharSet{
  19181. Fref: TFcRef{
  19182. Fcount: -libc.Int32FromInt32(1),
  19183. },
  19184. Fnum: int32(5),
  19185. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(3)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19186. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(3)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19187. },
  19188. },
  19189. 4: {
  19190. Flang: [16]TFcChar8{'a', 'm'},
  19191. Fcharset: TFcCharSet{
  19192. Fref: TFcRef{
  19193. Fcount: -libc.Int32FromInt32(1),
  19194. },
  19195. Fnum: int32(2),
  19196. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(9)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(4)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19197. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(9)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(4)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19198. },
  19199. },
  19200. 5: {
  19201. Flang: [16]TFcChar8{'a', 'n'},
  19202. Fcharset: TFcCharSet{
  19203. Fref: TFcRef{
  19204. Fcount: -libc.Int32FromInt32(1),
  19205. },
  19206. Fnum: int32(1),
  19207. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(5)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19208. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(5)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19209. },
  19210. },
  19211. 6: {
  19212. Flang: [16]TFcChar8{'a', 'r'},
  19213. Fcharset: TFcCharSet{
  19214. Fref: TFcRef{
  19215. Fcount: -libc.Int32FromInt32(1),
  19216. },
  19217. Fnum: int32(1),
  19218. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(12)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(6)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19219. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(12)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(6)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19220. },
  19221. },
  19222. 7: {
  19223. Flang: [16]TFcChar8{'a', 's'},
  19224. Fcharset: TFcCharSet{
  19225. Fref: TFcRef{
  19226. Fcount: -libc.Int32FromInt32(1),
  19227. },
  19228. Fnum: int32(1),
  19229. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(13)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(7)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19230. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(13)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(7)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19231. },
  19232. },
  19233. 8: {
  19234. Flang: [16]TFcChar8{'a', 's', 't'},
  19235. Fcharset: TFcCharSet{
  19236. Fref: TFcRef{
  19237. Fcount: -libc.Int32FromInt32(1),
  19238. },
  19239. Fnum: int32(2),
  19240. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(14)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(8)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19241. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(14)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(8)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19242. },
  19243. },
  19244. 9: {
  19245. Flang: [16]TFcChar8{'a', 'v'},
  19246. Fcharset: TFcCharSet{
  19247. Fref: TFcRef{
  19248. Fcount: -libc.Int32FromInt32(1),
  19249. },
  19250. Fnum: int32(1),
  19251. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(16)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(9)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19252. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(16)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(9)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19253. },
  19254. },
  19255. 10: {
  19256. Flang: [16]TFcChar8{'a', 'y'},
  19257. Fcharset: TFcCharSet{
  19258. Fref: TFcRef{
  19259. Fcount: -libc.Int32FromInt32(1),
  19260. },
  19261. Fnum: int32(1),
  19262. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(17)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(10)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19263. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(17)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(10)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19264. },
  19265. },
  19266. 11: {
  19267. Flang: [16]TFcChar8{'a', 'z', '-', 'a', 'z'},
  19268. Fcharset: TFcCharSet{
  19269. Fref: TFcRef{
  19270. Fcount: -libc.Int32FromInt32(1),
  19271. },
  19272. Fnum: int32(3),
  19273. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(18)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(11)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19274. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(18)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(11)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19275. },
  19276. },
  19277. 12: {
  19278. Flang: [16]TFcChar8{'a', 'z', '-', 'i', 'r'},
  19279. Fcharset: TFcCharSet{
  19280. Fref: TFcRef{
  19281. Fcount: -libc.Int32FromInt32(1),
  19282. },
  19283. Fnum: int32(1),
  19284. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(21)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(12)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19285. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(21)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(12)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19286. },
  19287. },
  19288. 13: {
  19289. Flang: [16]TFcChar8{'b', 'a'},
  19290. Fcharset: TFcCharSet{
  19291. Fref: TFcRef{
  19292. Fcount: -libc.Int32FromInt32(1),
  19293. },
  19294. Fnum: int32(1),
  19295. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(22)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(13)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19296. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(22)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(13)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19297. },
  19298. },
  19299. 14: {
  19300. Flang: [16]TFcChar8{'b', 'e'},
  19301. Fcharset: TFcCharSet{
  19302. Fref: TFcRef{
  19303. Fcount: -libc.Int32FromInt32(1),
  19304. },
  19305. Fnum: int32(1),
  19306. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(14)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19307. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(14)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19308. },
  19309. },
  19310. 15: {
  19311. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'd', 'z'},
  19312. Fcharset: TFcCharSet{
  19313. Fref: TFcRef{
  19314. Fcount: -libc.Int32FromInt32(1),
  19315. },
  19316. Fnum: int32(4),
  19317. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(15)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19318. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(15)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19319. },
  19320. },
  19321. 16: {
  19322. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'm', 'a'},
  19323. Fcharset: TFcCharSet{
  19324. Fref: TFcRef{
  19325. Fcount: -libc.Int32FromInt32(1),
  19326. },
  19327. Fnum: int32(1),
  19328. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(28)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(16)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19329. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(28)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(16)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19330. },
  19331. },
  19332. 17: {
  19333. Flang: [16]TFcChar8{'b', 'g'},
  19334. Fcharset: TFcCharSet{
  19335. Fref: TFcRef{
  19336. Fcount: -libc.Int32FromInt32(1),
  19337. },
  19338. Fnum: int32(1),
  19339. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(29)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(17)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19340. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(29)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(17)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19341. },
  19342. },
  19343. 18: {
  19344. Flang: [16]TFcChar8{'b', 'h'},
  19345. Fcharset: TFcCharSet{
  19346. Fref: TFcRef{
  19347. Fcount: -libc.Int32FromInt32(1),
  19348. },
  19349. Fnum: int32(1),
  19350. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(18)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19351. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(18)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19352. },
  19353. },
  19354. 19: {
  19355. Flang: [16]TFcChar8{'b', 'h', 'o'},
  19356. Fcharset: TFcCharSet{
  19357. Fref: TFcRef{
  19358. Fcount: -libc.Int32FromInt32(1),
  19359. },
  19360. Fnum: int32(1),
  19361. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(19)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19362. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(19)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19363. },
  19364. },
  19365. 20: {
  19366. Flang: [16]TFcChar8{'b', 'i'},
  19367. Fcharset: TFcCharSet{
  19368. Fref: TFcRef{
  19369. Fcount: -libc.Int32FromInt32(1),
  19370. },
  19371. Fnum: int32(1),
  19372. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(31)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(20)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19373. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(31)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(20)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19374. },
  19375. },
  19376. 21: {
  19377. Flang: [16]TFcChar8{'b', 'i', 'n'},
  19378. Fcharset: TFcCharSet{
  19379. Fref: TFcRef{
  19380. Fcount: -libc.Int32FromInt32(1),
  19381. },
  19382. Fnum: int32(3),
  19383. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(32)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(21)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19384. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(32)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(21)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19385. },
  19386. },
  19387. 22: {
  19388. Flang: [16]TFcChar8{'b', 'm'},
  19389. Fcharset: TFcCharSet{
  19390. Fref: TFcRef{
  19391. Fcount: -libc.Int32FromInt32(1),
  19392. },
  19393. Fnum: int32(3),
  19394. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(35)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(22)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19395. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(35)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(22)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19396. },
  19397. },
  19398. 23: {
  19399. Flang: [16]TFcChar8{'b', 'n'},
  19400. Fcharset: TFcCharSet{
  19401. Fref: TFcRef{
  19402. Fcount: -libc.Int32FromInt32(1),
  19403. },
  19404. Fnum: int32(1),
  19405. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(38)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19406. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(38)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19407. },
  19408. },
  19409. 24: {
  19410. Flang: [16]TFcChar8{'b', 'o'},
  19411. Fcharset: TFcCharSet{
  19412. Fref: TFcRef{
  19413. Fcount: -libc.Int32FromInt32(1),
  19414. },
  19415. Fnum: int32(1),
  19416. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(39)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(24)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19417. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(39)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(24)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19418. },
  19419. },
  19420. 25: {
  19421. Flang: [16]TFcChar8{'b', 'r'},
  19422. Fcharset: TFcCharSet{
  19423. Fref: TFcRef{
  19424. Fcount: -libc.Int32FromInt32(1),
  19425. },
  19426. Fnum: int32(1),
  19427. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(40)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(25)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19428. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(40)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(25)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19429. },
  19430. },
  19431. 26: {
  19432. Flang: [16]TFcChar8{'b', 'r', 'x'},
  19433. Fcharset: TFcCharSet{
  19434. Fref: TFcRef{
  19435. Fcount: -libc.Int32FromInt32(1),
  19436. },
  19437. Fnum: int32(1),
  19438. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(41)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(26)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19439. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(41)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(26)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19440. },
  19441. },
  19442. 27: {
  19443. Flang: [16]TFcChar8{'b', 's'},
  19444. Fcharset: TFcCharSet{
  19445. Fref: TFcRef{
  19446. Fcount: -libc.Int32FromInt32(1),
  19447. },
  19448. Fnum: int32(2),
  19449. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(27)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19450. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(27)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19451. },
  19452. },
  19453. 28: {
  19454. Flang: [16]TFcChar8{'b', 'u', 'a'},
  19455. Fcharset: TFcCharSet{
  19456. Fref: TFcRef{
  19457. Fcount: -libc.Int32FromInt32(1),
  19458. },
  19459. Fnum: int32(1),
  19460. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(44)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(28)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19461. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(44)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(28)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19462. },
  19463. },
  19464. 29: {
  19465. Flang: [16]TFcChar8{'b', 'y', 'n'},
  19466. Fcharset: TFcCharSet{
  19467. Fref: TFcRef{
  19468. Fcount: -libc.Int32FromInt32(1),
  19469. },
  19470. Fnum: int32(2),
  19471. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(45)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(29)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19472. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(45)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(29)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19473. },
  19474. },
  19475. 30: {
  19476. Flang: [16]TFcChar8{'c', 'a'},
  19477. Fcharset: TFcCharSet{
  19478. Fref: TFcRef{
  19479. Fcount: -libc.Int32FromInt32(1),
  19480. },
  19481. Fnum: int32(2),
  19482. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(47)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(30)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19483. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(47)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(30)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19484. },
  19485. },
  19486. 31: {
  19487. Flang: [16]TFcChar8{'c', 'e'},
  19488. Fcharset: TFcCharSet{
  19489. Fref: TFcRef{
  19490. Fcount: -libc.Int32FromInt32(1),
  19491. },
  19492. Fnum: int32(1),
  19493. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(16)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(31)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19494. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(16)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(31)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19495. },
  19496. },
  19497. 32: {
  19498. Flang: [16]TFcChar8{'c', 'h'},
  19499. Fcharset: TFcCharSet{
  19500. Fref: TFcRef{
  19501. Fcount: -libc.Int32FromInt32(1),
  19502. },
  19503. Fnum: int32(1),
  19504. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(49)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(32)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19505. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(49)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(32)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19506. },
  19507. },
  19508. 33: {
  19509. Flang: [16]TFcChar8{'c', 'h', 'm'},
  19510. Fcharset: TFcCharSet{
  19511. Fref: TFcRef{
  19512. Fcount: -libc.Int32FromInt32(1),
  19513. },
  19514. Fnum: int32(1),
  19515. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(50)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(33)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19516. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(50)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(33)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19517. },
  19518. },
  19519. 34: {
  19520. Flang: [16]TFcChar8{'c', 'h', 'r'},
  19521. Fcharset: TFcCharSet{
  19522. Fref: TFcRef{
  19523. Fcount: -libc.Int32FromInt32(1),
  19524. },
  19525. Fnum: int32(1),
  19526. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(51)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(34)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19527. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(51)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(34)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19528. },
  19529. },
  19530. 35: {
  19531. Flang: [16]TFcChar8{'c', 'o'},
  19532. Fcharset: TFcCharSet{
  19533. Fref: TFcRef{
  19534. Fcount: -libc.Int32FromInt32(1),
  19535. },
  19536. Fnum: int32(2),
  19537. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(52)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(35)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19538. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(52)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(35)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19539. },
  19540. },
  19541. 36: {
  19542. Flang: [16]TFcChar8{'c', 'r', 'h'},
  19543. Fcharset: TFcCharSet{
  19544. Fref: TFcRef{
  19545. Fcount: -libc.Int32FromInt32(1),
  19546. },
  19547. Fnum: int32(2),
  19548. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(54)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(36)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19549. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(54)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(36)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19550. },
  19551. },
  19552. 37: {
  19553. Flang: [16]TFcChar8{'c', 's'},
  19554. Fcharset: TFcCharSet{
  19555. Fref: TFcRef{
  19556. Fcount: -libc.Int32FromInt32(1),
  19557. },
  19558. Fnum: int32(2),
  19559. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(56)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(37)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19560. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(56)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(37)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19561. },
  19562. },
  19563. 38: {
  19564. Flang: [16]TFcChar8{'c', 's', 'b'},
  19565. Fcharset: TFcCharSet{
  19566. Fref: TFcRef{
  19567. Fcount: -libc.Int32FromInt32(1),
  19568. },
  19569. Fnum: int32(2),
  19570. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(58)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(38)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19571. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(58)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(38)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19572. },
  19573. },
  19574. 39: {
  19575. Flang: [16]TFcChar8{'c', 'u'},
  19576. Fcharset: TFcCharSet{
  19577. Fref: TFcRef{
  19578. Fcount: -libc.Int32FromInt32(1),
  19579. },
  19580. Fnum: int32(1),
  19581. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(60)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(39)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19582. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(60)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(39)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19583. },
  19584. },
  19585. 40: {
  19586. Flang: [16]TFcChar8{'c', 'v'},
  19587. Fcharset: TFcCharSet{
  19588. Fref: TFcRef{
  19589. Fcount: -libc.Int32FromInt32(1),
  19590. },
  19591. Fnum: int32(2),
  19592. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(61)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(40)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19593. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(61)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(40)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19594. },
  19595. },
  19596. 41: {
  19597. Flang: [16]TFcChar8{'c', 'y'},
  19598. Fcharset: TFcCharSet{
  19599. Fref: TFcRef{
  19600. Fcount: -libc.Int32FromInt32(1),
  19601. },
  19602. Fnum: int32(3),
  19603. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(63)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(41)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19604. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(63)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(41)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19605. },
  19606. },
  19607. 42: {
  19608. Flang: [16]TFcChar8{'d', 'a'},
  19609. Fcharset: TFcCharSet{
  19610. Fref: TFcRef{
  19611. Fcount: -libc.Int32FromInt32(1),
  19612. },
  19613. Fnum: int32(1),
  19614. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(66)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(42)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19615. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(66)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(42)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19616. },
  19617. },
  19618. 43: {
  19619. Flang: [16]TFcChar8{'d', 'e'},
  19620. Fcharset: TFcCharSet{
  19621. Fref: TFcRef{
  19622. Fcount: -libc.Int32FromInt32(1),
  19623. },
  19624. Fnum: int32(1),
  19625. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(67)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(43)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19626. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(67)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(43)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19627. },
  19628. },
  19629. 44: {
  19630. Flang: [16]TFcChar8{'d', 'o', 'i'},
  19631. Fcharset: TFcCharSet{
  19632. Fref: TFcRef{
  19633. Fcount: -libc.Int32FromInt32(1),
  19634. },
  19635. Fnum: int32(1),
  19636. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(68)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(44)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19637. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(68)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(44)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19638. },
  19639. },
  19640. 45: {
  19641. Flang: [16]TFcChar8{'d', 'v'},
  19642. Fcharset: TFcCharSet{
  19643. Fref: TFcRef{
  19644. Fcount: -libc.Int32FromInt32(1),
  19645. },
  19646. Fnum: int32(1),
  19647. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(69)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(45)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19648. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(69)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(45)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19649. },
  19650. },
  19651. 46: {
  19652. Flang: [16]TFcChar8{'d', 'z'},
  19653. Fcharset: TFcCharSet{
  19654. Fref: TFcRef{
  19655. Fcount: -libc.Int32FromInt32(1),
  19656. },
  19657. Fnum: int32(1),
  19658. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(39)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(46)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19659. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(39)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(46)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19660. },
  19661. },
  19662. 47: {
  19663. Flang: [16]TFcChar8{'e', 'e'},
  19664. Fcharset: TFcCharSet{
  19665. Fref: TFcRef{
  19666. Fcount: -libc.Int32FromInt32(1),
  19667. },
  19668. Fnum: int32(4),
  19669. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(70)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(47)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19670. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(70)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(47)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19671. },
  19672. },
  19673. 48: {
  19674. Flang: [16]TFcChar8{'e', 'l'},
  19675. Fcharset: TFcCharSet{
  19676. Fref: TFcRef{
  19677. Fcount: -libc.Int32FromInt32(1),
  19678. },
  19679. Fnum: int32(1),
  19680. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(74)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(48)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19681. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(74)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(48)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19682. },
  19683. },
  19684. 49: {
  19685. Flang: [16]TFcChar8{'e', 'n'},
  19686. Fcharset: TFcCharSet{
  19687. Fref: TFcRef{
  19688. Fcount: -libc.Int32FromInt32(1),
  19689. },
  19690. Fnum: int32(1),
  19691. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(75)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(49)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19692. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(75)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(49)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19693. },
  19694. },
  19695. 50: {
  19696. Flang: [16]TFcChar8{'e', 'o'},
  19697. Fcharset: TFcCharSet{
  19698. Fref: TFcRef{
  19699. Fcount: -libc.Int32FromInt32(1),
  19700. },
  19701. Fnum: int32(2),
  19702. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(76)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(50)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19703. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(76)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(50)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19704. },
  19705. },
  19706. 51: {
  19707. Flang: [16]TFcChar8{'e', 's'},
  19708. Fcharset: TFcCharSet{
  19709. Fref: TFcRef{
  19710. Fcount: -libc.Int32FromInt32(1),
  19711. },
  19712. Fnum: int32(1),
  19713. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(51)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19714. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(51)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19715. },
  19716. },
  19717. 52: {
  19718. Flang: [16]TFcChar8{'e', 't'},
  19719. Fcharset: TFcCharSet{
  19720. Fref: TFcRef{
  19721. Fcount: -libc.Int32FromInt32(1),
  19722. },
  19723. Fnum: int32(2),
  19724. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(78)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(52)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19725. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(78)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(52)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19726. },
  19727. },
  19728. 53: {
  19729. Flang: [16]TFcChar8{'e', 'u'},
  19730. Fcharset: TFcCharSet{
  19731. Fref: TFcRef{
  19732. Fcount: -libc.Int32FromInt32(1),
  19733. },
  19734. Fnum: int32(1),
  19735. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(80)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(53)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19736. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(80)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(53)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19737. },
  19738. },
  19739. 54: {
  19740. Flang: [16]TFcChar8{'f', 'a'},
  19741. Fcharset: TFcCharSet{
  19742. Fref: TFcRef{
  19743. Fcount: -libc.Int32FromInt32(1),
  19744. },
  19745. Fnum: int32(1),
  19746. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(21)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(54)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19747. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(21)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(54)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19748. },
  19749. },
  19750. 55: {
  19751. Flang: [16]TFcChar8{'f', 'a', 't'},
  19752. Fcharset: TFcCharSet{
  19753. Fref: TFcRef{
  19754. Fcount: -libc.Int32FromInt32(1),
  19755. },
  19756. Fnum: int32(5),
  19757. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(55)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19758. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(55)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19759. },
  19760. },
  19761. 56: {
  19762. Flang: [16]TFcChar8{'f', 'f'},
  19763. Fcharset: TFcCharSet{
  19764. Fref: TFcRef{
  19765. Fcount: -libc.Int32FromInt32(1),
  19766. },
  19767. Fnum: int32(3),
  19768. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(81)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(56)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19769. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(81)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(56)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19770. },
  19771. },
  19772. 57: {
  19773. Flang: [16]TFcChar8{'f', 'i'},
  19774. Fcharset: TFcCharSet{
  19775. Fref: TFcRef{
  19776. Fcount: -libc.Int32FromInt32(1),
  19777. },
  19778. Fnum: int32(2),
  19779. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(84)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(57)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19780. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(84)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(57)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19781. },
  19782. },
  19783. 58: {
  19784. Flang: [16]TFcChar8{'f', 'i', 'l'},
  19785. Fcharset: TFcCharSet{
  19786. Fref: TFcRef{
  19787. Fcount: -libc.Int32FromInt32(1),
  19788. },
  19789. Fnum: int32(1),
  19790. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(86)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(58)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19791. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(86)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(58)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19792. },
  19793. },
  19794. 59: {
  19795. Flang: [16]TFcChar8{'f', 'j'},
  19796. Fcharset: TFcCharSet{
  19797. Fref: TFcRef{
  19798. Fcount: -libc.Int32FromInt32(1),
  19799. },
  19800. Fnum: int32(1),
  19801. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(59)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19802. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(59)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19803. },
  19804. },
  19805. 60: {
  19806. Flang: [16]TFcChar8{'f', 'o'},
  19807. Fcharset: TFcCharSet{
  19808. Fref: TFcRef{
  19809. Fcount: -libc.Int32FromInt32(1),
  19810. },
  19811. Fnum: int32(1),
  19812. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(88)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(60)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19813. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(88)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(60)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19814. },
  19815. },
  19816. 61: {
  19817. Flang: [16]TFcChar8{'f', 'r'},
  19818. Fcharset: TFcCharSet{
  19819. Fref: TFcRef{
  19820. Fcount: -libc.Int32FromInt32(1),
  19821. },
  19822. Fnum: int32(2),
  19823. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(52)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(61)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19824. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(52)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(61)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19825. },
  19826. },
  19827. 62: {
  19828. Flang: [16]TFcChar8{'f', 'u', 'r'},
  19829. Fcharset: TFcCharSet{
  19830. Fref: TFcRef{
  19831. Fcount: -libc.Int32FromInt32(1),
  19832. },
  19833. Fnum: int32(1),
  19834. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(89)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(62)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19835. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(89)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(62)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19836. },
  19837. },
  19838. 63: {
  19839. Flang: [16]TFcChar8{'f', 'y'},
  19840. Fcharset: TFcCharSet{
  19841. Fref: TFcRef{
  19842. Fcount: -libc.Int32FromInt32(1),
  19843. },
  19844. Fnum: int32(1),
  19845. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(90)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(63)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19846. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(90)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(63)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19847. },
  19848. },
  19849. 64: {
  19850. Flang: [16]TFcChar8{'g', 'a'},
  19851. Fcharset: TFcCharSet{
  19852. Fref: TFcRef{
  19853. Fcount: -libc.Int32FromInt32(1),
  19854. },
  19855. Fnum: int32(3),
  19856. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(91)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(64)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19857. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(91)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(64)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19858. },
  19859. },
  19860. 65: {
  19861. Flang: [16]TFcChar8{'g', 'd'},
  19862. Fcharset: TFcCharSet{
  19863. Fref: TFcRef{
  19864. Fcount: -libc.Int32FromInt32(1),
  19865. },
  19866. Fnum: int32(1),
  19867. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(94)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(65)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19868. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(94)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(65)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19869. },
  19870. },
  19871. 66: {
  19872. Flang: [16]TFcChar8{'g', 'e', 'z'},
  19873. Fcharset: TFcCharSet{
  19874. Fref: TFcRef{
  19875. Fcount: -libc.Int32FromInt32(1),
  19876. },
  19877. Fnum: int32(2),
  19878. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(95)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(66)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19879. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(95)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(66)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19880. },
  19881. },
  19882. 67: {
  19883. Flang: [16]TFcChar8{'g', 'l'},
  19884. Fcharset: TFcCharSet{
  19885. Fref: TFcRef{
  19886. Fcount: -libc.Int32FromInt32(1),
  19887. },
  19888. Fnum: int32(1),
  19889. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(67)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19890. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(67)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19891. },
  19892. },
  19893. 68: {
  19894. Flang: [16]TFcChar8{'g', 'n'},
  19895. Fcharset: TFcCharSet{
  19896. Fref: TFcRef{
  19897. Fcount: -libc.Int32FromInt32(1),
  19898. },
  19899. Fnum: int32(3),
  19900. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(97)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(68)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19901. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(97)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(68)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19902. },
  19903. },
  19904. 69: {
  19905. Flang: [16]TFcChar8{'g', 'u'},
  19906. Fcharset: TFcCharSet{
  19907. Fref: TFcRef{
  19908. Fcount: -libc.Int32FromInt32(1),
  19909. },
  19910. Fnum: int32(1),
  19911. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(100)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(69)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19912. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(100)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(69)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19913. },
  19914. },
  19915. 70: {
  19916. Flang: [16]TFcChar8{'g', 'v'},
  19917. Fcharset: TFcCharSet{
  19918. Fref: TFcRef{
  19919. Fcount: -libc.Int32FromInt32(1),
  19920. },
  19921. Fnum: int32(1),
  19922. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(101)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(70)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19923. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(101)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(70)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19924. },
  19925. },
  19926. 71: {
  19927. Flang: [16]TFcChar8{'h', 'a'},
  19928. Fcharset: TFcCharSet{
  19929. Fref: TFcRef{
  19930. Fcount: -libc.Int32FromInt32(1),
  19931. },
  19932. Fnum: int32(3),
  19933. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(102)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(71)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19934. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(102)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(71)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19935. },
  19936. },
  19937. 72: {
  19938. Flang: [16]TFcChar8{'h', 'a', 'w'},
  19939. Fcharset: TFcCharSet{
  19940. Fref: TFcRef{
  19941. Fcount: -libc.Int32FromInt32(1),
  19942. },
  19943. Fnum: int32(3),
  19944. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(105)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(72)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19945. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(105)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(72)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19946. },
  19947. },
  19948. 73: {
  19949. Flang: [16]TFcChar8{'h', 'e'},
  19950. Fcharset: TFcCharSet{
  19951. Fref: TFcRef{
  19952. Fcount: -libc.Int32FromInt32(1),
  19953. },
  19954. Fnum: int32(1),
  19955. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(108)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(73)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19956. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(108)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(73)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19957. },
  19958. },
  19959. 74: {
  19960. Flang: [16]TFcChar8{'h', 'i'},
  19961. Fcharset: TFcCharSet{
  19962. Fref: TFcRef{
  19963. Fcount: -libc.Int32FromInt32(1),
  19964. },
  19965. Fnum: int32(1),
  19966. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(74)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19967. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(74)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19968. },
  19969. },
  19970. 75: {
  19971. Flang: [16]TFcChar8{'h', 'n', 'e'},
  19972. Fcharset: TFcCharSet{
  19973. Fref: TFcRef{
  19974. Fcount: -libc.Int32FromInt32(1),
  19975. },
  19976. Fnum: int32(1),
  19977. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(75)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19978. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(75)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19979. },
  19980. },
  19981. 76: {
  19982. Flang: [16]TFcChar8{'h', 'o'},
  19983. Fcharset: TFcCharSet{
  19984. Fref: TFcRef{
  19985. Fcount: -libc.Int32FromInt32(1),
  19986. },
  19987. Fnum: int32(1),
  19988. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(76)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19989. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(76)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  19990. },
  19991. },
  19992. 77: {
  19993. Flang: [16]TFcChar8{'h', 'r'},
  19994. Fcharset: TFcCharSet{
  19995. Fref: TFcRef{
  19996. Fcount: -libc.Int32FromInt32(1),
  19997. },
  19998. Fnum: int32(2),
  19999. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(77)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20000. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(77)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20001. },
  20002. },
  20003. 78: {
  20004. Flang: [16]TFcChar8{'h', 's', 'b'},
  20005. Fcharset: TFcCharSet{
  20006. Fref: TFcRef{
  20007. Fcount: -libc.Int32FromInt32(1),
  20008. },
  20009. Fnum: int32(2),
  20010. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(109)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(78)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20011. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(109)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(78)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20012. },
  20013. },
  20014. 79: {
  20015. Flang: [16]TFcChar8{'h', 't'},
  20016. Fcharset: TFcCharSet{
  20017. Fref: TFcRef{
  20018. Fcount: -libc.Int32FromInt32(1),
  20019. },
  20020. Fnum: int32(1),
  20021. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(111)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(79)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20022. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(111)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(79)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20023. },
  20024. },
  20025. 80: {
  20026. Flang: [16]TFcChar8{'h', 'u'},
  20027. Fcharset: TFcCharSet{
  20028. Fref: TFcRef{
  20029. Fcount: -libc.Int32FromInt32(1),
  20030. },
  20031. Fnum: int32(2),
  20032. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(112)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(80)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20033. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(112)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(80)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20034. },
  20035. },
  20036. 81: {
  20037. Flang: [16]TFcChar8{'h', 'y'},
  20038. Fcharset: TFcCharSet{
  20039. Fref: TFcRef{
  20040. Fcount: -libc.Int32FromInt32(1),
  20041. },
  20042. Fnum: int32(1),
  20043. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(114)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(81)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20044. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(114)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(81)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20045. },
  20046. },
  20047. 82: {
  20048. Flang: [16]TFcChar8{'h', 'z'},
  20049. Fcharset: TFcCharSet{
  20050. Fref: TFcRef{
  20051. Fcount: -libc.Int32FromInt32(1),
  20052. },
  20053. Fnum: int32(3),
  20054. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(115)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(82)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20055. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(115)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(82)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20056. },
  20057. },
  20058. 83: {
  20059. Flang: [16]TFcChar8{'i', 'a'},
  20060. Fcharset: TFcCharSet{
  20061. Fref: TFcRef{
  20062. Fcount: -libc.Int32FromInt32(1),
  20063. },
  20064. Fnum: int32(1),
  20065. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(83)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20066. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(83)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20067. },
  20068. },
  20069. 84: {
  20070. Flang: [16]TFcChar8{'i', 'd'},
  20071. Fcharset: TFcCharSet{
  20072. Fref: TFcRef{
  20073. Fcount: -libc.Int32FromInt32(1),
  20074. },
  20075. Fnum: int32(1),
  20076. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(118)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(84)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20077. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(118)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(84)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20078. },
  20079. },
  20080. 85: {
  20081. Flang: [16]TFcChar8{'i', 'e'},
  20082. Fcharset: TFcCharSet{
  20083. Fref: TFcRef{
  20084. Fcount: -libc.Int32FromInt32(1),
  20085. },
  20086. Fnum: int32(1),
  20087. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(119)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(85)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20088. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(119)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(85)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20089. },
  20090. },
  20091. 86: {
  20092. Flang: [16]TFcChar8{'i', 'g'},
  20093. Fcharset: TFcCharSet{
  20094. Fref: TFcRef{
  20095. Fcount: -libc.Int32FromInt32(1),
  20096. },
  20097. Fnum: int32(2),
  20098. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(120)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(86)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20099. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(120)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(86)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20100. },
  20101. },
  20102. 87: {
  20103. Flang: [16]TFcChar8{'i', 'i'},
  20104. Fcharset: TFcCharSet{
  20105. Fref: TFcRef{
  20106. Fcount: -libc.Int32FromInt32(1),
  20107. },
  20108. Fnum: int32(5),
  20109. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(122)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(87)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20110. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(122)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(87)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20111. },
  20112. },
  20113. 88: {
  20114. Flang: [16]TFcChar8{'i', 'k'},
  20115. Fcharset: TFcCharSet{
  20116. Fref: TFcRef{
  20117. Fcount: -libc.Int32FromInt32(1),
  20118. },
  20119. Fnum: int32(1),
  20120. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(127)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(88)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20121. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(127)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(88)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20122. },
  20123. },
  20124. 89: {
  20125. Flang: [16]TFcChar8{'i', 'o'},
  20126. Fcharset: TFcCharSet{
  20127. Fref: TFcRef{
  20128. Fcount: -libc.Int32FromInt32(1),
  20129. },
  20130. Fnum: int32(1),
  20131. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(89)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20132. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(89)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20133. },
  20134. },
  20135. 90: {
  20136. Flang: [16]TFcChar8{'i', 's'},
  20137. Fcharset: TFcCharSet{
  20138. Fref: TFcRef{
  20139. Fcount: -libc.Int32FromInt32(1),
  20140. },
  20141. Fnum: int32(1),
  20142. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(128)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(90)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20143. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(128)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(90)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20144. },
  20145. },
  20146. 91: {
  20147. Flang: [16]TFcChar8{'i', 't'},
  20148. Fcharset: TFcCharSet{
  20149. Fref: TFcRef{
  20150. Fcount: -libc.Int32FromInt32(1),
  20151. },
  20152. Fnum: int32(1),
  20153. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(129)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(91)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20154. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(129)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(91)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20155. },
  20156. },
  20157. 92: {
  20158. Flang: [16]TFcChar8{'i', 'u'},
  20159. Fcharset: TFcCharSet{
  20160. Fref: TFcRef{
  20161. Fcount: -libc.Int32FromInt32(1),
  20162. },
  20163. Fnum: int32(3),
  20164. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(130)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(92)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20165. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(130)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(92)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20166. },
  20167. },
  20168. 93: {
  20169. Flang: [16]TFcChar8{'j', 'a'},
  20170. Fcharset: TFcCharSet{
  20171. Fref: TFcRef{
  20172. Fcount: -libc.Int32FromInt32(1),
  20173. },
  20174. Fnum: int32(83),
  20175. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(93)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20176. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(93)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20177. },
  20178. },
  20179. 94: {
  20180. Flang: [16]TFcChar8{'j', 'v'},
  20181. Fcharset: TFcCharSet{
  20182. Fref: TFcRef{
  20183. Fcount: -libc.Int32FromInt32(1),
  20184. },
  20185. Fnum: int32(1),
  20186. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(216)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(94)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20187. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(216)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(94)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20188. },
  20189. },
  20190. 95: {
  20191. Flang: [16]TFcChar8{'k', 'a'},
  20192. Fcharset: TFcCharSet{
  20193. Fref: TFcRef{
  20194. Fcount: -libc.Int32FromInt32(1),
  20195. },
  20196. Fnum: int32(1),
  20197. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(217)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(95)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20198. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(217)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(95)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20199. },
  20200. },
  20201. 96: {
  20202. Flang: [16]TFcChar8{'k', 'a', 'a'},
  20203. Fcharset: TFcCharSet{
  20204. Fref: TFcRef{
  20205. Fcount: -libc.Int32FromInt32(1),
  20206. },
  20207. Fnum: int32(1),
  20208. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(218)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(96)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20209. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(218)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(96)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20210. },
  20211. },
  20212. 97: {
  20213. Flang: [16]TFcChar8{'k', 'a', 'b'},
  20214. Fcharset: TFcCharSet{
  20215. Fref: TFcRef{
  20216. Fcount: -libc.Int32FromInt32(1),
  20217. },
  20218. Fnum: int32(4),
  20219. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(97)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20220. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(97)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20221. },
  20222. },
  20223. 98: {
  20224. Flang: [16]TFcChar8{'k', 'i'},
  20225. Fcharset: TFcCharSet{
  20226. Fref: TFcRef{
  20227. Fcount: -libc.Int32FromInt32(1),
  20228. },
  20229. Fnum: int32(2),
  20230. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(219)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(98)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20231. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(219)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(98)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20232. },
  20233. },
  20234. 99: {
  20235. Flang: [16]TFcChar8{'k', 'j'},
  20236. Fcharset: TFcCharSet{
  20237. Fref: TFcRef{
  20238. Fcount: -libc.Int32FromInt32(1),
  20239. },
  20240. Fnum: int32(1),
  20241. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(99)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20242. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(99)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20243. },
  20244. },
  20245. 100: {
  20246. Flang: [16]TFcChar8{'k', 'k'},
  20247. Fcharset: TFcCharSet{
  20248. Fref: TFcRef{
  20249. Fcount: -libc.Int32FromInt32(1),
  20250. },
  20251. Fnum: int32(1),
  20252. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(221)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(100)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20253. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(221)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(100)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20254. },
  20255. },
  20256. 101: {
  20257. Flang: [16]TFcChar8{'k', 'l'},
  20258. Fcharset: TFcCharSet{
  20259. Fref: TFcRef{
  20260. Fcount: -libc.Int32FromInt32(1),
  20261. },
  20262. Fnum: int32(2),
  20263. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(222)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(101)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20264. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(222)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(101)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20265. },
  20266. },
  20267. 102: {
  20268. Flang: [16]TFcChar8{'k', 'm'},
  20269. Fcharset: TFcCharSet{
  20270. Fref: TFcRef{
  20271. Fcount: -libc.Int32FromInt32(1),
  20272. },
  20273. Fnum: int32(1),
  20274. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(224)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(102)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20275. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(224)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(102)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20276. },
  20277. },
  20278. 103: {
  20279. Flang: [16]TFcChar8{'k', 'n'},
  20280. Fcharset: TFcCharSet{
  20281. Fref: TFcRef{
  20282. Fcount: -libc.Int32FromInt32(1),
  20283. },
  20284. Fnum: int32(1),
  20285. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(225)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(103)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20286. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(225)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(103)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20287. },
  20288. },
  20289. 104: {
  20290. Flang: [16]TFcChar8{'k', 'o'},
  20291. Fcharset: TFcCharSet{
  20292. Fref: TFcRef{
  20293. Fcount: -libc.Int32FromInt32(1),
  20294. },
  20295. Fnum: int32(45),
  20296. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(104)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20297. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(104)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20298. },
  20299. },
  20300. 105: {
  20301. Flang: [16]TFcChar8{'k', 'o', 'k'},
  20302. Fcharset: TFcCharSet{
  20303. Fref: TFcRef{
  20304. Fcount: -libc.Int32FromInt32(1),
  20305. },
  20306. Fnum: int32(1),
  20307. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(105)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20308. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(105)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20309. },
  20310. },
  20311. 106: {
  20312. Flang: [16]TFcChar8{'k', 'r'},
  20313. Fcharset: TFcCharSet{
  20314. Fref: TFcRef{
  20315. Fcount: -libc.Int32FromInt32(1),
  20316. },
  20317. Fnum: int32(3),
  20318. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(271)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(106)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20319. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(271)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(106)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20320. },
  20321. },
  20322. 107: {
  20323. Flang: [16]TFcChar8{'k', 's'},
  20324. Fcharset: TFcCharSet{
  20325. Fref: TFcRef{
  20326. Fcount: -libc.Int32FromInt32(1),
  20327. },
  20328. Fnum: int32(1),
  20329. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(274)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(107)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20330. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(274)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(107)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20331. },
  20332. },
  20333. 108: {
  20334. Flang: [16]TFcChar8{'k', 'u', '-', 'a', 'm'},
  20335. Fcharset: TFcCharSet{
  20336. Fref: TFcRef{
  20337. Fcount: -libc.Int32FromInt32(1),
  20338. },
  20339. Fnum: int32(2),
  20340. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(275)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(108)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20341. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(275)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(108)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20342. },
  20343. },
  20344. 109: {
  20345. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'q'},
  20346. Fcharset: TFcCharSet{
  20347. Fref: TFcRef{
  20348. Fcount: -libc.Int32FromInt32(1),
  20349. },
  20350. Fnum: int32(1),
  20351. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(277)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(109)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20352. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(277)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(109)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20353. },
  20354. },
  20355. 110: {
  20356. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'r'},
  20357. Fcharset: TFcCharSet{
  20358. Fref: TFcRef{
  20359. Fcount: -libc.Int32FromInt32(1),
  20360. },
  20361. Fnum: int32(1),
  20362. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(277)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(110)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20363. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(277)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(110)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20364. },
  20365. },
  20366. 111: {
  20367. Flang: [16]TFcChar8{'k', 'u', '-', 't', 'r'},
  20368. Fcharset: TFcCharSet{
  20369. Fref: TFcRef{
  20370. Fcount: -libc.Int32FromInt32(1),
  20371. },
  20372. Fnum: int32(2),
  20373. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(278)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(111)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20374. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(278)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(111)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20375. },
  20376. },
  20377. 112: {
  20378. Flang: [16]TFcChar8{'k', 'u', 'm'},
  20379. Fcharset: TFcCharSet{
  20380. Fref: TFcRef{
  20381. Fcount: -libc.Int32FromInt32(1),
  20382. },
  20383. Fnum: int32(1),
  20384. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(112)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20385. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(112)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20386. },
  20387. },
  20388. 113: {
  20389. Flang: [16]TFcChar8{'k', 'v'},
  20390. Fcharset: TFcCharSet{
  20391. Fref: TFcRef{
  20392. Fcount: -libc.Int32FromInt32(1),
  20393. },
  20394. Fnum: int32(1),
  20395. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(281)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(113)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20396. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(281)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(113)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20397. },
  20398. },
  20399. 114: {
  20400. Flang: [16]TFcChar8{'k', 'w'},
  20401. Fcharset: TFcCharSet{
  20402. Fref: TFcRef{
  20403. Fcount: -libc.Int32FromInt32(1),
  20404. },
  20405. Fnum: int32(3),
  20406. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(282)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(114)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20407. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(282)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(114)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20408. },
  20409. },
  20410. 115: {
  20411. Flang: [16]TFcChar8{'k', 'w', 'm'},
  20412. Fcharset: TFcCharSet{
  20413. Fref: TFcRef{
  20414. Fcount: -libc.Int32FromInt32(1),
  20415. },
  20416. Fnum: int32(1),
  20417. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(115)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20418. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(115)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20419. },
  20420. },
  20421. 116: {
  20422. Flang: [16]TFcChar8{'k', 'y'},
  20423. Fcharset: TFcCharSet{
  20424. Fref: TFcRef{
  20425. Fcount: -libc.Int32FromInt32(1),
  20426. },
  20427. Fnum: int32(1),
  20428. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(285)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(116)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20429. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(285)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(116)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20430. },
  20431. },
  20432. 117: {
  20433. Flang: [16]TFcChar8{'l', 'a'},
  20434. Fcharset: TFcCharSet{
  20435. Fref: TFcRef{
  20436. Fcount: -libc.Int32FromInt32(1),
  20437. },
  20438. Fnum: int32(2),
  20439. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(286)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(117)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20440. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(286)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(117)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20441. },
  20442. },
  20443. 118: {
  20444. Flang: [16]TFcChar8{'l', 'a', 'h'},
  20445. Fcharset: TFcCharSet{
  20446. Fref: TFcRef{
  20447. Fcount: -libc.Int32FromInt32(1),
  20448. },
  20449. Fnum: int32(1),
  20450. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(288)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(118)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20451. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(288)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(118)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20452. },
  20453. },
  20454. 119: {
  20455. Flang: [16]TFcChar8{'l', 'b'},
  20456. Fcharset: TFcCharSet{
  20457. Fref: TFcRef{
  20458. Fcount: -libc.Int32FromInt32(1),
  20459. },
  20460. Fnum: int32(1),
  20461. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(289)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(119)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20462. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(289)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(119)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20463. },
  20464. },
  20465. 120: {
  20466. Flang: [16]TFcChar8{'l', 'e', 'z'},
  20467. Fcharset: TFcCharSet{
  20468. Fref: TFcRef{
  20469. Fcount: -libc.Int32FromInt32(1),
  20470. },
  20471. Fnum: int32(1),
  20472. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(16)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(120)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20473. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(16)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(120)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20474. },
  20475. },
  20476. 121: {
  20477. Flang: [16]TFcChar8{'l', 'g'},
  20478. Fcharset: TFcCharSet{
  20479. Fref: TFcRef{
  20480. Fcount: -libc.Int32FromInt32(1),
  20481. },
  20482. Fnum: int32(2),
  20483. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(290)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(121)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20484. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(290)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(121)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20485. },
  20486. },
  20487. 122: {
  20488. Flang: [16]TFcChar8{'l', 'i'},
  20489. Fcharset: TFcCharSet{
  20490. Fref: TFcRef{
  20491. Fcount: -libc.Int32FromInt32(1),
  20492. },
  20493. Fnum: int32(1),
  20494. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(292)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(122)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20495. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(292)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(122)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20496. },
  20497. },
  20498. 123: {
  20499. Flang: [16]TFcChar8{'l', 'n'},
  20500. Fcharset: TFcCharSet{
  20501. Fref: TFcRef{
  20502. Fcount: -libc.Int32FromInt32(1),
  20503. },
  20504. Fnum: int32(4),
  20505. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(293)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(123)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20506. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(293)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(123)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20507. },
  20508. },
  20509. 124: {
  20510. Flang: [16]TFcChar8{'l', 'o'},
  20511. Fcharset: TFcCharSet{
  20512. Fref: TFcRef{
  20513. Fcount: -libc.Int32FromInt32(1),
  20514. },
  20515. Fnum: int32(1),
  20516. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(297)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(124)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20517. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(297)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(124)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20518. },
  20519. },
  20520. 125: {
  20521. Flang: [16]TFcChar8{'l', 't'},
  20522. Fcharset: TFcCharSet{
  20523. Fref: TFcRef{
  20524. Fcount: -libc.Int32FromInt32(1),
  20525. },
  20526. Fnum: int32(2),
  20527. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(298)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(125)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20528. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(298)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(125)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20529. },
  20530. },
  20531. 126: {
  20532. Flang: [16]TFcChar8{'l', 'v'},
  20533. Fcharset: TFcCharSet{
  20534. Fref: TFcRef{
  20535. Fcount: -libc.Int32FromInt32(1),
  20536. },
  20537. Fnum: int32(2),
  20538. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(300)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(126)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20539. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(300)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(126)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20540. },
  20541. },
  20542. 127: {
  20543. Flang: [16]TFcChar8{'m', 'a', 'i'},
  20544. Fcharset: TFcCharSet{
  20545. Fref: TFcRef{
  20546. Fcount: -libc.Int32FromInt32(1),
  20547. },
  20548. Fnum: int32(1),
  20549. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(127)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20550. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(127)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20551. },
  20552. },
  20553. 128: {
  20554. Flang: [16]TFcChar8{'m', 'g'},
  20555. Fcharset: TFcCharSet{
  20556. Fref: TFcRef{
  20557. Fcount: -libc.Int32FromInt32(1),
  20558. },
  20559. Fnum: int32(1),
  20560. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(302)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(128)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20561. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(302)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(128)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20562. },
  20563. },
  20564. 129: {
  20565. Flang: [16]TFcChar8{'m', 'h'},
  20566. Fcharset: TFcCharSet{
  20567. Fref: TFcRef{
  20568. Fcount: -libc.Int32FromInt32(1),
  20569. },
  20570. Fnum: int32(2),
  20571. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(303)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(129)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20572. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(303)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(129)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20573. },
  20574. },
  20575. 130: {
  20576. Flang: [16]TFcChar8{'m', 'i'},
  20577. Fcharset: TFcCharSet{
  20578. Fref: TFcRef{
  20579. Fcount: -libc.Int32FromInt32(1),
  20580. },
  20581. Fnum: int32(3),
  20582. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(305)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(130)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20583. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(305)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(130)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20584. },
  20585. },
  20586. 131: {
  20587. Flang: [16]TFcChar8{'m', 'k'},
  20588. Fcharset: TFcCharSet{
  20589. Fref: TFcRef{
  20590. Fcount: -libc.Int32FromInt32(1),
  20591. },
  20592. Fnum: int32(1),
  20593. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(308)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(131)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20594. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(308)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(131)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20595. },
  20596. },
  20597. 132: {
  20598. Flang: [16]TFcChar8{'m', 'l'},
  20599. Fcharset: TFcCharSet{
  20600. Fref: TFcRef{
  20601. Fcount: -libc.Int32FromInt32(1),
  20602. },
  20603. Fnum: int32(1),
  20604. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(309)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(132)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20605. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(309)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(132)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20606. },
  20607. },
  20608. 133: {
  20609. Flang: [16]TFcChar8{'m', 'n', '-', 'c', 'n'},
  20610. Fcharset: TFcCharSet{
  20611. Fref: TFcRef{
  20612. Fcount: -libc.Int32FromInt32(1),
  20613. },
  20614. Fnum: int32(1),
  20615. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(310)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(133)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20616. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(310)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(133)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20617. },
  20618. },
  20619. 134: {
  20620. Flang: [16]TFcChar8{'m', 'n', '-', 'm', 'n'},
  20621. Fcharset: TFcCharSet{
  20622. Fref: TFcRef{
  20623. Fcount: -libc.Int32FromInt32(1),
  20624. },
  20625. Fnum: int32(1),
  20626. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(311)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(134)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20627. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(311)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(134)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20628. },
  20629. },
  20630. 135: {
  20631. Flang: [16]TFcChar8{'m', 'n', 'i'},
  20632. Fcharset: TFcCharSet{
  20633. Fref: TFcRef{
  20634. Fcount: -libc.Int32FromInt32(1),
  20635. },
  20636. Fnum: int32(1),
  20637. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(312)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(135)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20638. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(312)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(135)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20639. },
  20640. },
  20641. 136: {
  20642. Flang: [16]TFcChar8{'m', 'o'},
  20643. Fcharset: TFcCharSet{
  20644. Fref: TFcRef{
  20645. Fcount: -libc.Int32FromInt32(1),
  20646. },
  20647. Fnum: int32(4),
  20648. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(313)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(136)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20649. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(313)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(136)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20650. },
  20651. },
  20652. 137: {
  20653. Flang: [16]TFcChar8{'m', 'r'},
  20654. Fcharset: TFcCharSet{
  20655. Fref: TFcRef{
  20656. Fcount: -libc.Int32FromInt32(1),
  20657. },
  20658. Fnum: int32(1),
  20659. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(137)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20660. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(137)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20661. },
  20662. },
  20663. 138: {
  20664. Flang: [16]TFcChar8{'m', 's'},
  20665. Fcharset: TFcCharSet{
  20666. Fref: TFcRef{
  20667. Fcount: -libc.Int32FromInt32(1),
  20668. },
  20669. Fnum: int32(1),
  20670. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(138)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20671. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(138)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20672. },
  20673. },
  20674. 139: {
  20675. Flang: [16]TFcChar8{'m', 't'},
  20676. Fcharset: TFcCharSet{
  20677. Fref: TFcRef{
  20678. Fcount: -libc.Int32FromInt32(1),
  20679. },
  20680. Fnum: int32(2),
  20681. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(317)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(139)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20682. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(317)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(139)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20683. },
  20684. },
  20685. 140: {
  20686. Flang: [16]TFcChar8{'m', 'y'},
  20687. Fcharset: TFcCharSet{
  20688. Fref: TFcRef{
  20689. Fcount: -libc.Int32FromInt32(1),
  20690. },
  20691. Fnum: int32(1),
  20692. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(319)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(140)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20693. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(319)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(140)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20694. },
  20695. },
  20696. 141: {
  20697. Flang: [16]TFcChar8{'n', 'a'},
  20698. Fcharset: TFcCharSet{
  20699. Fref: TFcRef{
  20700. Fcount: -libc.Int32FromInt32(1),
  20701. },
  20702. Fnum: int32(2),
  20703. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(320)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(141)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20704. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(320)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(141)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20705. },
  20706. },
  20707. 142: {
  20708. Flang: [16]TFcChar8{'n', 'b'},
  20709. Fcharset: TFcCharSet{
  20710. Fref: TFcRef{
  20711. Fcount: -libc.Int32FromInt32(1),
  20712. },
  20713. Fnum: int32(1),
  20714. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(322)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(142)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20715. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(322)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(142)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20716. },
  20717. },
  20718. 143: {
  20719. Flang: [16]TFcChar8{'n', 'd', 's'},
  20720. Fcharset: TFcCharSet{
  20721. Fref: TFcRef{
  20722. Fcount: -libc.Int32FromInt32(1),
  20723. },
  20724. Fnum: int32(1),
  20725. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(67)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(143)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20726. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(67)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(143)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20727. },
  20728. },
  20729. 144: {
  20730. Flang: [16]TFcChar8{'n', 'e'},
  20731. Fcharset: TFcCharSet{
  20732. Fref: TFcRef{
  20733. Fcount: -libc.Int32FromInt32(1),
  20734. },
  20735. Fnum: int32(1),
  20736. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(323)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(144)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20737. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(323)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(144)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20738. },
  20739. },
  20740. 145: {
  20741. Flang: [16]TFcChar8{'n', 'g'},
  20742. Fcharset: TFcCharSet{
  20743. Fref: TFcRef{
  20744. Fcount: -libc.Int32FromInt32(1),
  20745. },
  20746. Fnum: int32(1),
  20747. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(145)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20748. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(145)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20749. },
  20750. },
  20751. 146: {
  20752. Flang: [16]TFcChar8{'n', 'l'},
  20753. Fcharset: TFcCharSet{
  20754. Fref: TFcRef{
  20755. Fcount: -libc.Int32FromInt32(1),
  20756. },
  20757. Fnum: int32(1),
  20758. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(324)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(146)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20759. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(324)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(146)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20760. },
  20761. },
  20762. 147: {
  20763. Flang: [16]TFcChar8{'n', 'n'},
  20764. Fcharset: TFcCharSet{
  20765. Fref: TFcRef{
  20766. Fcount: -libc.Int32FromInt32(1),
  20767. },
  20768. Fnum: int32(1),
  20769. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(325)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(147)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20770. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(325)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(147)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20771. },
  20772. },
  20773. 148: {
  20774. Flang: [16]TFcChar8{'n', 'o'},
  20775. Fcharset: TFcCharSet{
  20776. Fref: TFcRef{
  20777. Fcount: -libc.Int32FromInt32(1),
  20778. },
  20779. Fnum: int32(1),
  20780. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(322)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(148)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20781. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(322)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(148)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20782. },
  20783. },
  20784. 149: {
  20785. Flang: [16]TFcChar8{'n', 'q', 'o'},
  20786. Fcharset: TFcCharSet{
  20787. Fref: TFcRef{
  20788. Fcount: -libc.Int32FromInt32(1),
  20789. },
  20790. Fnum: int32(1),
  20791. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(326)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(149)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20792. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(326)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(149)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20793. },
  20794. },
  20795. 150: {
  20796. Flang: [16]TFcChar8{'n', 'r'},
  20797. Fcharset: TFcCharSet{
  20798. Fref: TFcRef{
  20799. Fcount: -libc.Int32FromInt32(1),
  20800. },
  20801. Fnum: int32(1),
  20802. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(150)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20803. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(150)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20804. },
  20805. },
  20806. 151: {
  20807. Flang: [16]TFcChar8{'n', 's', 'o'},
  20808. Fcharset: TFcCharSet{
  20809. Fref: TFcRef{
  20810. Fcount: -libc.Int32FromInt32(1),
  20811. },
  20812. Fnum: int32(2),
  20813. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(327)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(151)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20814. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(327)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(151)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20815. },
  20816. },
  20817. 152: {
  20818. Flang: [16]TFcChar8{'n', 'v'},
  20819. Fcharset: TFcCharSet{
  20820. Fref: TFcRef{
  20821. Fcount: -libc.Int32FromInt32(1),
  20822. },
  20823. Fnum: int32(4),
  20824. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(329)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(152)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20825. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(329)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(152)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20826. },
  20827. },
  20828. 153: {
  20829. Flang: [16]TFcChar8{'n', 'y'},
  20830. Fcharset: TFcCharSet{
  20831. Fref: TFcRef{
  20832. Fcount: -libc.Int32FromInt32(1),
  20833. },
  20834. Fnum: int32(2),
  20835. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(333)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(153)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20836. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(333)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(153)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20837. },
  20838. },
  20839. 154: {
  20840. Flang: [16]TFcChar8{'o', 'c'},
  20841. Fcharset: TFcCharSet{
  20842. Fref: TFcRef{
  20843. Fcount: -libc.Int32FromInt32(1),
  20844. },
  20845. Fnum: int32(1),
  20846. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(335)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(154)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20847. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(335)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(154)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20848. },
  20849. },
  20850. 155: {
  20851. Flang: [16]TFcChar8{'o', 'm'},
  20852. Fcharset: TFcCharSet{
  20853. Fref: TFcRef{
  20854. Fcount: -libc.Int32FromInt32(1),
  20855. },
  20856. Fnum: int32(1),
  20857. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(155)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20858. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(155)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20859. },
  20860. },
  20861. 156: {
  20862. Flang: [16]TFcChar8{'o', 'r'},
  20863. Fcharset: TFcCharSet{
  20864. Fref: TFcRef{
  20865. Fcount: -libc.Int32FromInt32(1),
  20866. },
  20867. Fnum: int32(1),
  20868. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(336)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(156)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20869. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(336)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(156)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20870. },
  20871. },
  20872. 157: {
  20873. Flang: [16]TFcChar8{'o', 's'},
  20874. Fcharset: TFcCharSet{
  20875. Fref: TFcRef{
  20876. Fcount: -libc.Int32FromInt32(1),
  20877. },
  20878. Fnum: int32(1),
  20879. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(157)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20880. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(157)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20881. },
  20882. },
  20883. 158: {
  20884. Flang: [16]TFcChar8{'o', 't', 'a'},
  20885. Fcharset: TFcCharSet{
  20886. Fref: TFcRef{
  20887. Fcount: -libc.Int32FromInt32(1),
  20888. },
  20889. Fnum: int32(1),
  20890. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(337)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(158)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20891. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(337)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(158)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20892. },
  20893. },
  20894. 159: {
  20895. Flang: [16]TFcChar8{'p', 'a'},
  20896. Fcharset: TFcCharSet{
  20897. Fref: TFcRef{
  20898. Fcount: -libc.Int32FromInt32(1),
  20899. },
  20900. Fnum: int32(1),
  20901. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(338)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(159)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20902. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(338)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(159)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20903. },
  20904. },
  20905. 160: {
  20906. Flang: [16]TFcChar8{'p', 'a', '-', 'p', 'k'},
  20907. Fcharset: TFcCharSet{
  20908. Fref: TFcRef{
  20909. Fcount: -libc.Int32FromInt32(1),
  20910. },
  20911. Fnum: int32(1),
  20912. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(288)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(160)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20913. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(288)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(160)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20914. },
  20915. },
  20916. 161: {
  20917. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'n'},
  20918. Fcharset: TFcCharSet{
  20919. Fref: TFcRef{
  20920. Fcount: -libc.Int32FromInt32(1),
  20921. },
  20922. Fnum: int32(1),
  20923. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(339)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(161)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20924. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(339)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(161)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20925. },
  20926. },
  20927. 162: {
  20928. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'w'},
  20929. Fcharset: TFcCharSet{
  20930. Fref: TFcRef{
  20931. Fcount: -libc.Int32FromInt32(1),
  20932. },
  20933. Fnum: int32(1),
  20934. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(340)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(162)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20935. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(340)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(162)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20936. },
  20937. },
  20938. 163: {
  20939. Flang: [16]TFcChar8{'p', 'l'},
  20940. Fcharset: TFcCharSet{
  20941. Fref: TFcRef{
  20942. Fcount: -libc.Int32FromInt32(1),
  20943. },
  20944. Fnum: int32(2),
  20945. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(341)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(163)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20946. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(341)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(163)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20947. },
  20948. },
  20949. 164: {
  20950. Flang: [16]TFcChar8{'p', 's', '-', 'a', 'f'},
  20951. Fcharset: TFcCharSet{
  20952. Fref: TFcRef{
  20953. Fcount: -libc.Int32FromInt32(1),
  20954. },
  20955. Fnum: int32(1),
  20956. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(343)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(164)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20957. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(343)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(164)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20958. },
  20959. },
  20960. 165: {
  20961. Flang: [16]TFcChar8{'p', 's', '-', 'p', 'k'},
  20962. Fcharset: TFcCharSet{
  20963. Fref: TFcRef{
  20964. Fcount: -libc.Int32FromInt32(1),
  20965. },
  20966. Fnum: int32(1),
  20967. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(344)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(165)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20968. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(344)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(165)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20969. },
  20970. },
  20971. 166: {
  20972. Flang: [16]TFcChar8{'p', 't'},
  20973. Fcharset: TFcCharSet{
  20974. Fref: TFcRef{
  20975. Fcount: -libc.Int32FromInt32(1),
  20976. },
  20977. Fnum: int32(1),
  20978. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(345)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(166)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20979. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(345)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(166)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20980. },
  20981. },
  20982. 167: {
  20983. Flang: [16]TFcChar8{'q', 'u'},
  20984. Fcharset: TFcCharSet{
  20985. Fref: TFcRef{
  20986. Fcount: -libc.Int32FromInt32(1),
  20987. },
  20988. Fnum: int32(2),
  20989. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(346)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(167)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20990. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(346)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(167)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  20991. },
  20992. },
  20993. 168: {
  20994. Flang: [16]TFcChar8{'q', 'u', 'z'},
  20995. Fcharset: TFcCharSet{
  20996. Fref: TFcRef{
  20997. Fcount: -libc.Int32FromInt32(1),
  20998. },
  20999. Fnum: int32(2),
  21000. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(346)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(168)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21001. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(346)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(168)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21002. },
  21003. },
  21004. 169: {
  21005. Flang: [16]TFcChar8{'r', 'm'},
  21006. Fcharset: TFcCharSet{
  21007. Fref: TFcRef{
  21008. Fcount: -libc.Int32FromInt32(1),
  21009. },
  21010. Fnum: int32(1),
  21011. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(348)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(169)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21012. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(348)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(169)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21013. },
  21014. },
  21015. 170: {
  21016. Flang: [16]TFcChar8{'r', 'n'},
  21017. Fcharset: TFcCharSet{
  21018. Fref: TFcRef{
  21019. Fcount: -libc.Int32FromInt32(1),
  21020. },
  21021. Fnum: int32(1),
  21022. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(170)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21023. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(170)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21024. },
  21025. },
  21026. 171: {
  21027. Flang: [16]TFcChar8{'r', 'o'},
  21028. Fcharset: TFcCharSet{
  21029. Fref: TFcRef{
  21030. Fcount: -libc.Int32FromInt32(1),
  21031. },
  21032. Fnum: int32(3),
  21033. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(349)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(171)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21034. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(349)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(171)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21035. },
  21036. },
  21037. 172: {
  21038. Flang: [16]TFcChar8{'r', 'u'},
  21039. Fcharset: TFcCharSet{
  21040. Fref: TFcRef{
  21041. Fcount: -libc.Int32FromInt32(1),
  21042. },
  21043. Fnum: int32(1),
  21044. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(172)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21045. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(172)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21046. },
  21047. },
  21048. 173: {
  21049. Flang: [16]TFcChar8{'r', 'w'},
  21050. Fcharset: TFcCharSet{
  21051. Fref: TFcRef{
  21052. Fcount: -libc.Int32FromInt32(1),
  21053. },
  21054. Fnum: int32(1),
  21055. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(173)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21056. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(173)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21057. },
  21058. },
  21059. 174: {
  21060. Flang: [16]TFcChar8{'s', 'a'},
  21061. Fcharset: TFcCharSet{
  21062. Fref: TFcRef{
  21063. Fcount: -libc.Int32FromInt32(1),
  21064. },
  21065. Fnum: int32(1),
  21066. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(174)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21067. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(174)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21068. },
  21069. },
  21070. 175: {
  21071. Flang: [16]TFcChar8{'s', 'a', 'h'},
  21072. Fcharset: TFcCharSet{
  21073. Fref: TFcRef{
  21074. Fcount: -libc.Int32FromInt32(1),
  21075. },
  21076. Fnum: int32(1),
  21077. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(352)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(175)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21078. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(352)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(175)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21079. },
  21080. },
  21081. 176: {
  21082. Flang: [16]TFcChar8{'s', 'a', 't'},
  21083. Fcharset: TFcCharSet{
  21084. Fref: TFcRef{
  21085. Fcount: -libc.Int32FromInt32(1),
  21086. },
  21087. Fnum: int32(1),
  21088. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(353)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(176)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21089. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(353)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(176)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21090. },
  21091. },
  21092. 177: {
  21093. Flang: [16]TFcChar8{'s', 'c'},
  21094. Fcharset: TFcCharSet{
  21095. Fref: TFcRef{
  21096. Fcount: -libc.Int32FromInt32(1),
  21097. },
  21098. Fnum: int32(1),
  21099. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(354)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(177)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21100. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(354)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(177)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21101. },
  21102. },
  21103. 178: {
  21104. Flang: [16]TFcChar8{'s', 'c', 'o'},
  21105. Fcharset: TFcCharSet{
  21106. Fref: TFcRef{
  21107. Fcount: -libc.Int32FromInt32(1),
  21108. },
  21109. Fnum: int32(3),
  21110. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(355)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(178)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21111. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(355)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(178)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21112. },
  21113. },
  21114. 179: {
  21115. Flang: [16]TFcChar8{'s', 'd'},
  21116. Fcharset: TFcCharSet{
  21117. Fref: TFcRef{
  21118. Fcount: -libc.Int32FromInt32(1),
  21119. },
  21120. Fnum: int32(1),
  21121. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(358)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(179)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21122. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(358)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(179)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21123. },
  21124. },
  21125. 180: {
  21126. Flang: [16]TFcChar8{'s', 'e'},
  21127. Fcharset: TFcCharSet{
  21128. Fref: TFcRef{
  21129. Fcount: -libc.Int32FromInt32(1),
  21130. },
  21131. Fnum: int32(2),
  21132. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(359)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(180)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21133. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(359)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(180)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21134. },
  21135. },
  21136. 181: {
  21137. Flang: [16]TFcChar8{'s', 'e', 'l'},
  21138. Fcharset: TFcCharSet{
  21139. Fref: TFcRef{
  21140. Fcount: -libc.Int32FromInt32(1),
  21141. },
  21142. Fnum: int32(1),
  21143. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(181)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21144. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(181)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21145. },
  21146. },
  21147. 182: {
  21148. Flang: [16]TFcChar8{'s', 'g'},
  21149. Fcharset: TFcCharSet{
  21150. Fref: TFcRef{
  21151. Fcount: -libc.Int32FromInt32(1),
  21152. },
  21153. Fnum: int32(1),
  21154. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(361)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(182)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21155. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(361)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(182)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21156. },
  21157. },
  21158. 183: {
  21159. Flang: [16]TFcChar8{'s', 'h'},
  21160. Fcharset: TFcCharSet{
  21161. Fref: TFcRef{
  21162. Fcount: -libc.Int32FromInt32(1),
  21163. },
  21164. Fnum: int32(3),
  21165. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(362)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(183)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21166. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(362)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(183)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21167. },
  21168. },
  21169. 184: {
  21170. Flang: [16]TFcChar8{'s', 'h', 's'},
  21171. Fcharset: TFcCharSet{
  21172. Fref: TFcRef{
  21173. Fcount: -libc.Int32FromInt32(1),
  21174. },
  21175. Fnum: int32(2),
  21176. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(365)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(184)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21177. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(365)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(184)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21178. },
  21179. },
  21180. 185: {
  21181. Flang: [16]TFcChar8{'s', 'i'},
  21182. Fcharset: TFcCharSet{
  21183. Fref: TFcRef{
  21184. Fcount: -libc.Int32FromInt32(1),
  21185. },
  21186. Fnum: int32(1),
  21187. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(367)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(185)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21188. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(367)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(185)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21189. },
  21190. },
  21191. 186: {
  21192. Flang: [16]TFcChar8{'s', 'i', 'd'},
  21193. Fcharset: TFcCharSet{
  21194. Fref: TFcRef{
  21195. Fcount: -libc.Int32FromInt32(1),
  21196. },
  21197. Fnum: int32(2),
  21198. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(186)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21199. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(186)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21200. },
  21201. },
  21202. 187: {
  21203. Flang: [16]TFcChar8{'s', 'k'},
  21204. Fcharset: TFcCharSet{
  21205. Fref: TFcRef{
  21206. Fcount: -libc.Int32FromInt32(1),
  21207. },
  21208. Fnum: int32(2),
  21209. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(370)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(187)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21210. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(370)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(187)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21211. },
  21212. },
  21213. 188: {
  21214. Flang: [16]TFcChar8{'s', 'l'},
  21215. Fcharset: TFcCharSet{
  21216. Fref: TFcRef{
  21217. Fcount: -libc.Int32FromInt32(1),
  21218. },
  21219. Fnum: int32(2),
  21220. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(188)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21221. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(188)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21222. },
  21223. },
  21224. 189: {
  21225. Flang: [16]TFcChar8{'s', 'm'},
  21226. Fcharset: TFcCharSet{
  21227. Fref: TFcRef{
  21228. Fcount: -libc.Int32FromInt32(1),
  21229. },
  21230. Fnum: int32(2),
  21231. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(372)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(189)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21232. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(372)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(189)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21233. },
  21234. },
  21235. 190: {
  21236. Flang: [16]TFcChar8{'s', 'm', 'a'},
  21237. Fcharset: TFcCharSet{
  21238. Fref: TFcRef{
  21239. Fcount: -libc.Int32FromInt32(1),
  21240. },
  21241. Fnum: int32(1),
  21242. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(374)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(190)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21243. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(374)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(190)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21244. },
  21245. },
  21246. 191: {
  21247. Flang: [16]TFcChar8{'s', 'm', 'j'},
  21248. Fcharset: TFcCharSet{
  21249. Fref: TFcRef{
  21250. Fcount: -libc.Int32FromInt32(1),
  21251. },
  21252. Fnum: int32(1),
  21253. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(375)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(191)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21254. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(375)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(191)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21255. },
  21256. },
  21257. 192: {
  21258. Flang: [16]TFcChar8{'s', 'm', 'n'},
  21259. Fcharset: TFcCharSet{
  21260. Fref: TFcRef{
  21261. Fcount: -libc.Int32FromInt32(1),
  21262. },
  21263. Fnum: int32(2),
  21264. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(376)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(192)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21265. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(376)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(192)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21266. },
  21267. },
  21268. 193: {
  21269. Flang: [16]TFcChar8{'s', 'm', 's'},
  21270. Fcharset: TFcCharSet{
  21271. Fref: TFcRef{
  21272. Fcount: -libc.Int32FromInt32(1),
  21273. },
  21274. Fnum: int32(3),
  21275. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(378)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(193)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21276. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(378)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(193)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21277. },
  21278. },
  21279. 194: {
  21280. Flang: [16]TFcChar8{'s', 'n'},
  21281. Fcharset: TFcCharSet{
  21282. Fref: TFcRef{
  21283. Fcount: -libc.Int32FromInt32(1),
  21284. },
  21285. Fnum: int32(1),
  21286. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(194)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21287. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(194)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21288. },
  21289. },
  21290. 195: {
  21291. Flang: [16]TFcChar8{'s', 'o'},
  21292. Fcharset: TFcCharSet{
  21293. Fref: TFcRef{
  21294. Fcount: -libc.Int32FromInt32(1),
  21295. },
  21296. Fnum: int32(1),
  21297. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(195)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21298. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(195)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21299. },
  21300. },
  21301. 196: {
  21302. Flang: [16]TFcChar8{'s', 'q'},
  21303. Fcharset: TFcCharSet{
  21304. Fref: TFcRef{
  21305. Fcount: -libc.Int32FromInt32(1),
  21306. },
  21307. Fnum: int32(1),
  21308. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(381)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(196)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21309. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(381)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(196)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21310. },
  21311. },
  21312. 197: {
  21313. Flang: [16]TFcChar8{'s', 'r'},
  21314. Fcharset: TFcCharSet{
  21315. Fref: TFcRef{
  21316. Fcount: -libc.Int32FromInt32(1),
  21317. },
  21318. Fnum: int32(1),
  21319. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(382)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(197)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21320. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(382)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(197)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21321. },
  21322. },
  21323. 198: {
  21324. Flang: [16]TFcChar8{'s', 's'},
  21325. Fcharset: TFcCharSet{
  21326. Fref: TFcRef{
  21327. Fcount: -libc.Int32FromInt32(1),
  21328. },
  21329. Fnum: int32(1),
  21330. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(198)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21331. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(198)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21332. },
  21333. },
  21334. 199: {
  21335. Flang: [16]TFcChar8{'s', 't'},
  21336. Fcharset: TFcCharSet{
  21337. Fref: TFcRef{
  21338. Fcount: -libc.Int32FromInt32(1),
  21339. },
  21340. Fnum: int32(1),
  21341. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(199)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21342. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(199)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21343. },
  21344. },
  21345. 200: {
  21346. Flang: [16]TFcChar8{'s', 'u'},
  21347. Fcharset: TFcCharSet{
  21348. Fref: TFcRef{
  21349. Fcount: -libc.Int32FromInt32(1),
  21350. },
  21351. Fnum: int32(1),
  21352. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(118)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(200)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21353. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(118)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(200)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21354. },
  21355. },
  21356. 201: {
  21357. Flang: [16]TFcChar8{'s', 'v'},
  21358. Fcharset: TFcCharSet{
  21359. Fref: TFcRef{
  21360. Fcount: -libc.Int32FromInt32(1),
  21361. },
  21362. Fnum: int32(1),
  21363. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(383)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(201)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21364. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(383)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(201)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21365. },
  21366. },
  21367. 202: {
  21368. Flang: [16]TFcChar8{'s', 'w'},
  21369. Fcharset: TFcCharSet{
  21370. Fref: TFcRef{
  21371. Fcount: -libc.Int32FromInt32(1),
  21372. },
  21373. Fnum: int32(1),
  21374. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(202)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21375. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(202)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21376. },
  21377. },
  21378. 203: {
  21379. Flang: [16]TFcChar8{'s', 'y', 'r'},
  21380. Fcharset: TFcCharSet{
  21381. Fref: TFcRef{
  21382. Fcount: -libc.Int32FromInt32(1),
  21383. },
  21384. Fnum: int32(1),
  21385. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(384)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(203)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21386. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(384)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(203)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21387. },
  21388. },
  21389. 204: {
  21390. Flang: [16]TFcChar8{'t', 'a'},
  21391. Fcharset: TFcCharSet{
  21392. Fref: TFcRef{
  21393. Fcount: -libc.Int32FromInt32(1),
  21394. },
  21395. Fnum: int32(1),
  21396. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(385)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(204)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21397. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(385)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(204)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21398. },
  21399. },
  21400. 205: {
  21401. Flang: [16]TFcChar8{'t', 'e'},
  21402. Fcharset: TFcCharSet{
  21403. Fref: TFcRef{
  21404. Fcount: -libc.Int32FromInt32(1),
  21405. },
  21406. Fnum: int32(1),
  21407. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(386)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(205)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21408. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(386)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(205)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21409. },
  21410. },
  21411. 206: {
  21412. Flang: [16]TFcChar8{'t', 'g'},
  21413. Fcharset: TFcCharSet{
  21414. Fref: TFcRef{
  21415. Fcount: -libc.Int32FromInt32(1),
  21416. },
  21417. Fnum: int32(1),
  21418. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(387)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(206)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21419. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(387)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(206)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21420. },
  21421. },
  21422. 207: {
  21423. Flang: [16]TFcChar8{'t', 'h'},
  21424. Fcharset: TFcCharSet{
  21425. Fref: TFcRef{
  21426. Fcount: -libc.Int32FromInt32(1),
  21427. },
  21428. Fnum: int32(1),
  21429. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(388)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(207)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21430. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(388)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(207)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21431. },
  21432. },
  21433. 208: {
  21434. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 'r'},
  21435. Fcharset: TFcCharSet{
  21436. Fref: TFcRef{
  21437. Fcount: -libc.Int32FromInt32(1),
  21438. },
  21439. Fnum: int32(2),
  21440. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(45)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(208)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21441. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(45)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(208)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21442. },
  21443. },
  21444. 209: {
  21445. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 't'},
  21446. Fcharset: TFcCharSet{
  21447. Fref: TFcRef{
  21448. Fcount: -libc.Int32FromInt32(1),
  21449. },
  21450. Fnum: int32(2),
  21451. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(209)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21452. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(209)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21453. },
  21454. },
  21455. 210: {
  21456. Flang: [16]TFcChar8{'t', 'i', 'g'},
  21457. Fcharset: TFcCharSet{
  21458. Fref: TFcRef{
  21459. Fcount: -libc.Int32FromInt32(1),
  21460. },
  21461. Fnum: int32(2),
  21462. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(389)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(210)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21463. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(389)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(210)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21464. },
  21465. },
  21466. 211: {
  21467. Flang: [16]TFcChar8{'t', 'k'},
  21468. Fcharset: TFcCharSet{
  21469. Fref: TFcRef{
  21470. Fcount: -libc.Int32FromInt32(1),
  21471. },
  21472. Fnum: int32(2),
  21473. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(391)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(211)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21474. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(391)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(211)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21475. },
  21476. },
  21477. 212: {
  21478. Flang: [16]TFcChar8{'t', 'l'},
  21479. Fcharset: TFcCharSet{
  21480. Fref: TFcRef{
  21481. Fcount: -libc.Int32FromInt32(1),
  21482. },
  21483. Fnum: int32(1),
  21484. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(86)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(212)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21485. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(86)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(212)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21486. },
  21487. },
  21488. 213: {
  21489. Flang: [16]TFcChar8{'t', 'n'},
  21490. Fcharset: TFcCharSet{
  21491. Fref: TFcRef{
  21492. Fcount: -libc.Int32FromInt32(1),
  21493. },
  21494. Fnum: int32(2),
  21495. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(327)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(213)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21496. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(327)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(213)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21497. },
  21498. },
  21499. 214: {
  21500. Flang: [16]TFcChar8{'t', 'o'},
  21501. Fcharset: TFcCharSet{
  21502. Fref: TFcRef{
  21503. Fcount: -libc.Int32FromInt32(1),
  21504. },
  21505. Fnum: int32(2),
  21506. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(372)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(214)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21507. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(372)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(214)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21508. },
  21509. },
  21510. 215: {
  21511. Flang: [16]TFcChar8{'t', 'r'},
  21512. Fcharset: TFcCharSet{
  21513. Fref: TFcRef{
  21514. Fcount: -libc.Int32FromInt32(1),
  21515. },
  21516. Fnum: int32(2),
  21517. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(393)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(215)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21518. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(393)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(215)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21519. },
  21520. },
  21521. 216: {
  21522. Flang: [16]TFcChar8{'t', 's'},
  21523. Fcharset: TFcCharSet{
  21524. Fref: TFcRef{
  21525. Fcount: -libc.Int32FromInt32(1),
  21526. },
  21527. Fnum: int32(1),
  21528. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(216)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21529. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(216)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21530. },
  21531. },
  21532. 217: {
  21533. Flang: [16]TFcChar8{'t', 't'},
  21534. Fcharset: TFcCharSet{
  21535. Fref: TFcRef{
  21536. Fcount: -libc.Int32FromInt32(1),
  21537. },
  21538. Fnum: int32(1),
  21539. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(395)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(217)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21540. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(395)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(217)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21541. },
  21542. },
  21543. 218: {
  21544. Flang: [16]TFcChar8{'t', 'w'},
  21545. Fcharset: TFcCharSet{
  21546. Fref: TFcRef{
  21547. Fcount: -libc.Int32FromInt32(1),
  21548. },
  21549. Fnum: int32(5),
  21550. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(218)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21551. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(218)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21552. },
  21553. },
  21554. 219: {
  21555. Flang: [16]TFcChar8{'t', 'y'},
  21556. Fcharset: TFcCharSet{
  21557. Fref: TFcRef{
  21558. Fcount: -libc.Int32FromInt32(1),
  21559. },
  21560. Fnum: int32(3),
  21561. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(396)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(219)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21562. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(396)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(219)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21563. },
  21564. },
  21565. 220: {
  21566. Flang: [16]TFcChar8{'t', 'y', 'v'},
  21567. Fcharset: TFcCharSet{
  21568. Fref: TFcRef{
  21569. Fcount: -libc.Int32FromInt32(1),
  21570. },
  21571. Fnum: int32(1),
  21572. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(285)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(220)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21573. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(285)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(220)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21574. },
  21575. },
  21576. 221: {
  21577. Flang: [16]TFcChar8{'u', 'g'},
  21578. Fcharset: TFcCharSet{
  21579. Fref: TFcRef{
  21580. Fcount: -libc.Int32FromInt32(1),
  21581. },
  21582. Fnum: int32(1),
  21583. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(399)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(221)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21584. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(399)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(221)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21585. },
  21586. },
  21587. 222: {
  21588. Flang: [16]TFcChar8{'u', 'k'},
  21589. Fcharset: TFcCharSet{
  21590. Fref: TFcRef{
  21591. Fcount: -libc.Int32FromInt32(1),
  21592. },
  21593. Fnum: int32(1),
  21594. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(400)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(222)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21595. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(400)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(222)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21596. },
  21597. },
  21598. 223: {
  21599. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 'm', 't', 'h'},
  21600. Fcharset: TFcCharSet{
  21601. Fref: TFcRef{
  21602. Fcount: -libc.Int32FromInt32(1),
  21603. },
  21604. Fnum: int32(12),
  21605. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(223)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21606. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(223)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21607. },
  21608. },
  21609. 224: {
  21610. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 's', 'y', 'e'},
  21611. Fcharset: TFcCharSet{
  21612. Fref: TFcRef{
  21613. Fcount: -libc.Int32FromInt32(1),
  21614. },
  21615. Fnum: int32(12),
  21616. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(224)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21617. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(224)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21618. },
  21619. },
  21620. 225: {
  21621. Flang: [16]TFcChar8{'u', 'r'},
  21622. Fcharset: TFcCharSet{
  21623. Fref: TFcRef{
  21624. Fcount: -libc.Int32FromInt32(1),
  21625. },
  21626. Fnum: int32(1),
  21627. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(288)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(225)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21628. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(288)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(225)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21629. },
  21630. },
  21631. 226: {
  21632. Flang: [16]TFcChar8{'u', 'z'},
  21633. Fcharset: TFcCharSet{
  21634. Fref: TFcRef{
  21635. Fcount: -libc.Int32FromInt32(1),
  21636. },
  21637. Fnum: int32(1),
  21638. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(226)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21639. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(226)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21640. },
  21641. },
  21642. 227: {
  21643. Flang: [16]TFcChar8{'v', 'e'},
  21644. Fcharset: TFcCharSet{
  21645. Fref: TFcRef{
  21646. Fcount: -libc.Int32FromInt32(1),
  21647. },
  21648. Fnum: int32(2),
  21649. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(425)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(227)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21650. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(425)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(227)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21651. },
  21652. },
  21653. 228: {
  21654. Flang: [16]TFcChar8{'v', 'i'},
  21655. Fcharset: TFcCharSet{
  21656. Fref: TFcRef{
  21657. Fcount: -libc.Int32FromInt32(1),
  21658. },
  21659. Fnum: int32(4),
  21660. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(427)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(228)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21661. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(427)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(228)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21662. },
  21663. },
  21664. 229: {
  21665. Flang: [16]TFcChar8{'v', 'o'},
  21666. Fcharset: TFcCharSet{
  21667. Fref: TFcRef{
  21668. Fcount: -libc.Int32FromInt32(1),
  21669. },
  21670. Fnum: int32(1),
  21671. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(431)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(229)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21672. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(431)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(229)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21673. },
  21674. },
  21675. 230: {
  21676. Flang: [16]TFcChar8{'v', 'o', 't'},
  21677. Fcharset: TFcCharSet{
  21678. Fref: TFcRef{
  21679. Fcount: -libc.Int32FromInt32(1),
  21680. },
  21681. Fnum: int32(2),
  21682. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(432)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(230)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21683. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(432)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(230)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21684. },
  21685. },
  21686. 231: {
  21687. Flang: [16]TFcChar8{'w', 'a'},
  21688. Fcharset: TFcCharSet{
  21689. Fref: TFcRef{
  21690. Fcount: -libc.Int32FromInt32(1),
  21691. },
  21692. Fnum: int32(1),
  21693. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(434)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(231)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21694. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(434)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(231)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21695. },
  21696. },
  21697. 232: {
  21698. Flang: [16]TFcChar8{'w', 'a', 'l'},
  21699. Fcharset: TFcCharSet{
  21700. Fref: TFcRef{
  21701. Fcount: -libc.Int32FromInt32(1),
  21702. },
  21703. Fnum: int32(2),
  21704. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(232)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21705. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(232)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21706. },
  21707. },
  21708. 233: {
  21709. Flang: [16]TFcChar8{'w', 'e', 'n'},
  21710. Fcharset: TFcCharSet{
  21711. Fref: TFcRef{
  21712. Fcount: -libc.Int32FromInt32(1),
  21713. },
  21714. Fnum: int32(2),
  21715. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(435)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(233)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21716. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(435)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(233)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21717. },
  21718. },
  21719. 234: {
  21720. Flang: [16]TFcChar8{'w', 'o'},
  21721. Fcharset: TFcCharSet{
  21722. Fref: TFcRef{
  21723. Fcount: -libc.Int32FromInt32(1),
  21724. },
  21725. Fnum: int32(2),
  21726. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(437)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(234)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21727. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(437)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(234)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21728. },
  21729. },
  21730. 235: {
  21731. Flang: [16]TFcChar8{'x', 'h'},
  21732. Fcharset: TFcCharSet{
  21733. Fref: TFcRef{
  21734. Fcount: -libc.Int32FromInt32(1),
  21735. },
  21736. Fnum: int32(1),
  21737. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(235)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21738. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(235)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21739. },
  21740. },
  21741. 236: {
  21742. Flang: [16]TFcChar8{'y', 'a', 'p'},
  21743. Fcharset: TFcCharSet{
  21744. Fref: TFcRef{
  21745. Fcount: -libc.Int32FromInt32(1),
  21746. },
  21747. Fnum: int32(1),
  21748. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(439)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(236)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21749. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(439)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(236)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21750. },
  21751. },
  21752. 237: {
  21753. Flang: [16]TFcChar8{'y', 'i'},
  21754. Fcharset: TFcCharSet{
  21755. Fref: TFcRef{
  21756. Fcount: -libc.Int32FromInt32(1),
  21757. },
  21758. Fnum: int32(1),
  21759. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(108)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(237)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21760. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(108)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(237)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21761. },
  21762. },
  21763. 238: {
  21764. Flang: [16]TFcChar8{'y', 'o'},
  21765. Fcharset: TFcCharSet{
  21766. Fref: TFcRef{
  21767. Fcount: -libc.Int32FromInt32(1),
  21768. },
  21769. Fnum: int32(4),
  21770. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(440)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(238)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21771. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(440)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(238)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21772. },
  21773. },
  21774. 239: {
  21775. Flang: [16]TFcChar8{'z', 'a'},
  21776. Fcharset: TFcCharSet{
  21777. Fref: TFcRef{
  21778. Fcount: -libc.Int32FromInt32(1),
  21779. },
  21780. Fnum: int32(1),
  21781. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(239)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21782. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(239)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21783. },
  21784. },
  21785. 240: {
  21786. Flang: [16]TFcChar8{'z', 'h', '-', 'c', 'n'},
  21787. Fcharset: TFcCharSet{
  21788. Fref: TFcRef{
  21789. Fcount: -libc.Int32FromInt32(1),
  21790. },
  21791. Fnum: int32(82),
  21792. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(240)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21793. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(240)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21794. },
  21795. },
  21796. 241: {
  21797. Flang: [16]TFcChar8{'z', 'h', '-', 'h', 'k'},
  21798. Fcharset: TFcCharSet{
  21799. Fref: TFcRef{
  21800. Fcount: -libc.Int32FromInt32(1),
  21801. },
  21802. Fnum: int32(171),
  21803. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(241)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21804. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(241)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21805. },
  21806. },
  21807. 242: {
  21808. Flang: [16]TFcChar8{'z', 'h', '-', 'm', 'o'},
  21809. Fcharset: TFcCharSet{
  21810. Fref: TFcRef{
  21811. Fcount: -libc.Int32FromInt32(1),
  21812. },
  21813. Fnum: int32(171),
  21814. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(242)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21815. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(242)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21816. },
  21817. },
  21818. 243: {
  21819. Flang: [16]TFcChar8{'z', 'h', '-', 's', 'g'},
  21820. Fcharset: TFcCharSet{
  21821. Fref: TFcRef{
  21822. Fcount: -libc.Int32FromInt32(1),
  21823. },
  21824. Fnum: int32(82),
  21825. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(243)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21826. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(243)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21827. },
  21828. },
  21829. 244: {
  21830. Flang: [16]TFcChar8{'z', 'h', '-', 't', 'w'},
  21831. Fcharset: TFcCharSet{
  21832. Fref: TFcRef{
  21833. Fcount: -libc.Int32FromInt32(1),
  21834. },
  21835. Fnum: int32(83),
  21836. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(244)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21837. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(244)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21838. },
  21839. },
  21840. 245: {
  21841. Flang: [16]TFcChar8{'z', 'u'},
  21842. Fcharset: TFcCharSet{
  21843. Fref: TFcRef{
  21844. Fcount: -libc.Int32FromInt32(1),
  21845. },
  21846. Fnum: int32(1),
  21847. Fleaves_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4) - (libc.Uint32FromInt32(245)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21848. Fnumbers_offset: libc.Int32FromUint32(libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(780)*libc.Uint32FromInt64(4) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(2) - (libc.Uint32FromInt32(245)*libc.Uint32FromInt64(32) + uint32(libc.UintptrFromInt32(0)+16))),
  21849. },
  21850. },
  21851. },
  21852. Fleaves: [725]TFcCharLeaf{
  21853. 0: {
  21854. Fmap1: [8]TFcChar32{
  21855. 2: uint32(0x07fffffe),
  21856. 3: uint32(0x07fffffe),
  21857. 6: uint32(0x08104404),
  21858. 7: uint32(0x08104404),
  21859. },
  21860. },
  21861. 1: {
  21862. Fmap1: [8]TFcChar32{
  21863. 0: uint32(0xffff8002),
  21864. 1: uint32(0xffffffff),
  21865. 2: uint32(0x8002ffff),
  21866. 4: uint32(0xc0000000),
  21867. 5: uint32(0xf0fc33c0),
  21868. 6: uint32(0x03000000),
  21869. 7: uint32(0x00000003),
  21870. },
  21871. },
  21872. 2: {
  21873. Fmap1: [8]TFcChar32{
  21874. 2: uint32(0x07fffffe),
  21875. 3: uint32(0x07fffffe),
  21876. 6: uint32(0x0810cf00),
  21877. 7: uint32(0x0810cf00),
  21878. },
  21879. },
  21880. 3: {
  21881. Fmap1: [8]TFcChar32{
  21882. 2: uint32(0x00000200),
  21883. },
  21884. },
  21885. 4: {
  21886. Fmap1: [8]TFcChar32{
  21887. 2: uint32(0x07fffffe),
  21888. 3: uint32(0x07fffffe),
  21889. 6: uint32(0x00220008),
  21890. 7: uint32(0x00220008),
  21891. },
  21892. },
  21893. 5: {
  21894. Fmap1: [8]TFcChar32{
  21895. 1: uint32(0x00000300),
  21896. 3: uint32(0x00000300),
  21897. 4: uint32(0x00010040),
  21898. },
  21899. },
  21900. 6: {
  21901. Fmap1: [8]TFcChar32{
  21902. 2: uint32(0x08100000),
  21903. },
  21904. },
  21905. 7: {
  21906. Fmap1: [8]TFcChar32{
  21907. 0: uint32(0x00000048),
  21908. 1: uint32(0x00000200),
  21909. },
  21910. },
  21911. 8: {
  21912. Fmap1: [8]TFcChar32{
  21913. 5: uint32(0x30000000),
  21914. 7: uint32(0x03000000),
  21915. },
  21916. },
  21917. 9: {
  21918. Fmap1: [8]TFcChar32{
  21919. 0: uint32(0xff7fff7f),
  21920. 1: uint32(0xff01ff7f),
  21921. 2: uint32(0x00003d7f),
  21922. 3: uint32(0xffff7fff),
  21923. 4: uint32(0xffff3d7f),
  21924. 5: uint32(0x003d7fff),
  21925. 6: uint32(0xff7f7f00),
  21926. 7: uint32(0x00ff7fff),
  21927. },
  21928. },
  21929. 10: {
  21930. Fmap1: [8]TFcChar32{
  21931. 0: uint32(0x003d7fff),
  21932. 1: uint32(0xffffffff),
  21933. 2: uint32(0x007fff7f),
  21934. },
  21935. },
  21936. 11: {
  21937. Fmap1: [8]TFcChar32{
  21938. 2: uint32(0x07fffffe),
  21939. 3: uint32(0x07fffffe),
  21940. 6: uint32(0x140a2202),
  21941. 7: uint32(0x140a2202),
  21942. },
  21943. },
  21944. 12: {
  21945. Fmap1: [8]TFcChar32{
  21946. 1: uint32(0x07fffffe),
  21947. 2: uint32(0x000007fe),
  21948. },
  21949. },
  21950. 13: {
  21951. Fmap1: [8]TFcChar32{
  21952. 4: uint32(0xfff99fee),
  21953. 5: uint32(0xd3c4fdff),
  21954. 6: uint32(0xb000399f),
  21955. 7: uint32(0x00030000),
  21956. },
  21957. },
  21958. 14: {
  21959. Fmap1: [8]TFcChar32{
  21960. 1: uint32(0x00c00030),
  21961. },
  21962. },
  21963. 15: {
  21964. Fmap1: [8]TFcChar32{
  21965. 0: uint32(0xffff0042),
  21966. 1: uint32(0xffffffff),
  21967. 2: uint32(0x0002ffff),
  21968. },
  21969. },
  21970. 16: {
  21971. Fmap1: [8]TFcChar32{
  21972. 2: uint32(0x07fffffe),
  21973. 3: uint32(0x07fffffe),
  21974. 6: uint32(0x10028010),
  21975. 7: uint32(0x10028010),
  21976. },
  21977. },
  21978. 17: {
  21979. Fmap1: [8]TFcChar32{
  21980. 2: uint32(0x07fffffe),
  21981. 3: uint32(0x07fffffe),
  21982. 6: uint32(0x10400080),
  21983. 7: uint32(0x10400080),
  21984. },
  21985. },
  21986. 18: {
  21987. Fmap1: [8]TFcChar32{
  21988. 0: uint32(0xc0000000),
  21989. 1: uint32(0x00030000),
  21990. 2: uint32(0xc0000000),
  21991. 4: uint32(0x00008000),
  21992. },
  21993. },
  21994. 19: {
  21995. Fmap1: [8]TFcChar32{
  21996. 2: uint32(0x02000000),
  21997. },
  21998. },
  21999. 20: {
  22000. Fmap1: [8]TFcChar32{
  22001. 1: uint32(0x07ffffde),
  22002. 2: uint32(0x001009f6),
  22003. 3: uint32(0x40000000),
  22004. 4: uint32(0x01000040),
  22005. 5: uint32(0x00008200),
  22006. 6: uint32(0x00001000),
  22007. },
  22008. },
  22009. 21: {
  22010. Fmap1: [8]TFcChar32{
  22011. 0: uint32(0xffff0000),
  22012. 1: uint32(0xffffffff),
  22013. 2: uint32(0x0000ffff),
  22014. 4: uint32(0x030c0000),
  22015. 5: uint32(0x0c00cc0f),
  22016. 6: uint32(0x03000000),
  22017. 7: uint32(0x00000300),
  22018. },
  22019. },
  22020. 22: {
  22021. Fmap1: [8]TFcChar32{
  22022. 0: uint32(0xffff4040),
  22023. 1: uint32(0xffffffff),
  22024. 2: uint32(0x4040ffff),
  22025. },
  22026. },
  22027. 23: {
  22028. Fmap1: [8]TFcChar32{
  22029. 2: uint32(0x07fffffe),
  22030. 3: uint32(0x07fffffe),
  22031. },
  22032. },
  22033. 24: {
  22034. Fmap1: [8]TFcChar32{
  22035. 0: uint32(0x00003000),
  22036. 4: uint32(0x00110000),
  22037. 7: uint32(0x000000c0),
  22038. },
  22039. },
  22040. 25: {
  22041. Fmap1: [8]TFcChar32{
  22042. 2: uint32(0x08000000),
  22043. 3: uint32(0x00000008),
  22044. },
  22045. },
  22046. 26: {
  22047. Fmap1: [8]TFcChar32{
  22048. 0: uint32(0x00003000),
  22049. 1: uint32(0x00000030),
  22050. 3: uint32(0x0000300c),
  22051. 4: uint32(0x000c0000),
  22052. },
  22053. },
  22054. 27: {
  22055. Fmap1: [8]TFcChar32{
  22056. 1: uint32(0x3a8b0000),
  22057. 2: uint32(0x9e78e6b9),
  22058. 3: uint32(0x0000802e),
  22059. },
  22060. },
  22061. 28: {
  22062. Fmap1: [8]TFcChar32{
  22063. 0: uint32(0xffff0000),
  22064. 1: uint32(0xffffd7ff),
  22065. 2: uint32(0x0000d7ff),
  22066. },
  22067. },
  22068. 29: {
  22069. Fmap1: [8]TFcChar32{
  22070. 0: uint32(0xffffffe0),
  22071. 1: uint32(0x83ffffff),
  22072. 2: uint32(0x00003fff),
  22073. },
  22074. },
  22075. 30: {
  22076. Fmap1: [8]TFcChar32{
  22077. 2: uint32(0x07fffffe),
  22078. 3: uint32(0x07fffffe),
  22079. 6: uint32(0x10008200),
  22080. 7: uint32(0x10008200),
  22081. },
  22082. },
  22083. 31: {
  22084. Fmap1: [8]TFcChar32{
  22085. 2: uint32(0x07fffffe),
  22086. 3: uint32(0x07fffffe),
  22087. 6: uint32(0x060c3303),
  22088. 7: uint32(0x060c3303),
  22089. },
  22090. },
  22091. 32: {
  22092. Fmap1: [8]TFcChar32{
  22093. 0: uint32(0x00000003),
  22094. },
  22095. },
  22096. 33: {
  22097. Fmap1: [8]TFcChar32{
  22098. 5: uint32(0x03000000),
  22099. 6: uint32(0x00003000),
  22100. },
  22101. },
  22102. 34: {
  22103. Fmap1: [8]TFcChar32{
  22104. 2: uint32(0x00000c00),
  22105. 4: uint32(0x20010040),
  22106. },
  22107. },
  22108. 35: {
  22109. Fmap1: [8]TFcChar32{
  22110. 2: uint32(0x08100000),
  22111. 3: uint32(0x00040000),
  22112. },
  22113. },
  22114. 36: {
  22115. Fmap1: [8]TFcChar32{
  22116. 4: uint32(0xfff99fee),
  22117. 5: uint32(0xd3c5fdff),
  22118. 6: uint32(0xb000399f),
  22119. },
  22120. },
  22121. 37: {
  22122. Fmap1: [8]TFcChar32{
  22123. 2: uint32(0xfffffeff),
  22124. 3: uint32(0x3d7e03ff),
  22125. 4: uint32(0xfeff0003),
  22126. 5: uint32(0x03ffffff),
  22127. },
  22128. },
  22129. 38: {
  22130. Fmap1: [8]TFcChar32{
  22131. 2: uint32(0x07fffffe),
  22132. 3: uint32(0x07fffffe),
  22133. 6: uint32(0x12120404),
  22134. 7: uint32(0x12120404),
  22135. },
  22136. },
  22137. 39: {
  22138. Fmap1: [8]TFcChar32{
  22139. 0: uint32(0xfff99fee),
  22140. 1: uint32(0xf3e5fdff),
  22141. 2: uint32(0x0007399f),
  22142. 3: uint32(0x0001ffff),
  22143. },
  22144. },
  22145. 40: {
  22146. Fmap1: [8]TFcChar32{
  22147. 0: uint32(0x000330c0),
  22148. 3: uint32(0x60000003),
  22149. },
  22150. },
  22151. 41: {
  22152. Fmap1: [8]TFcChar32{
  22153. 0: uint32(0xffff0002),
  22154. 1: uint32(0xffffffff),
  22155. 2: uint32(0x0002ffff),
  22156. 5: uint32(0x0c00c000),
  22157. },
  22158. },
  22159. 42: {
  22160. Fmap1: [8]TFcChar32{
  22161. 0: uint32(0xff7fff7f),
  22162. 1: uint32(0xff01ff00),
  22163. 2: uint32(0x3d7f3d7f),
  22164. 3: uint32(0xffff7fff),
  22165. 4: uint32(0xffff0000),
  22166. 5: uint32(0x003d7fff),
  22167. 6: uint32(0xff7f7f3d),
  22168. 7: uint32(0x00ff7fff),
  22169. },
  22170. },
  22171. 43: {
  22172. Fmap1: [8]TFcChar32{
  22173. 0: uint32(0x003d7fff),
  22174. 1: uint32(0xffffffff),
  22175. 2: uint32(0x007fff00),
  22176. },
  22177. },
  22178. 44: {
  22179. Fmap1: [8]TFcChar32{
  22180. 2: uint32(0x07fffffe),
  22181. 3: uint32(0x07fffffe),
  22182. 6: uint32(0x140ca381),
  22183. 7: uint32(0x140ca381),
  22184. },
  22185. },
  22186. 45: {
  22187. Fmap1: [8]TFcChar32{
  22188. 1: uint32(0x80000000),
  22189. 2: uint32(0x00000001),
  22190. },
  22191. },
  22192. 46: {
  22193. Fmap1: [8]TFcChar32{
  22194. 2: uint32(0x07fffffe),
  22195. 3: uint32(0x07fffffe),
  22196. 6: uint32(0x10020004),
  22197. 7: uint32(0x10020004),
  22198. },
  22199. },
  22200. 47: {
  22201. Fmap1: [8]TFcChar32{
  22202. 0: uint32(0xffff0002),
  22203. 1: uint32(0xffffffff),
  22204. 2: uint32(0x0002ffff),
  22205. 5: uint32(0x00000030),
  22206. 6: uint32(0x000c0000),
  22207. 7: uint32(0x030300c0),
  22208. },
  22209. },
  22210. 48: {
  22211. Fmap1: [8]TFcChar32{
  22212. 5: uint32(0xffffffff),
  22213. 6: uint32(0xffffffff),
  22214. 7: uint32(0x001fffff),
  22215. },
  22216. },
  22217. 49: {
  22218. Fmap1: [8]TFcChar32{
  22219. 2: uint32(0x07fffffe),
  22220. 3: uint32(0x07fffffe),
  22221. 6: uint32(0x1a10cfc5),
  22222. 7: uint32(0x9a10cfc5),
  22223. },
  22224. },
  22225. 50: {
  22226. Fmap1: [8]TFcChar32{
  22227. 2: uint32(0x000c0000),
  22228. 3: uint32(0x01000000),
  22229. },
  22230. },
  22231. 51: {
  22232. Fmap1: [8]TFcChar32{
  22233. 2: uint32(0x07fffffe),
  22234. 3: uint32(0x07fffffe),
  22235. 6: uint32(0x10420084),
  22236. 7: uint32(0x10420084),
  22237. },
  22238. },
  22239. 52: {
  22240. Fmap1: [8]TFcChar32{
  22241. 0: uint32(0xc0000000),
  22242. 1: uint32(0x00030000),
  22243. 2: uint32(0xc0000000),
  22244. },
  22245. },
  22246. 53: {
  22247. Fmap1: [8]TFcChar32{
  22248. 2: uint32(0x07fffffe),
  22249. 3: uint32(0x07fffffe),
  22250. 6: uint32(0x24082202),
  22251. 7: uint32(0x24082202),
  22252. },
  22253. },
  22254. 54: {
  22255. Fmap1: [8]TFcChar32{
  22256. 0: uint32(0x0c00f000),
  22257. 2: uint32(0x03000180),
  22258. 3: uint32(0x6000c033),
  22259. },
  22260. },
  22261. 55: {
  22262. Fmap1: [8]TFcChar32{
  22263. 2: uint32(0x07fffffe),
  22264. 3: uint32(0x07fffffe),
  22265. 6: uint32(0x021c0a08),
  22266. 7: uint32(0x021c0a08),
  22267. },
  22268. },
  22269. 56: {
  22270. Fmap1: [8]TFcChar32{
  22271. 0: uint32(0x00000030),
  22272. 2: uint32(0x0000001e),
  22273. 3: uint32(0x18000000),
  22274. },
  22275. },
  22276. 57: {
  22277. Fmap1: [8]TFcChar32{
  22278. 0: uint32(0xfdffa966),
  22279. 1: uint32(0xffffdfff),
  22280. 2: uint32(0xa965dfff),
  22281. 3: uint32(0x03ffffff),
  22282. },
  22283. },
  22284. 58: {
  22285. Fmap1: [8]TFcChar32{
  22286. 0: uint32(0x0000000c),
  22287. },
  22288. },
  22289. 59: {
  22290. Fmap1: [8]TFcChar32{
  22291. 0: uint32(0xffff0002),
  22292. 1: uint32(0xffffffff),
  22293. 2: uint32(0x0002ffff),
  22294. 5: uint32(0x00000c00),
  22295. 6: uint32(0x00c00000),
  22296. 7: uint32(0x000c0000),
  22297. },
  22298. },
  22299. 60: {
  22300. Fmap1: [8]TFcChar32{
  22301. 2: uint32(0x07fffffe),
  22302. 3: uint32(0x07fffffe),
  22303. 6: uint32(0x0010c604),
  22304. 7: uint32(0x8010c604),
  22305. },
  22306. },
  22307. 61: {
  22308. Fmap1: [8]TFcChar32{
  22309. 3: uint32(0x01f00000),
  22310. },
  22311. },
  22312. 62: {
  22313. Fmap1: [8]TFcChar32{
  22314. 4: uint32(0x0000003f),
  22315. 7: uint32(0x000c0000),
  22316. },
  22317. },
  22318. 63: {
  22319. Fmap1: [8]TFcChar32{
  22320. 2: uint32(0x07fffffe),
  22321. 3: uint32(0x07fffffe),
  22322. 6: uint32(0x25082262),
  22323. 7: uint32(0x25082262),
  22324. },
  22325. },
  22326. 64: {
  22327. Fmap1: [8]TFcChar32{
  22328. 2: uint32(0x07fffffe),
  22329. 3: uint32(0x07fffffe),
  22330. 6: uint32(0x90400010),
  22331. 7: uint32(0x10400010),
  22332. },
  22333. },
  22334. 65: {
  22335. Fmap1: [8]TFcChar32{
  22336. 0: uint32(0xfff99fec),
  22337. 1: uint32(0xf3e5fdff),
  22338. 2: uint32(0xf807399f),
  22339. 3: uint32(0x0000ffff),
  22340. },
  22341. },
  22342. 66: {
  22343. Fmap1: [8]TFcChar32{
  22344. 4: uint32(0xffffffff),
  22345. 5: uint32(0x0001ffff),
  22346. },
  22347. },
  22348. 67: {
  22349. Fmap1: [8]TFcChar32{
  22350. 0: uint32(0x0c000000),
  22351. 2: uint32(0x00000c00),
  22352. 4: uint32(0x00170240),
  22353. 5: uint32(0x00040000),
  22354. 6: uint32(0x001fe000),
  22355. },
  22356. },
  22357. 68: {
  22358. Fmap1: [8]TFcChar32{
  22359. 2: uint32(0x08500000),
  22360. 3: uint32(0x00000008),
  22361. 4: uint32(0x00000800),
  22362. },
  22363. },
  22364. 69: {
  22365. Fmap1: [8]TFcChar32{
  22366. 0: uint32(0x00001003),
  22367. },
  22368. },
  22369. 70: {
  22370. Fmap1: [8]TFcChar32{
  22371. 4: uint32(0xffffd740),
  22372. 5: uint32(0xfffffffb),
  22373. 6: uint32(0x00007fff),
  22374. },
  22375. },
  22376. 71: {
  22377. Fmap1: [8]TFcChar32{
  22378. 2: uint32(0x07fffffe),
  22379. 3: uint32(0x07fffffe),
  22380. 6: uint32(0x00528f81),
  22381. 7: uint32(0x00528f81),
  22382. },
  22383. },
  22384. 72: {
  22385. Fmap1: [8]TFcChar32{
  22386. 0: uint32(0x30000300),
  22387. 1: uint32(0x00300030),
  22388. 2: uint32(0x30000000),
  22389. 3: uint32(0x00003000),
  22390. },
  22391. },
  22392. 73: {
  22393. Fmap1: [8]TFcChar32{
  22394. 2: uint32(0x07fffffe),
  22395. 3: uint32(0x07fffffe),
  22396. 6: uint32(0x10600010),
  22397. 7: uint32(0x10600010),
  22398. },
  22399. },
  22400. 74: {
  22401. Fmap1: [8]TFcChar32{
  22402. 3: uint32(0x60000003),
  22403. },
  22404. },
  22405. 75: {
  22406. Fmap1: [8]TFcChar32{
  22407. 2: uint32(0x07fffffe),
  22408. 3: uint32(0x07fffffe),
  22409. 6: uint32(0x10020000),
  22410. 7: uint32(0x10020000),
  22411. },
  22412. },
  22413. 76: {
  22414. Fmap1: [8]TFcChar32{
  22415. 2: uint32(0x00000c00),
  22416. 4: uint32(0x20000402),
  22417. 5: uint32(0x00180000),
  22418. },
  22419. },
  22420. 77: {
  22421. Fmap1: [8]TFcChar32{
  22422. 2: uint32(0x00880000),
  22423. 3: uint32(0x00040000),
  22424. },
  22425. },
  22426. 78: {
  22427. Fmap1: [8]TFcChar32{
  22428. 2: uint32(0x07fffffe),
  22429. 3: uint32(0x07fffffe),
  22430. 6: uint32(0x00400030),
  22431. 7: uint32(0x00400030),
  22432. },
  22433. },
  22434. 79: {
  22435. Fmap1: [8]TFcChar32{
  22436. 2: uint32(0x07fffffe),
  22437. 3: uint32(0x07fffffe),
  22438. 6: uint32(0x0e1e7707),
  22439. 7: uint32(0x0e1e7707),
  22440. },
  22441. },
  22442. 80: {
  22443. Fmap1: [8]TFcChar32{
  22444. 2: uint32(0x07fffffe),
  22445. 3: uint32(0x07fffffe),
  22446. 6: uint32(0x25092042),
  22447. 7: uint32(0x25092042),
  22448. },
  22449. },
  22450. 81: {
  22451. Fmap1: [8]TFcChar32{
  22452. 2: uint32(0x07fffffe),
  22453. 3: uint32(0x07fffffe),
  22454. 6: uint32(0x02041107),
  22455. 7: uint32(0x02041107),
  22456. },
  22457. },
  22458. 82: {
  22459. Fmap1: [8]TFcChar32{
  22460. 2: uint32(0x07fffffe),
  22461. 3: uint32(0x07fffffe),
  22462. 6: uint32(0x9c508e14),
  22463. 7: uint32(0x1c508e14),
  22464. },
  22465. },
  22466. 83: {
  22467. Fmap1: [8]TFcChar32{
  22468. 2: uint32(0x07fffffe),
  22469. 3: uint32(0x07fffffe),
  22470. 6: uint32(0x04082202),
  22471. 7: uint32(0x04082202),
  22472. },
  22473. },
  22474. 84: {
  22475. Fmap1: [8]TFcChar32{
  22476. 0: uint32(0x00000c00),
  22477. 1: uint32(0x00000003),
  22478. },
  22479. },
  22480. 85: {
  22481. Fmap1: [8]TFcChar32{
  22482. 0: uint32(0xc0000c0c),
  22483. 2: uint32(0x00c00003),
  22484. 3: uint32(0x00000c03),
  22485. },
  22486. },
  22487. 86: {
  22488. Fmap1: [8]TFcChar32{
  22489. 2: uint32(0x07fffffe),
  22490. 3: uint32(0x07fffffe),
  22491. 6: uint32(0x020c1383),
  22492. 7: uint32(0x020c1383),
  22493. },
  22494. },
  22495. 87: {
  22496. Fmap1: [8]TFcChar32{
  22497. 0: uint32(0xff7fff7f),
  22498. 1: uint32(0xff01ff7f),
  22499. 2: uint32(0x00003d7f),
  22500. 3: uint32(0x00ff00ff),
  22501. 4: uint32(0x00ff3d7f),
  22502. 5: uint32(0x003d7fff),
  22503. 6: uint32(0xff7f7f00),
  22504. 7: uint32(0x00ff7f00),
  22505. },
  22506. },
  22507. 88: {
  22508. Fmap1: [8]TFcChar32{
  22509. 0: uint32(0x003d7f00),
  22510. 1: uint32(0xffff01ff),
  22511. 2: uint32(0x007fff7f),
  22512. },
  22513. },
  22514. 89: {
  22515. Fmap1: [8]TFcChar32{
  22516. 2: uint32(0x07fffffe),
  22517. 3: uint32(0x07fffffe),
  22518. 6: uint32(0x040a2202),
  22519. 7: uint32(0x042a220a),
  22520. },
  22521. },
  22522. 90: {
  22523. Fmap1: [8]TFcChar32{
  22524. 1: uint32(0x00000200),
  22525. 3: uint32(0x00000200),
  22526. },
  22527. },
  22528. 91: {
  22529. Fmap1: [8]TFcChar32{
  22530. 5: uint32(0x20000000),
  22531. 7: uint32(0x02000000),
  22532. },
  22533. },
  22534. 92: {
  22535. Fmap1: [8]TFcChar32{
  22536. 4: uint32(0xfffbafee),
  22537. 5: uint32(0xf3edfdff),
  22538. 6: uint32(0x00013bbf),
  22539. 7: uint32(0x00000001),
  22540. },
  22541. },
  22542. 93: {
  22543. Fmap1: [8]TFcChar32{
  22544. 2: uint32(0x07fffffe),
  22545. 3: uint32(0x07fffffe),
  22546. 6: uint32(0x00000080),
  22547. 7: uint32(0x00000080),
  22548. },
  22549. },
  22550. 94: {
  22551. Fmap1: [8]TFcChar32{
  22552. 4: uint32(0x03000402),
  22553. 5: uint32(0x00180000),
  22554. },
  22555. },
  22556. 95: {
  22557. Fmap1: [8]TFcChar32{
  22558. 2: uint32(0x00880000),
  22559. },
  22560. },
  22561. 96: {
  22562. Fmap1: [8]TFcChar32{
  22563. 0: uint32(0x000c0003),
  22564. 1: uint32(0x00000c00),
  22565. 2: uint32(0x00003000),
  22566. 3: uint32(0x00000c00),
  22567. },
  22568. },
  22569. 97: {
  22570. Fmap1: [8]TFcChar32{
  22571. 5: uint32(0x08000000),
  22572. },
  22573. },
  22574. 98: {
  22575. Fmap1: [8]TFcChar32{
  22576. 6: uint32(0xffff0000),
  22577. 7: uint32(0x000007ff),
  22578. },
  22579. },
  22580. 99: {
  22581. Fmap1: [8]TFcChar32{
  22582. 2: uint32(0x07fffffe),
  22583. 3: uint32(0x07fffffe),
  22584. 6: uint32(0x00080000),
  22585. 7: uint32(0x00080000),
  22586. },
  22587. },
  22588. 100: {
  22589. Fmap1: [8]TFcChar32{
  22590. 0: uint32(0x0c0030c0),
  22591. 2: uint32(0x0300001e),
  22592. 3: uint32(0x66000003),
  22593. },
  22594. },
  22595. 101: {
  22596. Fmap1: [8]TFcChar32{
  22597. 2: uint32(0x07fffffe),
  22598. 3: uint32(0x07fffffe),
  22599. 6: uint32(0x00040100),
  22600. 7: uint32(0x00040100),
  22601. },
  22602. },
  22603. 102: {
  22604. Fmap1: [8]TFcChar32{
  22605. 2: uint32(0x07fffffe),
  22606. 3: uint32(0x07fffffe),
  22607. 6: uint32(0x14482202),
  22608. 7: uint32(0x14482202),
  22609. },
  22610. },
  22611. 103: {
  22612. Fmap1: [8]TFcChar32{
  22613. 2: uint32(0x00030000),
  22614. 3: uint32(0x00030000),
  22615. },
  22616. },
  22617. 104: {
  22618. Fmap1: [8]TFcChar32{
  22619. 1: uint32(0xfffe0000),
  22620. 2: uint32(0x007fffff),
  22621. 3: uint32(0xfffffffe),
  22622. 4: uint32(0x000000ff),
  22623. },
  22624. },
  22625. 105: {
  22626. Fmap1: [8]TFcChar32{
  22627. 1: uint32(0x00008000),
  22628. },
  22629. },
  22630. 106: {
  22631. Fmap1: [8]TFcChar32{
  22632. 0: uint32(0x000c0000),
  22633. 2: uint32(0x00000c00),
  22634. },
  22635. },
  22636. 107: {
  22637. Fmap1: [8]TFcChar32{
  22638. 2: uint32(0x07fffffe),
  22639. 3: uint32(0x07fffffe),
  22640. 6: uint32(0x00000200),
  22641. 7: uint32(0x00000200),
  22642. },
  22643. },
  22644. 108: {
  22645. Fmap1: [8]TFcChar32{
  22646. 6: uint32(0x00003c00),
  22647. 7: uint32(0x00000030),
  22648. },
  22649. },
  22650. 109: {
  22651. Fmap1: [8]TFcChar32{
  22652. 0: uint32(0xffffffff),
  22653. 1: uint32(0xffffffff),
  22654. 2: uint32(0xffffffff),
  22655. 3: uint32(0xffffffff),
  22656. 4: uint32(0xffffffff),
  22657. 5: uint32(0xffffffff),
  22658. 6: uint32(0xffffffff),
  22659. 7: uint32(0xffffffff),
  22660. },
  22661. },
  22662. 110: {
  22663. Fmap1: [8]TFcChar32{
  22664. 0: uint32(0xffffffff),
  22665. 1: uint32(0xffffffff),
  22666. 2: uint32(0xffffffff),
  22667. 3: uint32(0xffffffff),
  22668. 4: uint32(0x00001fff),
  22669. },
  22670. },
  22671. 111: {
  22672. Fmap1: [8]TFcChar32{
  22673. 0: uint32(0xffff4002),
  22674. 1: uint32(0xffffffff),
  22675. 2: uint32(0x4002ffff),
  22676. },
  22677. },
  22678. 112: {
  22679. Fmap1: [8]TFcChar32{
  22680. 2: uint32(0x07fffffe),
  22681. 3: uint32(0x07fffffe),
  22682. 6: uint32(0x64092242),
  22683. 7: uint32(0x64092242),
  22684. },
  22685. },
  22686. 113: {
  22687. Fmap1: [8]TFcChar32{
  22688. 2: uint32(0x07fffffe),
  22689. 3: uint32(0x07fffffe),
  22690. 6: uint32(0x060cb301),
  22691. 7: uint32(0x060cb301),
  22692. },
  22693. },
  22694. 114: {
  22695. Fmap1: [8]TFcChar32{
  22696. 0: uint32(0x00000c7e),
  22697. 1: uint32(0x031f8000),
  22698. 2: uint32(0x0063f200),
  22699. 3: uint32(0x000df840),
  22700. 4: uint32(0x00037e08),
  22701. 5: uint32(0x08000dfa),
  22702. 6: uint32(0x0df901bf),
  22703. 7: uint32(0x5437e400),
  22704. },
  22705. },
  22706. 115: {
  22707. Fmap1: [8]TFcChar32{
  22708. 0: uint32(0x00000025),
  22709. 1: uint32(0x40006fc0),
  22710. 2: uint32(0x27f91be4),
  22711. 3: uint32(0xdee00000),
  22712. 4: uint32(0x007ff83f),
  22713. 5: uint32(0x00007f7f),
  22714. },
  22715. },
  22716. 116: {
  22717. Fmap1: [8]TFcChar32{
  22718. 3: uint32(0x007f8000),
  22719. },
  22720. },
  22721. 117: {
  22722. Fmap1: [8]TFcChar32{
  22723. 0: uint32(0x000000a7),
  22724. 2: uint32(0xfffffffe),
  22725. 3: uint32(0xffffffff),
  22726. 4: uint32(0x780fffff),
  22727. 5: uint32(0xfffffffe),
  22728. 6: uint32(0xffffffff),
  22729. 7: uint32(0x787fffff),
  22730. },
  22731. },
  22732. 118: {
  22733. Fmap1: [8]TFcChar32{
  22734. 0: uint32(0x03506f8b),
  22735. 1: uint32(0x1b042042),
  22736. 2: uint32(0x62808020),
  22737. 3: uint32(0x400a0000),
  22738. 4: uint32(0x10341b41),
  22739. 5: uint32(0x04003812),
  22740. 6: uint32(0x03608c02),
  22741. 7: uint32(0x08454038),
  22742. },
  22743. },
  22744. 119: {
  22745. Fmap1: [8]TFcChar32{
  22746. 0: uint32(0x2403c002),
  22747. 1: uint32(0x15108000),
  22748. 2: uint32(0x1229e040),
  22749. 3: uint32(0x80280000),
  22750. 4: uint32(0x28002800),
  22751. 5: uint32(0x8060c002),
  22752. 6: uint32(0x2080040c),
  22753. 7: uint32(0x05284002),
  22754. },
  22755. },
  22756. 120: {
  22757. Fmap1: [8]TFcChar32{
  22758. 0: uint32(0x82042a00),
  22759. 1: uint32(0x02000818),
  22760. 2: uint32(0x10008200),
  22761. 3: uint32(0x20700020),
  22762. 4: uint32(0x03022000),
  22763. 5: uint32(0x40a41000),
  22764. 6: uint32(0x0420a020),
  22765. 7: uint32(0x00000080),
  22766. },
  22767. },
  22768. 121: {
  22769. Fmap1: [8]TFcChar32{
  22770. 0: uint32(0x80040011),
  22771. 1: uint32(0x00000400),
  22772. 2: uint32(0x04012b78),
  22773. 3: uint32(0x11a23920),
  22774. 4: uint32(0x02842460),
  22775. 5: uint32(0x00c01021),
  22776. 6: uint32(0x20002050),
  22777. 7: uint32(0x07400042),
  22778. },
  22779. },
  22780. 122: {
  22781. Fmap1: [8]TFcChar32{
  22782. 0: uint32(0x208205c9),
  22783. 1: uint32(0x0fc10230),
  22784. 2: uint32(0x08402480),
  22785. 3: uint32(0x00258018),
  22786. 4: uint32(0x88000080),
  22787. 5: uint32(0x42120609),
  22788. 6: uint32(0xa32002a8),
  22789. 7: uint32(0x40040094),
  22790. },
  22791. },
  22792. 123: {
  22793. Fmap1: [8]TFcChar32{
  22794. 0: uint32(0x00c00024),
  22795. 1: uint32(0x8e000001),
  22796. 2: uint32(0x059e058a),
  22797. 3: uint32(0x013b0001),
  22798. 4: uint32(0x85000010),
  22799. 5: uint32(0x08080000),
  22800. 6: uint32(0x02d07d04),
  22801. 7: uint32(0x018d9838),
  22802. },
  22803. },
  22804. 124: {
  22805. Fmap1: [8]TFcChar32{
  22806. 0: uint32(0x8803f310),
  22807. 1: uint32(0x03000840),
  22808. 2: uint32(0x00000704),
  22809. 3: uint32(0x30080500),
  22810. 4: uint32(0x00001000),
  22811. 5: uint32(0x20040000),
  22812. 6: uint32(0x00000003),
  22813. 7: uint32(0x04040002),
  22814. },
  22815. },
  22816. 125: {
  22817. Fmap1: [8]TFcChar32{
  22818. 0: uint32(0x000100d0),
  22819. 1: uint32(0x40028000),
  22820. 2: uint32(0x00088040),
  22821. 4: uint32(0x34000210),
  22822. 5: uint32(0x00400e00),
  22823. 6: uint32(0x00000020),
  22824. 7: uint32(0x00000008),
  22825. },
  22826. },
  22827. 126: {
  22828. Fmap1: [8]TFcChar32{
  22829. 0: uint32(0x00000040),
  22830. 1: uint32(0x00060000),
  22831. 3: uint32(0x00100100),
  22832. 4: uint32(0x00000080),
  22833. 6: uint32(0x4c000000),
  22834. 7: uint32(0x240d0009),
  22835. },
  22836. },
  22837. 127: {
  22838. Fmap1: [8]TFcChar32{
  22839. 0: uint32(0x80048000),
  22840. 1: uint32(0x00010180),
  22841. 2: uint32(0x00020484),
  22842. 3: uint32(0x00000400),
  22843. 4: uint32(0x00000804),
  22844. 5: uint32(0x00000008),
  22845. 6: uint32(0x80004800),
  22846. 7: uint32(0x16800000),
  22847. },
  22848. },
  22849. 128: {
  22850. Fmap1: [8]TFcChar32{
  22851. 0: uint32(0x00200065),
  22852. 1: uint32(0x00120410),
  22853. 2: uint32(0x44920403),
  22854. 3: uint32(0x40000200),
  22855. 4: uint32(0x10880008),
  22856. 5: uint32(0x40080100),
  22857. 6: uint32(0x00001482),
  22858. 7: uint32(0x00074800),
  22859. },
  22860. },
  22861. 129: {
  22862. Fmap1: [8]TFcChar32{
  22863. 0: uint32(0x14608200),
  22864. 1: uint32(0x00024e84),
  22865. 2: uint32(0x00128380),
  22866. 3: uint32(0x20184520),
  22867. 4: uint32(0x0240041c),
  22868. 5: uint32(0x0a001120),
  22869. 6: uint32(0x00180a00),
  22870. 7: uint32(0x88000800),
  22871. },
  22872. },
  22873. 130: {
  22874. Fmap1: [8]TFcChar32{
  22875. 0: uint32(0x01000002),
  22876. 1: uint32(0x00008001),
  22877. 2: uint32(0x04000040),
  22878. 3: uint32(0x80000040),
  22879. 4: uint32(0x08040000),
  22880. 6: uint32(0x00001202),
  22881. 7: uint32(0x00000002),
  22882. },
  22883. },
  22884. 131: {
  22885. Fmap1: [8]TFcChar32{
  22886. 1: uint32(0x00000004),
  22887. 2: uint32(0x21910000),
  22888. 3: uint32(0x00000858),
  22889. 4: uint32(0xbf8013a0),
  22890. 5: uint32(0x8279401c),
  22891. 6: uint32(0xa8041054),
  22892. 7: uint32(0xc5004282),
  22893. },
  22894. },
  22895. 132: {
  22896. Fmap1: [8]TFcChar32{
  22897. 0: uint32(0x0402ce56),
  22898. 1: uint32(0xfc020000),
  22899. 2: uint32(0x40200d21),
  22900. 3: uint32(0x00028030),
  22901. 4: uint32(0x00010000),
  22902. 5: uint32(0x01081202),
  22903. 7: uint32(0x00410003),
  22904. },
  22905. },
  22906. 133: {
  22907. Fmap1: [8]TFcChar32{
  22908. 0: uint32(0x00404080),
  22909. 1: uint32(0x00000200),
  22910. 2: uint32(0x00010000),
  22911. 6: uint32(0x60000000),
  22912. 7: uint32(0x480241ea),
  22913. },
  22914. },
  22915. 134: {
  22916. Fmap1: [8]TFcChar32{
  22917. 0: uint32(0x2000104c),
  22918. 1: uint32(0x2109a820),
  22919. 2: uint32(0x00200020),
  22920. 3: uint32(0x7b1c0008),
  22921. 4: uint32(0x10a0840a),
  22922. 5: uint32(0x01c028c0),
  22923. 6: uint32(0x00000608),
  22924. 7: uint32(0x04c00000),
  22925. },
  22926. },
  22927. 135: {
  22928. Fmap1: [8]TFcChar32{
  22929. 0: uint32(0x80398412),
  22930. 1: uint32(0x40a200e0),
  22931. 2: uint32(0x02080000),
  22932. 3: uint32(0x12030a04),
  22933. 4: uint32(0x008d1833),
  22934. 5: uint32(0x02184602),
  22935. 6: uint32(0x13803028),
  22936. 7: uint32(0x00200801),
  22937. },
  22938. },
  22939. 136: {
  22940. Fmap1: [8]TFcChar32{
  22941. 0: uint32(0x20440000),
  22942. 1: uint32(0x000005a1),
  22943. 2: uint32(0x00050800),
  22944. 3: uint32(0x0020a328),
  22945. 4: uint32(0x80100000),
  22946. 5: uint32(0x10040649),
  22947. 6: uint32(0x10020020),
  22948. 7: uint32(0x00090180),
  22949. },
  22950. },
  22951. 137: {
  22952. Fmap1: [8]TFcChar32{
  22953. 0: uint32(0x8c008202),
  22954. 2: uint32(0x00205910),
  22955. 3: uint32(0x0041410c),
  22956. 4: uint32(0x00004004),
  22957. 5: uint32(0x40441290),
  22958. 6: uint32(0x00010080),
  22959. 7: uint32(0x01040000),
  22960. },
  22961. },
  22962. 138: {
  22963. Fmap1: [8]TFcChar32{
  22964. 0: uint32(0x04070000),
  22965. 1: uint32(0x89108040),
  22966. 2: uint32(0x00282a81),
  22967. 3: uint32(0x82420000),
  22968. 4: uint32(0x51a20411),
  22969. 5: uint32(0x32220800),
  22970. 6: uint32(0x2b0d2220),
  22971. 7: uint32(0x40c83003),
  22972. },
  22973. },
  22974. 139: {
  22975. Fmap1: [8]TFcChar32{
  22976. 0: uint32(0x82020082),
  22977. 1: uint32(0x80008900),
  22978. 2: uint32(0x10a00200),
  22979. 3: uint32(0x08004100),
  22980. 4: uint32(0x09041108),
  22981. 5: uint32(0x000405a6),
  22982. 6: uint32(0x0c018000),
  22983. 7: uint32(0x04104002),
  22984. },
  22985. },
  22986. 140: {
  22987. Fmap1: [8]TFcChar32{
  22988. 0: uint32(0x00002000),
  22989. 1: uint32(0x44003000),
  22990. 2: uint32(0x01000004),
  22991. 3: uint32(0x00008200),
  22992. 4: uint32(0x00000008),
  22993. 5: uint32(0x00044010),
  22994. 6: uint32(0x00002002),
  22995. 7: uint32(0x00001040),
  22996. },
  22997. },
  22998. 141: {
  22999. Fmap1: [8]TFcChar32{
  23000. 1: uint32(0xca008000),
  23001. 2: uint32(0x02828020),
  23002. 3: uint32(0x00b1100c),
  23003. 4: uint32(0x12824280),
  23004. 5: uint32(0x22013030),
  23005. 6: uint32(0x00808820),
  23006. 7: uint32(0x040013e4),
  23007. },
  23008. },
  23009. 142: {
  23010. Fmap1: [8]TFcChar32{
  23011. 0: uint32(0x801840c0),
  23012. 1: uint32(0x1000a1a1),
  23013. 2: uint32(0x00000004),
  23014. 3: uint32(0x0050c200),
  23015. 4: uint32(0x00c20082),
  23016. 5: uint32(0x00104840),
  23017. 6: uint32(0x10400080),
  23018. 7: uint32(0xa3140000),
  23019. },
  23020. },
  23021. 143: {
  23022. Fmap1: [8]TFcChar32{
  23023. 0: uint32(0xa8a02301),
  23024. 1: uint32(0x24123d00),
  23025. 2: uint32(0x80030200),
  23026. 3: uint32(0xc0028022),
  23027. 4: uint32(0x34a10000),
  23028. 5: uint32(0x00408005),
  23029. 6: uint32(0x00190010),
  23030. 7: uint32(0x882a0000),
  23031. },
  23032. },
  23033. 144: {
  23034. Fmap1: [8]TFcChar32{
  23035. 0: uint32(0x00080018),
  23036. 1: uint32(0x33000402),
  23037. 2: uint32(0x9002010a),
  23038. 4: uint32(0x00800020),
  23039. 5: uint32(0x00010100),
  23040. 6: uint32(0x84040810),
  23041. 7: uint32(0x04004000),
  23042. },
  23043. },
  23044. 145: {
  23045. Fmap1: [8]TFcChar32{
  23046. 0: uint32(0x10006020),
  23047. 3: uint32(0x30a02000),
  23048. 4: uint32(0x00000004),
  23049. 6: uint32(0x01000800),
  23050. 7: uint32(0x20000000),
  23051. },
  23052. },
  23053. 146: {
  23054. Fmap1: [8]TFcChar32{
  23055. 0: uint32(0x02000000),
  23056. 1: uint32(0x02000602),
  23057. 2: uint32(0x80000800),
  23058. },
  23059. },
  23060. 147: {
  23061. Fmap1: [8]TFcChar32{
  23062. 0: uint32(0x00000010),
  23063. 1: uint32(0x44040083),
  23064. 2: uint32(0x00081000),
  23065. 3: uint32(0x0818824c),
  23066. 4: uint32(0x00400e00),
  23067. 5: uint32(0x8c300000),
  23068. 6: uint32(0x08146001),
  23069. },
  23070. },
  23071. 148: {
  23072. Fmap1: [8]TFcChar32{
  23073. 0: uint32(0x00828000),
  23074. 1: uint32(0x41900000),
  23075. 2: uint32(0x84804006),
  23076. 3: uint32(0x24010001),
  23077. 4: uint32(0x02400108),
  23078. 5: uint32(0x9b080006),
  23079. 6: uint32(0x00201602),
  23080. 7: uint32(0x0009012e),
  23081. },
  23082. },
  23083. 149: {
  23084. Fmap1: [8]TFcChar32{
  23085. 0: uint32(0x40800800),
  23086. 1: uint32(0x48000420),
  23087. 2: uint32(0x10000032),
  23088. 3: uint32(0x01904440),
  23089. 4: uint32(0x02000100),
  23090. 5: uint32(0x10048000),
  23091. 6: uint32(0x00020000),
  23092. 7: uint32(0x08820802),
  23093. },
  23094. },
  23095. 150: {
  23096. Fmap1: [8]TFcChar32{
  23097. 0: uint32(0x08080ba0),
  23098. 1: uint32(0x00009242),
  23099. 2: uint32(0x00400000),
  23100. 3: uint32(0xc0008080),
  23101. 4: uint32(0x20410001),
  23102. 5: uint32(0x04400000),
  23103. 6: uint32(0x60020820),
  23104. 7: uint32(0x00100000),
  23105. },
  23106. },
  23107. 151: {
  23108. Fmap1: [8]TFcChar32{
  23109. 0: uint32(0x00108046),
  23110. 1: uint32(0x01001805),
  23111. 2: uint32(0x90100000),
  23112. 3: uint32(0x00014010),
  23113. 4: uint32(0x00000010),
  23114. 6: uint32(0x0000000b),
  23115. 7: uint32(0x00008800),
  23116. },
  23117. },
  23118. 152: {
  23119. Fmap1: [8]TFcChar32{
  23120. 1: uint32(0x00001000),
  23121. 3: uint32(0x20018800),
  23122. 4: uint32(0x00004600),
  23123. 5: uint32(0x06002000),
  23124. 6: uint32(0x00000100),
  23125. },
  23126. },
  23127. 153: {
  23128. Fmap1: [8]TFcChar32{
  23129. 1: uint32(0x10400042),
  23130. 2: uint32(0x02004000),
  23131. 3: uint32(0x00004280),
  23132. 4: uint32(0x80000400),
  23133. 5: uint32(0x00020000),
  23134. 6: uint32(0x00000008),
  23135. 7: uint32(0x00000020),
  23136. },
  23137. },
  23138. 154: {
  23139. Fmap1: [8]TFcChar32{
  23140. 0: uint32(0x00000040),
  23141. 1: uint32(0x20600400),
  23142. 2: uint32(0x0a000180),
  23143. 3: uint32(0x02040280),
  23144. 5: uint32(0x00409001),
  23145. 6: uint32(0x02000004),
  23146. 7: uint32(0x00003200),
  23147. },
  23148. },
  23149. 155: {
  23150. Fmap1: [8]TFcChar32{
  23151. 0: uint32(0x88000000),
  23152. 1: uint32(0x80404800),
  23153. 2: uint32(0x00000010),
  23154. 3: uint32(0x00040008),
  23155. 4: uint32(0x00000a90),
  23156. 5: uint32(0x00000200),
  23157. 6: uint32(0x00002000),
  23158. 7: uint32(0x40002001),
  23159. },
  23160. },
  23161. 156: {
  23162. Fmap1: [8]TFcChar32{
  23163. 0: uint32(0x00000048),
  23164. 1: uint32(0x00100000),
  23165. 3: uint32(0x00000001),
  23166. 4: uint32(0x00000008),
  23167. 5: uint32(0x20010080),
  23168. 7: uint32(0x00400040),
  23169. },
  23170. },
  23171. 157: {
  23172. Fmap1: [8]TFcChar32{
  23173. 0: uint32(0x85000000),
  23174. 1: uint32(0x0c8f0108),
  23175. 2: uint32(0x32129000),
  23176. 3: uint32(0x80090420),
  23177. 4: uint32(0x00024000),
  23178. 5: uint32(0x40040800),
  23179. 6: uint32(0x092000a0),
  23180. 7: uint32(0x00100204),
  23181. },
  23182. },
  23183. 158: {
  23184. Fmap1: [8]TFcChar32{
  23185. 0: uint32(0x00002000),
  23186. 2: uint32(0x00440004),
  23187. 3: uint32(0x6c000000),
  23188. 4: uint32(0x000000d0),
  23189. 5: uint32(0x80004000),
  23190. 6: uint32(0x88800440),
  23191. 7: uint32(0x41144018),
  23192. },
  23193. },
  23194. 159: {
  23195. Fmap1: [8]TFcChar32{
  23196. 0: uint32(0x80001a02),
  23197. 1: uint32(0x14000001),
  23198. 2: uint32(0x00000001),
  23199. 3: uint32(0x0000004a),
  23200. 5: uint32(0x00083000),
  23201. 6: uint32(0x08000000),
  23202. 7: uint32(0x0008a024),
  23203. },
  23204. },
  23205. 160: {
  23206. Fmap1: [8]TFcChar32{
  23207. 0: uint32(0x00300004),
  23208. 1: uint32(0x00140000),
  23209. 2: uint32(0x20000000),
  23210. 3: uint32(0x00001800),
  23211. 4: uint32(0x00020002),
  23212. 5: uint32(0x04000000),
  23213. 6: uint32(0x00000002),
  23214. 7: uint32(0x00000100),
  23215. },
  23216. },
  23217. 161: {
  23218. Fmap1: [8]TFcChar32{
  23219. 0: uint32(0x00004002),
  23220. 1: uint32(0x54000000),
  23221. 2: uint32(0x60400300),
  23222. 3: uint32(0x00002120),
  23223. 4: uint32(0x0000a022),
  23224. 6: uint32(0x81060803),
  23225. 7: uint32(0x08010200),
  23226. },
  23227. },
  23228. 162: {
  23229. Fmap1: [8]TFcChar32{
  23230. 0: uint32(0x04004800),
  23231. 1: uint32(0xb0044000),
  23232. 2: uint32(0x0000a005),
  23233. 3: uint32(0x04500800),
  23234. 4: uint32(0x800c000a),
  23235. 5: uint32(0x0000c000),
  23236. 6: uint32(0x10000800),
  23237. 7: uint32(0x02408021),
  23238. },
  23239. },
  23240. 163: {
  23241. Fmap1: [8]TFcChar32{
  23242. 0: uint32(0x08020000),
  23243. 1: uint32(0x00001040),
  23244. 2: uint32(0x00540a40),
  23245. 4: uint32(0x00800880),
  23246. 5: uint32(0x01020002),
  23247. 6: uint32(0x00000211),
  23248. 7: uint32(0x00000010),
  23249. },
  23250. },
  23251. 164: {
  23252. Fmap1: [8]TFcChar32{
  23253. 1: uint32(0x80000002),
  23254. 2: uint32(0x00002000),
  23255. 3: uint32(0x00080001),
  23256. 4: uint32(0x09840a00),
  23257. 5: uint32(0x40000080),
  23258. 6: uint32(0x00400000),
  23259. 7: uint32(0x49000080),
  23260. },
  23261. },
  23262. 165: {
  23263. Fmap1: [8]TFcChar32{
  23264. 0: uint32(0x0e102831),
  23265. 1: uint32(0x06098807),
  23266. 2: uint32(0x40011014),
  23267. 3: uint32(0x02620042),
  23268. 4: uint32(0x06000000),
  23269. 5: uint32(0x88062000),
  23270. 6: uint32(0x04068400),
  23271. 7: uint32(0x08108301),
  23272. },
  23273. },
  23274. 166: {
  23275. Fmap1: [8]TFcChar32{
  23276. 0: uint32(0x08000012),
  23277. 1: uint32(0x40004840),
  23278. 2: uint32(0x00300402),
  23279. 3: uint32(0x00012000),
  23280. },
  23281. },
  23282. 167: {
  23283. Fmap1: [8]TFcChar32{
  23284. 1: uint32(0x00400000),
  23285. 3: uint32(0x00a54400),
  23286. 4: uint32(0x40004420),
  23287. 5: uint32(0x20000310),
  23288. 6: uint32(0x00041002),
  23289. 7: uint32(0x18000000),
  23290. },
  23291. },
  23292. 168: {
  23293. Fmap1: [8]TFcChar32{
  23294. 0: uint32(0x00a1002a),
  23295. 1: uint32(0x00080000),
  23296. 2: uint32(0x40400000),
  23297. 3: uint32(0x00900000),
  23298. 4: uint32(0x21401200),
  23299. 5: uint32(0x04048626),
  23300. 6: uint32(0x40005048),
  23301. 7: uint32(0x21100000),
  23302. },
  23303. },
  23304. 169: {
  23305. Fmap1: [8]TFcChar32{
  23306. 0: uint32(0x040005a4),
  23307. 1: uint32(0x000a0000),
  23308. 2: uint32(0x00214000),
  23309. 3: uint32(0x07010800),
  23310. 4: uint32(0x34000000),
  23311. 5: uint32(0x00080100),
  23312. 6: uint32(0x00080040),
  23313. 7: uint32(0x10182508),
  23314. },
  23315. },
  23316. 170: {
  23317. Fmap1: [8]TFcChar32{
  23318. 0: uint32(0xc0805100),
  23319. 1: uint32(0x02c01400),
  23320. 2: uint32(0x00000080),
  23321. 3: uint32(0x00448040),
  23322. 4: uint32(0x20000800),
  23323. 5: uint32(0x210a8000),
  23324. 6: uint32(0x08800000),
  23325. 7: uint32(0x00020060),
  23326. },
  23327. },
  23328. 171: {
  23329. Fmap1: [8]TFcChar32{
  23330. 0: uint32(0x00004004),
  23331. 1: uint32(0x00400100),
  23332. 2: uint32(0x01040200),
  23333. 3: uint32(0x00800000),
  23334. 6: uint32(0x10081400),
  23335. 7: uint32(0x00008000),
  23336. },
  23337. },
  23338. 172: {
  23339. Fmap1: [8]TFcChar32{
  23340. 0: uint32(0x00004000),
  23341. 1: uint32(0x20000000),
  23342. 2: uint32(0x08800200),
  23343. 3: uint32(0x00001000),
  23344. 5: uint32(0x01000000),
  23345. 6: uint32(0x00000810),
  23346. },
  23347. },
  23348. 173: {
  23349. Fmap1: [8]TFcChar32{
  23350. 0: uint32(0x00020000),
  23351. 1: uint32(0x20200000),
  23352. 4: uint32(0x00000010),
  23353. 5: uint32(0x00001c40),
  23354. 6: uint32(0x00002000),
  23355. 7: uint32(0x08000210),
  23356. },
  23357. },
  23358. 174: {
  23359. Fmap1: [8]TFcChar32{
  23360. 2: uint32(0x54014000),
  23361. 3: uint32(0x02000800),
  23362. 4: uint32(0x00200400),
  23363. 6: uint32(0x00002080),
  23364. 7: uint32(0x00004000),
  23365. },
  23366. },
  23367. 175: {
  23368. Fmap1: [8]TFcChar32{
  23369. 0: uint32(0x10000004),
  23370. 4: uint32(0x00002000),
  23371. },
  23372. },
  23373. 176: {
  23374. Fmap1: [8]TFcChar32{
  23375. 2: uint32(0x28881041),
  23376. 3: uint32(0x0081010a),
  23377. 4: uint32(0x00400800),
  23378. 5: uint32(0x00000800),
  23379. 6: uint32(0x10208026),
  23380. 7: uint32(0x61000000),
  23381. },
  23382. },
  23383. 177: {
  23384. Fmap1: [8]TFcChar32{
  23385. 0: uint32(0x00050080),
  23386. 2: uint32(0x80000000),
  23387. 3: uint32(0x80040000),
  23388. 4: uint32(0x044088c2),
  23389. 5: uint32(0x00080480),
  23390. 6: uint32(0x00040000),
  23391. 7: uint32(0x00000048),
  23392. },
  23393. },
  23394. 178: {
  23395. Fmap1: [8]TFcChar32{
  23396. 0: uint32(0x8188410d),
  23397. 1: uint32(0x141a2400),
  23398. 2: uint32(0x40310000),
  23399. 3: uint32(0x000f4249),
  23400. 4: uint32(0x41283280),
  23401. 5: uint32(0x80053011),
  23402. 6: uint32(0x00400880),
  23403. 7: uint32(0x410060c0),
  23404. },
  23405. },
  23406. 179: {
  23407. Fmap1: [8]TFcChar32{
  23408. 0: uint32(0x2a004013),
  23409. 1: uint32(0x02000002),
  23410. 2: uint32(0x11000000),
  23411. 3: uint32(0x00850040),
  23412. },
  23413. },
  23414. 180: {
  23415. Fmap1: [8]TFcChar32{
  23416. 1: uint32(0x00800000),
  23417. 2: uint32(0x04000440),
  23418. 3: uint32(0x00000402),
  23419. 4: uint32(0x60001000),
  23420. 5: uint32(0x99909f87),
  23421. 6: uint32(0x5808049d),
  23422. 7: uint32(0x10002445),
  23423. },
  23424. },
  23425. 181: {
  23426. Fmap1: [8]TFcChar32{
  23427. 0: uint32(0x00000100),
  23428. 3: uint32(0x00910050),
  23429. 4: uint32(0x00000420),
  23430. 5: uint32(0x00080008),
  23431. 6: uint32(0x20000000),
  23432. 7: uint32(0x00288002),
  23433. },
  23434. },
  23435. 182: {
  23436. Fmap1: [8]TFcChar32{
  23437. 0: uint32(0x00008400),
  23438. 1: uint32(0x00000400),
  23439. 3: uint32(0x00100000),
  23440. 4: uint32(0x00002000),
  23441. 5: uint32(0x00000800),
  23442. 6: uint32(0x80043400),
  23443. 7: uint32(0x21000004),
  23444. },
  23445. },
  23446. 183: {
  23447. Fmap1: [8]TFcChar32{
  23448. 0: uint32(0x20000208),
  23449. 1: uint32(0x01000600),
  23450. 2: uint32(0x00000010),
  23451. 4: uint32(0x48000000),
  23452. 5: uint32(0x14060008),
  23453. 6: uint32(0x00124020),
  23454. 7: uint32(0x20812800),
  23455. },
  23456. },
  23457. 184: {
  23458. Fmap1: [8]TFcChar32{
  23459. 0: uint32(0xa419804b),
  23460. 1: uint32(0x01064009),
  23461. 2: uint32(0x10386ca4),
  23462. 3: uint32(0x85a0620b),
  23463. 4: uint32(0x00000010),
  23464. 5: uint32(0x01000448),
  23465. 6: uint32(0x00004400),
  23466. 7: uint32(0x20a02102),
  23467. },
  23468. },
  23469. 185: {
  23470. Fmap1: [8]TFcChar32{
  23471. 2: uint32(0x00147000),
  23472. 3: uint32(0x01a01404),
  23473. 4: uint32(0x10040000),
  23474. 5: uint32(0x01000000),
  23475. 6: uint32(0x3002f180),
  23476. 7: uint32(0x00000008),
  23477. },
  23478. },
  23479. 186: {
  23480. Fmap1: [8]TFcChar32{
  23481. 0: uint32(0x00002000),
  23482. 1: uint32(0x00100000),
  23483. 2: uint32(0x08000010),
  23484. 3: uint32(0x00020004),
  23485. 4: uint32(0x01000029),
  23486. 5: uint32(0x00002000),
  23487. 7: uint32(0x10082000),
  23488. },
  23489. },
  23490. 187: {
  23491. Fmap1: [8]TFcChar32{
  23492. 1: uint32(0x0004d041),
  23493. 2: uint32(0x08000800),
  23494. 3: uint32(0x00200000),
  23495. 4: uint32(0x00401000),
  23496. 5: uint32(0x00004000),
  23497. 7: uint32(0x00000002),
  23498. },
  23499. },
  23500. 188: {
  23501. Fmap1: [8]TFcChar32{
  23502. 0: uint32(0x01000000),
  23503. 2: uint32(0x00020000),
  23504. },
  23505. },
  23506. 189: {
  23507. Fmap1: [8]TFcChar32{
  23508. 3: uint32(0x00800000),
  23509. 4: uint32(0x000a0a01),
  23510. 5: uint32(0x0004002c),
  23511. 6: uint32(0x01000080),
  23512. },
  23513. },
  23514. 190: {
  23515. Fmap1: [8]TFcChar32{
  23516. 0: uint32(0x10000000),
  23517. 1: uint32(0x08040400),
  23518. 2: uint32(0x08012010),
  23519. 3: uint32(0x2569043c),
  23520. 4: uint32(0x1a10c460),
  23521. 5: uint32(0x08800009),
  23522. 6: uint32(0x000210f0),
  23523. 7: uint32(0x08c5050c),
  23524. },
  23525. },
  23526. 191: {
  23527. Fmap1: [8]TFcChar32{
  23528. 0: uint32(0x10000481),
  23529. 1: uint32(0x00040080),
  23530. 2: uint32(0x42040000),
  23531. 3: uint32(0x00100204),
  23532. 6: uint32(0x00080000),
  23533. 7: uint32(0x88080000),
  23534. },
  23535. },
  23536. 192: {
  23537. Fmap1: [8]TFcChar32{
  23538. 0: uint32(0x010f016c),
  23539. 1: uint32(0x18002000),
  23540. 2: uint32(0x41307000),
  23541. 3: uint32(0x00000080),
  23542. 5: uint32(0x00000100),
  23543. 6: uint32(0x88000000),
  23544. 7: uint32(0x70048004),
  23545. },
  23546. },
  23547. 193: {
  23548. Fmap1: [8]TFcChar32{
  23549. 0: uint32(0x00081420),
  23550. 1: uint32(0x00000100),
  23551. 4: uint32(0x02400000),
  23552. 5: uint32(0x00001000),
  23553. 6: uint32(0x00050070),
  23554. },
  23555. },
  23556. 194: {
  23557. Fmap1: [8]TFcChar32{
  23558. 0: uint32(0x000c4000),
  23559. 1: uint32(0x00010000),
  23560. 2: uint32(0x04000000),
  23561. 5: uint32(0x01000100),
  23562. 6: uint32(0x01000010),
  23563. 7: uint32(0x00000400),
  23564. },
  23565. },
  23566. 195: {
  23567. Fmap1: [8]TFcChar32{
  23568. 1: uint32(0x10020000),
  23569. 2: uint32(0x04100024),
  23570. 5: uint32(0x00004000),
  23571. 7: uint32(0x00000100),
  23572. },
  23573. },
  23574. 196: {
  23575. Fmap1: [8]TFcChar32{
  23576. 7: uint32(0x00100020),
  23577. },
  23578. },
  23579. 197: {
  23580. Fmap1: [8]TFcChar32{
  23581. 4: uint32(0x00008000),
  23582. 5: uint32(0x00100000),
  23583. },
  23584. },
  23585. 198: {
  23586. Fmap1: [8]TFcChar32{
  23587. 3: uint32(0x80000000),
  23588. 4: uint32(0x00880000),
  23589. 5: uint32(0x0c000040),
  23590. 6: uint32(0x02040010),
  23591. },
  23592. },
  23593. 199: {
  23594. Fmap1: [8]TFcChar32{
  23595. 0: uint32(0x00080000),
  23596. 1: uint32(0x08000000),
  23597. 3: uint32(0x00000004),
  23598. },
  23599. },
  23600. 200: {
  23601. Fmap1: [8]TFcChar32{
  23602. 2: uint32(0x07fffffe),
  23603. 3: uint32(0x07fffffe),
  23604. 6: uint32(0x00000300),
  23605. 7: uint32(0x00000300),
  23606. },
  23607. },
  23608. 201: {
  23609. Fmap1: [8]TFcChar32{
  23610. 6: uint32(0xffff0000),
  23611. 7: uint32(0x0001ffff),
  23612. },
  23613. },
  23614. 202: {
  23615. Fmap1: [8]TFcChar32{
  23616. 0: uint32(0xffff0002),
  23617. 1: uint32(0xffffffff),
  23618. 2: uint32(0x0002ffff),
  23619. 4: uint32(0x0c0c0000),
  23620. 5: uint32(0x000cc00c),
  23621. 6: uint32(0x03000000),
  23622. },
  23623. },
  23624. 203: {
  23625. Fmap1: [8]TFcChar32{
  23626. 1: uint32(0x00000300),
  23627. 3: uint32(0x00000300),
  23628. },
  23629. },
  23630. 204: {
  23631. Fmap1: [8]TFcChar32{
  23632. 0: uint32(0xffff0000),
  23633. 1: uint32(0xffffffff),
  23634. 2: uint32(0x0040ffff),
  23635. 4: uint32(0x0c0c0000),
  23636. 5: uint32(0x0c00000c),
  23637. 6: uint32(0x03000000),
  23638. 7: uint32(0x00000300),
  23639. },
  23640. },
  23641. 205: {
  23642. Fmap1: [8]TFcChar32{
  23643. 2: uint32(0x07fffffe),
  23644. 3: uint32(0x07fffffe),
  23645. 6: uint32(0x0d10646e),
  23646. 7: uint32(0x0d10646e),
  23647. },
  23648. },
  23649. 206: {
  23650. Fmap1: [8]TFcChar32{
  23651. 1: uint32(0x01000300),
  23652. 3: uint32(0x00000300),
  23653. },
  23654. },
  23655. 207: {
  23656. Fmap1: [8]TFcChar32{
  23657. 4: uint32(0x9fffffff),
  23658. 5: uint32(0xffcffee7),
  23659. 6: uint32(0x0000003f),
  23660. },
  23661. },
  23662. 208: {
  23663. Fmap1: [8]TFcChar32{
  23664. 4: uint32(0xfffddfec),
  23665. 5: uint32(0xc3effdff),
  23666. 6: uint32(0x40603ddf),
  23667. 7: uint32(0x00000003),
  23668. },
  23669. },
  23670. 209: {
  23671. Fmap1: [8]TFcChar32{
  23672. 1: uint32(0xfffe0000),
  23673. 2: uint32(0xffffffff),
  23674. 3: uint32(0xffffffef),
  23675. 4: uint32(0x00007fff),
  23676. },
  23677. },
  23678. 210: {
  23679. Fmap1: [8]TFcChar32{
  23680. 0: uint32(0x3eff0793),
  23681. 1: uint32(0x1303b011),
  23682. 2: uint32(0x11102801),
  23683. 3: uint32(0x05930000),
  23684. 4: uint32(0xb0111e7b),
  23685. 5: uint32(0x3b019703),
  23686. 6: uint32(0x00a01112),
  23687. 7: uint32(0x306b9593),
  23688. },
  23689. },
  23690. 211: {
  23691. Fmap1: [8]TFcChar32{
  23692. 0: uint32(0x1102b051),
  23693. 1: uint32(0x11303201),
  23694. 2: uint32(0x011102b0),
  23695. 3: uint32(0xb879300a),
  23696. 4: uint32(0x30011306),
  23697. 5: uint32(0x00800010),
  23698. 6: uint32(0x100b0113),
  23699. 7: uint32(0x93000011),
  23700. },
  23701. },
  23702. 212: {
  23703. Fmap1: [8]TFcChar32{
  23704. 0: uint32(0x00102b03),
  23705. 1: uint32(0x05930000),
  23706. 2: uint32(0xb051746b),
  23707. 3: uint32(0x3b011323),
  23708. 4: uint32(0x00001030),
  23709. 5: uint32(0x70000000),
  23710. 6: uint32(0x1303b011),
  23711. 7: uint32(0x11102900),
  23712. },
  23713. },
  23714. 213: {
  23715. Fmap1: [8]TFcChar32{
  23716. 0: uint32(0x00012180),
  23717. 1: uint32(0xb0153000),
  23718. 2: uint32(0x3001030e),
  23719. 3: uint32(0x02000030),
  23720. 4: uint32(0x10230111),
  23721. 5: uint32(0x13000000),
  23722. 6: uint32(0x10106b81),
  23723. 7: uint32(0x01130300),
  23724. },
  23725. },
  23726. 214: {
  23727. Fmap1: [8]TFcChar32{
  23728. 0: uint32(0x30111013),
  23729. 1: uint32(0x00000100),
  23730. 2: uint32(0x22b85530),
  23731. 3: uint32(0x30000000),
  23732. 4: uint32(0x9702b011),
  23733. 5: uint32(0x113afb07),
  23734. 6: uint32(0x011303b0),
  23735. 7: uint32(0x00000021),
  23736. },
  23737. },
  23738. 215: {
  23739. Fmap1: [8]TFcChar32{
  23740. 0: uint32(0x3b0d1b00),
  23741. 1: uint32(0x03b01138),
  23742. 2: uint32(0x11330113),
  23743. 3: uint32(0x13000001),
  23744. 4: uint32(0x111c2b05),
  23745. 5: uint32(0x00000100),
  23746. 6: uint32(0xb0111000),
  23747. 7: uint32(0x2a011300),
  23748. },
  23749. },
  23750. 216: {
  23751. Fmap1: [8]TFcChar32{
  23752. 0: uint32(0x02b01930),
  23753. 1: uint32(0x10100001),
  23754. 2: uint32(0x11000000),
  23755. 3: uint32(0x10300301),
  23756. 4: uint32(0x07130230),
  23757. 5: uint32(0x0011146b),
  23758. 6: uint32(0x2b051300),
  23759. 7: uint32(0x8fb8f974),
  23760. },
  23761. },
  23762. 217: {
  23763. Fmap1: [8]TFcChar32{
  23764. 0: uint32(0x103b0113),
  23765. 2: uint32(0xd9700000),
  23766. 3: uint32(0x01134ab0),
  23767. 4: uint32(0x0011103b),
  23768. 5: uint32(0x00001103),
  23769. 6: uint32(0x2ab15930),
  23770. 7: uint32(0x10000111),
  23771. },
  23772. },
  23773. 218: {
  23774. Fmap1: [8]TFcChar32{
  23775. 0: uint32(0x11010000),
  23776. 1: uint32(0x00100b01),
  23777. 2: uint32(0x01130000),
  23778. 3: uint32(0x0000102b),
  23779. 4: uint32(0x20000101),
  23780. 5: uint32(0x02a01110),
  23781. 6: uint32(0x30210111),
  23782. 7: uint32(0x0102b059),
  23783. },
  23784. },
  23785. 219: {
  23786. Fmap1: [8]TFcChar32{
  23787. 0: uint32(0x19300000),
  23788. 1: uint32(0x011307b0),
  23789. 2: uint32(0xb011383b),
  23790. 3: uint32(0x00000003),
  23791. 5: uint32(0x383b0d13),
  23792. 6: uint32(0x0103b011),
  23793. 7: uint32(0x00001000),
  23794. },
  23795. },
  23796. 220: {
  23797. Fmap1: [8]TFcChar32{
  23798. 0: uint32(0x01130000),
  23799. 1: uint32(0x00101020),
  23800. 2: uint32(0x00000100),
  23801. 3: uint32(0x00000110),
  23802. 4: uint32(0x30000000),
  23803. 5: uint32(0x00021811),
  23804. 6: uint32(0x00100000),
  23805. 7: uint32(0x01110000),
  23806. },
  23807. },
  23808. 221: {
  23809. Fmap1: [8]TFcChar32{
  23810. 0: uint32(0x00000023),
  23811. 1: uint32(0x0b019300),
  23812. 2: uint32(0x00301110),
  23813. 3: uint32(0x302b0111),
  23814. 4: uint32(0x13c7b011),
  23815. 5: uint32(0x01303b01),
  23816. 6: uint32(0x00000280),
  23817. 7: uint32(0xb0113000),
  23818. },
  23819. },
  23820. 222: {
  23821. Fmap1: [8]TFcChar32{
  23822. 0: uint32(0x2b011383),
  23823. 1: uint32(0x03b01130),
  23824. 2: uint32(0x300a0011),
  23825. 3: uint32(0x1102b011),
  23826. 4: uint32(0x00002000),
  23827. 5: uint32(0x01110100),
  23828. 6: uint32(0xa011102b),
  23829. 7: uint32(0x2b011302),
  23830. },
  23831. },
  23832. 223: {
  23833. Fmap1: [8]TFcChar32{
  23834. 0: uint32(0x01000010),
  23835. 1: uint32(0x30000001),
  23836. 2: uint32(0x13029011),
  23837. 3: uint32(0x11302b01),
  23838. 4: uint32(0x000066b0),
  23839. 5: uint32(0xb0113000),
  23840. 6: uint32(0x6b07d302),
  23841. 7: uint32(0x07b0113a),
  23842. },
  23843. },
  23844. 224: {
  23845. Fmap1: [8]TFcChar32{
  23846. 0: uint32(0x00200103),
  23847. 1: uint32(0x13000000),
  23848. 2: uint32(0x11386b05),
  23849. 3: uint32(0x011303b0),
  23850. 4: uint32(0x000010b8),
  23851. 5: uint32(0x2b051b00),
  23852. 6: uint32(0x03000110),
  23853. 7: uint32(0x10000000),
  23854. },
  23855. },
  23856. 225: {
  23857. Fmap1: [8]TFcChar32{
  23858. 0: uint32(0x1102a011),
  23859. 1: uint32(0x79700a01),
  23860. 2: uint32(0x0111a2b0),
  23861. 3: uint32(0x0000100a),
  23862. 4: uint32(0x00011100),
  23863. 5: uint32(0x00901110),
  23864. 6: uint32(0x00090111),
  23865. 7: uint32(0x93000000),
  23866. },
  23867. },
  23868. 226: {
  23869. Fmap1: [8]TFcChar32{
  23870. 0: uint32(0xf9f2bb05),
  23871. 1: uint32(0x011322b0),
  23872. 2: uint32(0x2001323b),
  23873. 4: uint32(0x06b05930),
  23874. 5: uint32(0x303b0193),
  23875. 6: uint32(0x1123a011),
  23876. 7: uint32(0x11700000),
  23877. },
  23878. },
  23879. 227: {
  23880. Fmap1: [8]TFcChar32{
  23881. 0: uint32(0x001102b0),
  23882. 1: uint32(0x00001010),
  23883. 2: uint32(0x03011301),
  23884. 3: uint32(0x00000110),
  23885. 4: uint32(0x162b0793),
  23886. 5: uint32(0x01010010),
  23887. 6: uint32(0x11300000),
  23888. 7: uint32(0x01110200),
  23889. },
  23890. },
  23891. 228: {
  23892. Fmap1: [8]TFcChar32{
  23893. 0: uint32(0xb0113029),
  23894. 2: uint32(0x0eb05130),
  23895. 3: uint32(0x383b0513),
  23896. 4: uint32(0x0303b011),
  23897. 5: uint32(0x00000100),
  23898. 6: uint32(0x01930000),
  23899. 7: uint32(0x00001039),
  23900. },
  23901. },
  23902. 229: {
  23903. Fmap1: [8]TFcChar32{
  23904. 0: uint32(0x3b000302),
  23905. 2: uint32(0x00230113),
  23906. 4: uint32(0x00100000),
  23907. 5: uint32(0x00010000),
  23908. 6: uint32(0x90113020),
  23909. 7: uint32(0x00000002),
  23910. },
  23911. },
  23912. 230: {
  23913. Fmap1: [8]TFcChar32{
  23914. 1: uint32(0x10000000),
  23915. 2: uint32(0x11020000),
  23916. 3: uint32(0x00000301),
  23917. 4: uint32(0x01130000),
  23918. 5: uint32(0xb079b02b),
  23919. 6: uint32(0x3b011323),
  23920. 7: uint32(0x02b01130),
  23921. },
  23922. },
  23923. 231: {
  23924. Fmap1: [8]TFcChar32{
  23925. 0: uint32(0xf0210111),
  23926. 1: uint32(0x1343b0d9),
  23927. 2: uint32(0x11303b01),
  23928. 3: uint32(0x011103b0),
  23929. 4: uint32(0xb0517020),
  23930. 5: uint32(0x20011322),
  23931. 6: uint32(0x01901110),
  23932. 7: uint32(0x300b0111),
  23933. },
  23934. },
  23935. 232: {
  23936. Fmap1: [8]TFcChar32{
  23937. 0: uint32(0x9302b011),
  23938. 1: uint32(0x0016ab01),
  23939. 2: uint32(0x01130100),
  23940. 3: uint32(0xb0113021),
  23941. 4: uint32(0x29010302),
  23942. 5: uint32(0x02b03130),
  23943. 6: uint32(0x30000000),
  23944. 7: uint32(0x1b42b819),
  23945. },
  23946. },
  23947. 233: {
  23948. Fmap1: [8]TFcChar32{
  23949. 0: uint32(0x11383301),
  23950. 1: uint32(0x00000330),
  23951. 2: uint32(0x00000020),
  23952. 3: uint32(0x33051300),
  23953. 4: uint32(0x00001110),
  23954. 6: uint32(0x93000000),
  23955. 7: uint32(0x01302305),
  23956. },
  23957. },
  23958. 234: {
  23959. Fmap1: [8]TFcChar32{
  23960. 0: uint32(0x00010100),
  23961. 1: uint32(0x30111010),
  23962. 2: uint32(0x00000100),
  23963. 3: uint32(0x02301130),
  23964. 4: uint32(0x10100001),
  23965. 5: uint32(0x11000000),
  23966. 7: uint32(0x85130200),
  23967. },
  23968. },
  23969. 235: {
  23970. Fmap1: [8]TFcChar32{
  23971. 0: uint32(0x10111003),
  23972. 1: uint32(0x2b011300),
  23973. 2: uint32(0x63b87730),
  23974. 3: uint32(0x303b0113),
  23975. 4: uint32(0x11a2b091),
  23976. 5: uint32(0x7b300201),
  23977. 6: uint32(0x011357f0),
  23978. 7: uint32(0xf0d1702b),
  23979. },
  23980. },
  23981. 236: {
  23982. Fmap1: [8]TFcChar32{
  23983. 0: uint32(0x1b0111e3),
  23984. 1: uint32(0x0ab97130),
  23985. 2: uint32(0x303b0113),
  23986. 3: uint32(0x13029001),
  23987. 4: uint32(0x11302b01),
  23988. 5: uint32(0x071302b0),
  23989. 6: uint32(0x3011302b),
  23990. 7: uint32(0x23011303),
  23991. },
  23992. },
  23993. 237: {
  23994. Fmap1: [8]TFcChar32{
  23995. 0: uint32(0x02b01130),
  23996. 1: uint32(0x30ab0113),
  23997. 2: uint32(0x11feb411),
  23998. 3: uint32(0x71300901),
  23999. 4: uint32(0x05d347b8),
  24000. 5: uint32(0xb011307b),
  24001. 6: uint32(0x21015303),
  24002. 7: uint32(0x00001110),
  24003. },
  24004. },
  24005. 238: {
  24006. Fmap1: [8]TFcChar32{
  24007. 0: uint32(0x306b0513),
  24008. 1: uint32(0x1102b011),
  24009. 2: uint32(0x00103301),
  24010. 3: uint32(0x05130000),
  24011. 4: uint32(0xa01038eb),
  24012. 5: uint32(0x30000102),
  24013. 6: uint32(0x02b01110),
  24014. 7: uint32(0x30200013),
  24015. },
  24016. },
  24017. 239: {
  24018. Fmap1: [8]TFcChar32{
  24019. 0: uint32(0x0102b071),
  24020. 1: uint32(0x00101000),
  24021. 2: uint32(0x01130000),
  24022. 3: uint32(0x1011100b),
  24023. 4: uint32(0x2b011300),
  24024. 6: uint32(0x366b0593),
  24025. 7: uint32(0x1303b095),
  24026. },
  24027. },
  24028. 240: {
  24029. Fmap1: [8]TFcChar32{
  24030. 0: uint32(0x01103b01),
  24031. 1: uint32(0x00000200),
  24032. 2: uint32(0xb0113000),
  24033. 3: uint32(0x20000103),
  24034. 4: uint32(0x01000010),
  24035. 5: uint32(0x30000000),
  24036. 6: uint32(0x030ab011),
  24037. 7: uint32(0x00101001),
  24038. },
  24039. },
  24040. 241: {
  24041. Fmap1: [8]TFcChar32{
  24042. 0: uint32(0x01110100),
  24043. 1: uint32(0x00000003),
  24044. 2: uint32(0x23011302),
  24045. 3: uint32(0x03000010),
  24046. 4: uint32(0x10000000),
  24047. 5: uint32(0x01000000),
  24048. 6: uint32(0x00100000),
  24049. 7: uint32(0x00000290),
  24050. },
  24051. },
  24052. 242: {
  24053. Fmap1: [8]TFcChar32{
  24054. 0: uint32(0x30113000),
  24055. 1: uint32(0x7b015386),
  24056. 2: uint32(0x03b01130),
  24057. 3: uint32(0x00210151),
  24058. 4: uint32(0x13000000),
  24059. 5: uint32(0x11303b01),
  24060. 6: uint32(0x001102b0),
  24061. 7: uint32(0x00011010),
  24062. },
  24063. },
  24064. 243: {
  24065. Fmap1: [8]TFcChar32{
  24066. 0: uint32(0x2b011302),
  24067. 1: uint32(0x02001110),
  24068. 2: uint32(0x10000000),
  24069. 3: uint32(0x0102b011),
  24070. 4: uint32(0x11300100),
  24071. 5: uint32(0x000102b0),
  24072. 6: uint32(0x00011010),
  24073. 7: uint32(0x2b011100),
  24074. },
  24075. },
  24076. 244: {
  24077. Fmap1: [8]TFcChar32{
  24078. 0: uint32(0x02101110),
  24079. 1: uint32(0x002b0113),
  24080. 2: uint32(0x93000000),
  24081. 3: uint32(0x11302b03),
  24082. 4: uint32(0x011302b0),
  24083. 5: uint32(0x0000303b),
  24084. 6: uint32(0x00000002),
  24085. 7: uint32(0x03b01930),
  24086. },
  24087. },
  24088. 245: {
  24089. Fmap1: [8]TFcChar32{
  24090. 0: uint32(0x102b0113),
  24091. 1: uint32(0x0103b011),
  24092. 2: uint32(0x11300000),
  24093. 3: uint32(0x011302b0),
  24094. 4: uint32(0x00001021),
  24095. 5: uint32(0x00010102),
  24096. 6: uint32(0x00000010),
  24097. 7: uint32(0x102b0113),
  24098. },
  24099. },
  24100. 246: {
  24101. Fmap1: [8]TFcChar32{
  24102. 0: uint32(0x01020011),
  24103. 1: uint32(0x11302000),
  24104. 2: uint32(0x011102b0),
  24105. 3: uint32(0x30113001),
  24106. 4: uint32(0x00000002),
  24107. 5: uint32(0x02b01130),
  24108. 6: uint32(0x303b0313),
  24109. 7: uint32(0x0103b011),
  24110. },
  24111. },
  24112. 247: {
  24113. Fmap1: [8]TFcChar32{
  24114. 0: uint32(0x00002000),
  24115. 1: uint32(0x05130000),
  24116. 2: uint32(0xb011303b),
  24117. 3: uint32(0x10001102),
  24118. 4: uint32(0x00000110),
  24119. 5: uint32(0x142b0113),
  24120. 6: uint32(0x01000001),
  24121. 7: uint32(0x01100000),
  24122. },
  24123. },
  24124. 248: {
  24125. Fmap1: [8]TFcChar32{
  24126. 0: uint32(0x00010280),
  24127. 1: uint32(0xb0113000),
  24128. 2: uint32(0x10000102),
  24129. 3: uint32(0x00000010),
  24130. 4: uint32(0x10230113),
  24131. 5: uint32(0x93021011),
  24132. 6: uint32(0x11100b05),
  24133. 7: uint32(0x01130030),
  24134. },
  24135. },
  24136. 249: {
  24137. Fmap1: [8]TFcChar32{
  24138. 0: uint32(0xb051702b),
  24139. 1: uint32(0x3b011323),
  24140. 2: uint32(0x00000030),
  24141. 3: uint32(0x30000000),
  24142. 4: uint32(0x1303b011),
  24143. 5: uint32(0x11102b01),
  24144. 6: uint32(0x01010330),
  24145. 7: uint32(0xb011300a),
  24146. },
  24147. },
  24148. 250: {
  24149. Fmap1: [8]TFcChar32{
  24150. 0: uint32(0x20000102),
  24151. 2: uint32(0x10000011),
  24152. 3: uint32(0x9300a011),
  24153. 4: uint32(0x00102b05),
  24154. 5: uint32(0x00000200),
  24155. 6: uint32(0x90111000),
  24156. 7: uint32(0x29011100),
  24157. },
  24158. },
  24159. 251: {
  24160. Fmap1: [8]TFcChar32{
  24161. 0: uint32(0x00b01110),
  24162. 1: uint32(0x30000000),
  24163. 2: uint32(0x1302b011),
  24164. 3: uint32(0x11302b21),
  24165. 4: uint32(0x000103b0),
  24166. 5: uint32(0x00000020),
  24167. 6: uint32(0x2b051300),
  24168. 7: uint32(0x02b01130),
  24169. },
  24170. },
  24171. 252: {
  24172. Fmap1: [8]TFcChar32{
  24173. 0: uint32(0x103b0113),
  24174. 1: uint32(0x13002011),
  24175. 2: uint32(0x11322b21),
  24176. 3: uint32(0x00130280),
  24177. 4: uint32(0xa0113028),
  24178. 5: uint32(0x0a011102),
  24179. 6: uint32(0x02921130),
  24180. 7: uint32(0x30210111),
  24181. },
  24182. },
  24183. 253: {
  24184. Fmap1: [8]TFcChar32{
  24185. 0: uint32(0x13020011),
  24186. 1: uint32(0x11302b01),
  24187. 2: uint32(0x03d30290),
  24188. 3: uint32(0x3011122b),
  24189. 4: uint32(0x2b011302),
  24190. },
  24191. },
  24192. 254: {
  24193. Fmap1: [8]TFcChar32{
  24194. 4: uint32(0x00004000),
  24195. 6: uint32(0x20000000),
  24196. },
  24197. },
  24198. 255: {
  24199. Fmap1: [8]TFcChar32{
  24200. 2: uint32(0x00003000),
  24201. },
  24202. },
  24203. 256: {
  24204. Fmap1: [8]TFcChar32{
  24205. 1: uint32(0x040001df),
  24206. 2: uint32(0x80800176),
  24207. 3: uint32(0x420c0000),
  24208. 4: uint32(0x01020140),
  24209. 5: uint32(0x44008200),
  24210. 6: uint32(0x00041018),
  24211. },
  24212. },
  24213. 257: {
  24214. Fmap1: [8]TFcChar32{
  24215. 0: uint32(0xffff0000),
  24216. 1: uint32(0xffff27bf),
  24217. 2: uint32(0x000027bf),
  24218. 5: uint32(0x0c000000),
  24219. 6: uint32(0x03000000),
  24220. 7: uint32(0x000000c0),
  24221. },
  24222. },
  24223. 258: {
  24224. Fmap1: [8]TFcChar32{
  24225. 0: uint32(0x3c000000),
  24226. },
  24227. },
  24228. 259: {
  24229. Fmap1: [8]TFcChar32{
  24230. 1: uint32(0x061ef5c0),
  24231. 2: uint32(0x000001f6),
  24232. 3: uint32(0x40000000),
  24233. 4: uint32(0x01040040),
  24234. 5: uint32(0x00208210),
  24235. 6: uint32(0x00005040),
  24236. },
  24237. },
  24238. 260: {
  24239. Fmap1: [8]TFcChar32{
  24240. 2: uint32(0x07fffffe),
  24241. 3: uint32(0x07fffffe),
  24242. 6: uint32(0x08004480),
  24243. 7: uint32(0x08004480),
  24244. },
  24245. },
  24246. 261: {
  24247. Fmap1: [8]TFcChar32{
  24248. 2: uint32(0xc0000000),
  24249. },
  24250. },
  24251. 262: {
  24252. Fmap1: [8]TFcChar32{
  24253. 0: uint32(0xffff0002),
  24254. 1: uint32(0xffffffff),
  24255. 2: uint32(0x0002ffff),
  24256. },
  24257. },
  24258. 263: {
  24259. Fmap1: [8]TFcChar32{
  24260. 0: uint32(0xffff0042),
  24261. 1: uint32(0xffffffff),
  24262. 2: uint32(0x0042ffff),
  24263. 7: uint32(0x000000c0),
  24264. },
  24265. },
  24266. 264: {
  24267. Fmap1: [8]TFcChar32{
  24268. 1: uint32(0x000c0000),
  24269. },
  24270. },
  24271. 265: {
  24272. Fmap1: [8]TFcChar32{
  24273. 0: uint32(0xffff0002),
  24274. 1: uint32(0xffffffff),
  24275. 2: uint32(0x0002ffff),
  24276. 5: uint32(0x0000c00c),
  24277. },
  24278. },
  24279. 266: {
  24280. Fmap1: [8]TFcChar32{
  24281. 0: uint32(0x000c0003),
  24282. 1: uint32(0x00003c00),
  24283. 2: uint32(0x0000f000),
  24284. 3: uint32(0x00003c00),
  24285. },
  24286. },
  24287. 267: {
  24288. Fmap1: [8]TFcChar32{
  24289. 1: uint32(0x040001de),
  24290. 2: uint32(0x00000176),
  24291. 3: uint32(0x42000000),
  24292. 4: uint32(0x01020140),
  24293. 5: uint32(0x44008200),
  24294. 6: uint32(0x00041008),
  24295. },
  24296. },
  24297. 268: {
  24298. Fmap1: [8]TFcChar32{
  24299. 2: uint32(0x07fffffe),
  24300. 3: uint32(0x07fffffe),
  24301. 6: uint32(0x98504f14),
  24302. 7: uint32(0x18504f14),
  24303. },
  24304. },
  24305. 269: {
  24306. Fmap1: [8]TFcChar32{
  24307. 2: uint32(0x00000c00),
  24308. },
  24309. },
  24310. 270: {
  24311. Fmap1: [8]TFcChar32{
  24312. 2: uint32(0x07fffffe),
  24313. 3: uint32(0x07fffffe),
  24314. 6: uint32(0x00480910),
  24315. 7: uint32(0x00480910),
  24316. },
  24317. },
  24318. 271: {
  24319. Fmap1: [8]TFcChar32{
  24320. 2: uint32(0x07fffffe),
  24321. 3: uint32(0x07fffffe),
  24322. 6: uint32(0x0c186606),
  24323. 7: uint32(0x0c186606),
  24324. },
  24325. },
  24326. 272: {
  24327. Fmap1: [8]TFcChar32{
  24328. 0: uint32(0x0c000000),
  24329. 4: uint32(0x00010040),
  24330. },
  24331. },
  24332. 273: {
  24333. Fmap1: [8]TFcChar32{
  24334. 0: uint32(0x00001006),
  24335. },
  24336. },
  24337. 274: {
  24338. Fmap1: [8]TFcChar32{
  24339. 4: uint32(0xfef02596),
  24340. 5: uint32(0x3bffecae),
  24341. 6: uint32(0x30003f5f),
  24342. },
  24343. },
  24344. 275: {
  24345. Fmap1: [8]TFcChar32{
  24346. 0: uint32(0x03c03030),
  24347. 1: uint32(0x0000c000),
  24348. 3: uint32(0x600c0c03),
  24349. },
  24350. },
  24351. 276: {
  24352. Fmap1: [8]TFcChar32{
  24353. 0: uint32(0x000c3003),
  24354. 1: uint32(0x18c00c0c),
  24355. 2: uint32(0x00c03060),
  24356. 3: uint32(0x60000c03),
  24357. },
  24358. },
  24359. 277: {
  24360. Fmap1: [8]TFcChar32{
  24361. 2: uint32(0x07fffffe),
  24362. 3: uint32(0x07fffffe),
  24363. 6: uint32(0x00100002),
  24364. 7: uint32(0x00100002),
  24365. },
  24366. },
  24367. 278: {
  24368. Fmap1: [8]TFcChar32{
  24369. 0: uint32(0x00000003),
  24370. 1: uint32(0x18000000),
  24371. 2: uint32(0x00003060),
  24372. 3: uint32(0x00000c00),
  24373. },
  24374. },
  24375. 279: {
  24376. Fmap1: [8]TFcChar32{
  24377. 1: uint32(0x00300000),
  24378. },
  24379. },
  24380. 280: {
  24381. Fmap1: [8]TFcChar32{
  24382. 0: uint32(0xfdffb729),
  24383. 1: uint32(0x000001ff),
  24384. 2: uint32(0xb7290000),
  24385. },
  24386. },
  24387. 281: {
  24388. Fmap1: [8]TFcChar32{
  24389. 0: uint32(0xfffddfec),
  24390. 1: uint32(0xc3fffdff),
  24391. 2: uint32(0x00803dcf),
  24392. 3: uint32(0x00000003),
  24393. },
  24394. },
  24395. 282: {
  24396. Fmap1: [8]TFcChar32{
  24397. 1: uint32(0xffffffff),
  24398. 2: uint32(0xffffffff),
  24399. 3: uint32(0x00ffffff),
  24400. 4: uint32(0xffffffff),
  24401. 5: uint32(0x000003ff),
  24402. },
  24403. },
  24404. 283: {
  24405. Fmap1: [8]TFcChar32{
  24406. 0: uint32(0xffff0002),
  24407. 1: uint32(0xffffffff),
  24408. 2: uint32(0x0002ffff),
  24409. 5: uint32(0x0000c000),
  24410. 7: uint32(0x00000300),
  24411. },
  24412. },
  24413. 284: {
  24414. Fmap1: [8]TFcChar32{
  24415. 3: uint32(0x00000010),
  24416. 4: uint32(0xfff99fee),
  24417. 5: uint32(0xf3c5fdff),
  24418. 6: uint32(0xb000798f),
  24419. 7: uint32(0x0002ffc0),
  24420. },
  24421. },
  24422. 285: {
  24423. Fmap1: [8]TFcChar32{
  24424. 2: uint32(0x07fffffe),
  24425. 3: uint32(0x07fffffe),
  24426. 6: uint32(0x00004004),
  24427. 7: uint32(0x00004004),
  24428. },
  24429. },
  24430. 286: {
  24431. Fmap1: [8]TFcChar32{
  24432. 0: uint32(0x0f000000),
  24433. },
  24434. },
  24435. 287: {
  24436. Fmap1: [8]TFcChar32{
  24437. 2: uint32(0x07fffffe),
  24438. 3: uint32(0x07fffffe),
  24439. 6: uint32(0x02045101),
  24440. 7: uint32(0x02045101),
  24441. },
  24442. },
  24443. 288: {
  24444. Fmap1: [8]TFcChar32{
  24445. 0: uint32(0x00000c00),
  24446. 1: uint32(0x000000c3),
  24447. 3: uint32(0x18000000),
  24448. },
  24449. },
  24450. 289: {
  24451. Fmap1: [8]TFcChar32{
  24452. 0: uint32(0xffffffff),
  24453. 1: uint32(0x0007f6fb),
  24454. },
  24455. },
  24456. 290: {
  24457. Fmap1: [8]TFcChar32{
  24458. 3: uint32(0x00000300),
  24459. },
  24460. },
  24461. 291: {
  24462. Fmap1: [8]TFcChar32{
  24463. 2: uint32(0x07fffffe),
  24464. 3: uint32(0x07fffffe),
  24465. 6: uint32(0x011c0661),
  24466. 7: uint32(0x011c0661),
  24467. },
  24468. },
  24469. 292: {
  24470. Fmap1: [8]TFcChar32{
  24471. 0: uint32(0xfff98fee),
  24472. 1: uint32(0xc3e5fdff),
  24473. 2: uint32(0x0001398f),
  24474. 3: uint32(0x0001fff0),
  24475. },
  24476. },
  24477. 293: {
  24478. Fmap1: [8]TFcChar32{
  24479. 2: uint32(0x07fffffe),
  24480. 3: uint32(0x07fffffe),
  24481. 6: uint32(0x1c58af16),
  24482. 7: uint32(0x1c58af16),
  24483. },
  24484. },
  24485. 294: {
  24486. Fmap1: [8]TFcChar32{
  24487. 2: uint32(0x07fffffe),
  24488. 3: uint32(0x07fffffe),
  24489. 6: uint32(0x115c0671),
  24490. 7: uint32(0x115c0671),
  24491. },
  24492. },
  24493. 295: {
  24494. Fmap1: [8]TFcChar32{
  24495. 6: uint32(0xffffffff),
  24496. 7: uint32(0x07ffffff),
  24497. },
  24498. },
  24499. 296: {
  24500. Fmap1: [8]TFcChar32{
  24501. 2: uint32(0x07fffffe),
  24502. 3: uint32(0x07fffffe),
  24503. 6: uint32(0x00100400),
  24504. 7: uint32(0x00100400),
  24505. },
  24506. },
  24507. 297: {
  24508. Fmap1: [8]TFcChar32{
  24509. 3: uint32(0x00000003),
  24510. },
  24511. },
  24512. 298: {
  24513. Fmap1: [8]TFcChar32{
  24514. 2: uint32(0x07fffffe),
  24515. 3: uint32(0x07fffffe),
  24516. 6: uint32(0x00082202),
  24517. 7: uint32(0x00082202),
  24518. },
  24519. },
  24520. 299: {
  24521. Fmap1: [8]TFcChar32{
  24522. 0: uint32(0x03000030),
  24523. 1: uint32(0x0000c000),
  24524. 2: uint32(0x00000006),
  24525. 7: uint32(0x00000c00),
  24526. },
  24527. },
  24528. 300: {
  24529. Fmap1: [8]TFcChar32{
  24530. 5: uint32(0x10000000),
  24531. },
  24532. },
  24533. 301: {
  24534. Fmap1: [8]TFcChar32{
  24535. 0: uint32(0x00000002),
  24536. },
  24537. },
  24538. 302: {
  24539. Fmap1: [8]TFcChar32{
  24540. 3: uint32(0x00300000),
  24541. },
  24542. },
  24543. 303: {
  24544. Fmap1: [8]TFcChar32{
  24545. 2: uint32(0x07fffffe),
  24546. 3: uint32(0x07fffffe),
  24547. 6: uint32(0x040c2383),
  24548. 7: uint32(0x040c2383),
  24549. },
  24550. },
  24551. 304: {
  24552. Fmap1: [8]TFcChar32{
  24553. 0: uint32(0xfff99fee),
  24554. 1: uint32(0xf3cdfdff),
  24555. 2: uint32(0xb0c0398f),
  24556. 3: uint32(0x00000003),
  24557. },
  24558. },
  24559. 305: {
  24560. Fmap1: [8]TFcChar32{
  24561. 1: uint32(0x07ffffc6),
  24562. 2: uint32(0x000001fe),
  24563. 3: uint32(0x40000000),
  24564. 4: uint32(0x01000040),
  24565. 5: uint32(0x0000a000),
  24566. 6: uint32(0x00001000),
  24567. },
  24568. },
  24569. 306: {
  24570. Fmap1: [8]TFcChar32{
  24571. 0: uint32(0xfff987e0),
  24572. 1: uint32(0xd36dfdff),
  24573. 2: uint32(0x1e003987),
  24574. 3: uint32(0x001f0000),
  24575. },
  24576. },
  24577. 307: {
  24578. Fmap1: [8]TFcChar32{
  24579. 2: uint32(0x07fffffe),
  24580. 3: uint32(0x07fffffe),
  24581. 6: uint32(0x160e2302),
  24582. 7: uint32(0x160e2302),
  24583. },
  24584. },
  24585. 308: {
  24586. Fmap1: [8]TFcChar32{
  24587. 2: uint32(0x07fffffe),
  24588. 3: uint32(0x07fffffe),
  24589. 6: uint32(0x00020000),
  24590. 7: uint32(0x00020000),
  24591. },
  24592. },
  24593. 309: {
  24594. Fmap1: [8]TFcChar32{
  24595. 0: uint32(0x030000f0),
  24596. 2: uint32(0x0c00001e),
  24597. 3: uint32(0x1e000000),
  24598. },
  24599. },
  24600. 310: {
  24601. Fmap1: [8]TFcChar32{
  24602. 1: uint32(0x07ffffde),
  24603. 2: uint32(0x000005f6),
  24604. 3: uint32(0x50000000),
  24605. 4: uint32(0x05480262),
  24606. 5: uint32(0x10000a00),
  24607. 6: uint32(0x00013000),
  24608. },
  24609. },
  24610. 311: {
  24611. Fmap1: [8]TFcChar32{
  24612. 1: uint32(0x07ffffde),
  24613. 2: uint32(0x000005f6),
  24614. 3: uint32(0x50000000),
  24615. 4: uint32(0x05480262),
  24616. 5: uint32(0x10000a00),
  24617. 6: uint32(0x00052000),
  24618. },
  24619. },
  24620. 312: {
  24621. Fmap1: [8]TFcChar32{
  24622. 2: uint32(0x07fffffe),
  24623. 3: uint32(0x07fffffe),
  24624. 6: uint32(0x143c278f),
  24625. 7: uint32(0x143c278f),
  24626. },
  24627. },
  24628. 313: {
  24629. Fmap1: [8]TFcChar32{
  24630. 6: uint32(0x00000100),
  24631. },
  24632. },
  24633. 314: {
  24634. Fmap1: [8]TFcChar32{
  24635. 2: uint32(0x07fffffe),
  24636. 3: uint32(0x07fffffe),
  24637. 6: uint32(0x02045301),
  24638. 7: uint32(0x02045301),
  24639. },
  24640. },
  24641. 315: {
  24642. Fmap1: [8]TFcChar32{
  24643. 0: uint32(0xffff0002),
  24644. 1: uint32(0xffffffff),
  24645. 2: uint32(0x0002ffff),
  24646. 4: uint32(0x00300000),
  24647. 5: uint32(0x0c00c030),
  24648. 6: uint32(0x03000000),
  24649. },
  24650. },
  24651. 316: {
  24652. Fmap1: [8]TFcChar32{
  24653. 0: uint32(0xfff987ee),
  24654. 1: uint32(0xf325fdff),
  24655. 2: uint32(0x00013987),
  24656. 3: uint32(0x0001fff0),
  24657. },
  24658. },
  24659. 317: {
  24660. Fmap1: [8]TFcChar32{
  24661. 2: uint32(0x07fffffe),
  24662. 3: uint32(0x07fffffe),
  24663. 6: uint32(0x02041101),
  24664. 7: uint32(0x02041101),
  24665. },
  24666. },
  24667. 318: {
  24668. Fmap1: [8]TFcChar32{
  24669. 5: uint32(0x00800000),
  24670. },
  24671. },
  24672. 319: {
  24673. Fmap1: [8]TFcChar32{
  24674. 0: uint32(0x30000000),
  24675. 4: uint32(0x00040000),
  24676. },
  24677. },
  24678. 320: {
  24679. Fmap1: [8]TFcChar32{
  24680. 1: uint32(0x07fffdd6),
  24681. 2: uint32(0x000005f6),
  24682. 3: uint32(0xec000000),
  24683. 4: uint32(0x0200b4d9),
  24684. 5: uint32(0x480a8640),
  24685. },
  24686. },
  24687. 321: {
  24688. Fmap1: [8]TFcChar32{
  24689. 2: uint32(0x07fffffe),
  24690. 3: uint32(0x07fffffe),
  24691. 6: uint32(0x00000002),
  24692. 7: uint32(0x00000002),
  24693. },
  24694. },
  24695. 322: {
  24696. Fmap1: [8]TFcChar32{
  24697. 0: uint32(0x00033000),
  24698. 2: uint32(0x00000c00),
  24699. 3: uint32(0x600000c3),
  24700. },
  24701. },
  24702. 323: {
  24703. Fmap1: [8]TFcChar32{
  24704. 2: uint32(0x07fffffe),
  24705. 3: uint32(0x07fffffe),
  24706. 6: uint32(0x1850cc14),
  24707. 7: uint32(0x1850cc14),
  24708. },
  24709. },
  24710. 324: {
  24711. Fmap1: [8]TFcChar32{
  24712. 0: uint32(0xffff8f04),
  24713. 1: uint32(0xffffffff),
  24714. 2: uint32(0x8f04ffff),
  24715. 4: uint32(0x030c0000),
  24716. 5: uint32(0x0c00cc0f),
  24717. 6: uint32(0x03000000),
  24718. 7: uint32(0x00000300),
  24719. },
  24720. },
  24721. 325: {
  24722. Fmap1: [8]TFcChar32{
  24723. 1: uint32(0x00800000),
  24724. 2: uint32(0x03bffbaa),
  24725. 3: uint32(0x03bffbaa),
  24726. 6: uint32(0x00002202),
  24727. 7: uint32(0x00002202),
  24728. },
  24729. },
  24730. 326: {
  24731. Fmap1: [8]TFcChar32{
  24732. 0: uint32(0x00080000),
  24733. },
  24734. },
  24735. 327: {
  24736. Fmap1: [8]TFcChar32{
  24737. 4: uint32(0xfc7e3fec),
  24738. 5: uint32(0x2ffbffbf),
  24739. 6: uint32(0x7f5f847f),
  24740. 7: uint32(0x00040000),
  24741. },
  24742. },
  24743. 328: {
  24744. Fmap1: [8]TFcChar32{
  24745. 0: uint32(0xff7fff7f),
  24746. 1: uint32(0xff01ff7f),
  24747. 2: uint32(0x3d7f3d7f),
  24748. 3: uint32(0xffff7fff),
  24749. 4: uint32(0xffff3d7f),
  24750. 5: uint32(0x003d7fff),
  24751. 6: uint32(0xff7f7f3d),
  24752. 7: uint32(0x00ff7fff),
  24753. },
  24754. },
  24755. 329: {
  24756. Fmap1: [8]TFcChar32{
  24757. 2: uint32(0x07fffffe),
  24758. 3: uint32(0x07fffffe),
  24759. 6: uint32(0x24182212),
  24760. 7: uint32(0x24182212),
  24761. },
  24762. },
  24763. 330: {
  24764. Fmap1: [8]TFcChar32{
  24765. 0: uint32(0x0000f000),
  24766. 1: uint32(0x66000000),
  24767. 2: uint32(0x00300180),
  24768. 3: uint32(0x60000033),
  24769. },
  24770. },
  24771. 331: {
  24772. Fmap1: [8]TFcChar32{
  24773. 2: uint32(0x07fffffe),
  24774. 3: uint32(0x07fffffe),
  24775. 6: uint32(0x00408030),
  24776. 7: uint32(0x00408030),
  24777. },
  24778. },
  24779. 332: {
  24780. Fmap1: [8]TFcChar32{
  24781. 2: uint32(0x07fffffe),
  24782. 3: uint32(0x07fffffe),
  24783. 6: uint32(0x00020032),
  24784. 7: uint32(0x00020032),
  24785. },
  24786. },
  24787. 333: {
  24788. Fmap1: [8]TFcChar32{
  24789. 2: uint32(0x07fffffe),
  24790. 3: uint32(0x07fffffe),
  24791. 6: uint32(0x00000016),
  24792. 7: uint32(0x00000016),
  24793. },
  24794. },
  24795. 334: {
  24796. Fmap1: [8]TFcChar32{
  24797. 0: uint32(0x00033000),
  24798. 2: uint32(0x00000c00),
  24799. 3: uint32(0x60000003),
  24800. },
  24801. },
  24802. 335: {
  24803. Fmap1: [8]TFcChar32{
  24804. 2: uint32(0x07fffffe),
  24805. 3: uint32(0x07fffffe),
  24806. 6: uint32(0x00200034),
  24807. 7: uint32(0x00200034),
  24808. },
  24809. },
  24810. 336: {
  24811. Fmap1: [8]TFcChar32{
  24812. 0: uint32(0x00033000),
  24813. 2: uint32(0x00000c00),
  24814. 3: uint32(0x60000003),
  24815. 5: uint32(0x00800000),
  24816. 7: uint32(0x0000c3f0),
  24817. },
  24818. },
  24819. 337: {
  24820. Fmap1: [8]TFcChar32{
  24821. 4: uint32(0x00040000),
  24822. },
  24823. },
  24824. 338: {
  24825. Fmap1: [8]TFcChar32{
  24826. 2: uint32(0x07fffffe),
  24827. 3: uint32(0x07fffffe),
  24828. 6: uint32(0x00000880),
  24829. 7: uint32(0x00000880),
  24830. },
  24831. },
  24832. 339: {
  24833. Fmap1: [8]TFcChar32{
  24834. 0: uint32(0xfdff8f04),
  24835. 1: uint32(0xfdff01ff),
  24836. 2: uint32(0x8f0401ff),
  24837. },
  24838. },
  24839. 340: {
  24840. Fmap1: [8]TFcChar32{
  24841. 2: uint32(0x07fffffe),
  24842. 3: uint32(0x07fffffe),
  24843. 6: uint32(0x10400a33),
  24844. 7: uint32(0x10400a33),
  24845. },
  24846. },
  24847. 341: {
  24848. Fmap1: [8]TFcChar32{
  24849. 0: uint32(0xffff0000),
  24850. 1: uint32(0xffff1fff),
  24851. },
  24852. },
  24853. 342: {
  24854. Fmap1: [8]TFcChar32{
  24855. 4: uint32(0xd63dc7e8),
  24856. 5: uint32(0xc3bfc718),
  24857. 6: uint32(0x00803dc7),
  24858. },
  24859. },
  24860. 343: {
  24861. Fmap1: [8]TFcChar32{
  24862. 0: uint32(0xfffddfee),
  24863. 1: uint32(0xc3effdff),
  24864. 2: uint32(0x00603ddf),
  24865. 3: uint32(0x00000003),
  24866. },
  24867. },
  24868. 344: {
  24869. Fmap1: [8]TFcChar32{
  24870. 0: uint32(0xffff0002),
  24871. 1: uint32(0xffffffff),
  24872. 2: uint32(0x0002ffff),
  24873. 4: uint32(0x0c0c0000),
  24874. 5: uint32(0x00cc0000),
  24875. 7: uint32(0x0000c00c),
  24876. },
  24877. },
  24878. 345: {
  24879. Fmap1: [8]TFcChar32{
  24880. 0: uint32(0xfffffffe),
  24881. 1: uint32(0x87ffffff),
  24882. 2: uint32(0x00007fff),
  24883. },
  24884. },
  24885. 346: {
  24886. Fmap1: [8]TFcChar32{
  24887. 0: uint32(0xff7fff7f),
  24888. 1: uint32(0xff01ff00),
  24889. 2: uint32(0x00003d7f),
  24890. 3: uint32(0xffff7fff),
  24891. 4: uint32(0x00ff0000),
  24892. 5: uint32(0x003d7f7f),
  24893. 6: uint32(0xff7f7f00),
  24894. 7: uint32(0x00ff7f00),
  24895. },
  24896. },
  24897. 347: {
  24898. Fmap1: [8]TFcChar32{
  24899. 2: uint32(0x07fffffe),
  24900. 3: uint32(0x07fffffe),
  24901. 6: uint32(0x30400090),
  24902. 7: uint32(0x30400090),
  24903. },
  24904. },
  24905. 348: {
  24906. Fmap1: [8]TFcChar32{
  24907. 2: uint32(0xc0000180),
  24908. 3: uint32(0x60000000),
  24909. },
  24910. },
  24911. 349: {
  24912. Fmap1: [8]TFcChar32{
  24913. 2: uint32(0x07fffffe),
  24914. 3: uint32(0x07fffffe),
  24915. 6: uint32(0x18404084),
  24916. 7: uint32(0x18404084),
  24917. },
  24918. },
  24919. 350: {
  24920. Fmap1: [8]TFcChar32{
  24921. 0: uint32(0xffff0002),
  24922. 1: uint32(0xffffffff),
  24923. 2: uint32(0x0002ffff),
  24924. 4: uint32(0x00c00000),
  24925. 5: uint32(0x0c00c00c),
  24926. 6: uint32(0x03000000),
  24927. },
  24928. },
  24929. 351: {
  24930. Fmap1: [8]TFcChar32{
  24931. 2: uint32(0x07fffffe),
  24932. 3: uint32(0x07fffffe),
  24933. 6: uint32(0x00008000),
  24934. 7: uint32(0x00008000),
  24935. },
  24936. },
  24937. 352: {
  24938. Fmap1: [8]TFcChar32{
  24939. 1: uint32(0x041ed5c0),
  24940. 2: uint32(0x0000077e),
  24941. 3: uint32(0x40000000),
  24942. 4: uint32(0x01000040),
  24943. 5: uint32(0x4000a000),
  24944. 6: uint32(0x002109c0),
  24945. },
  24946. },
  24947. 353: {
  24948. Fmap1: [8]TFcChar32{
  24949. 0: uint32(0xffff00d0),
  24950. 1: uint32(0xffffffff),
  24951. 2: uint32(0x00d0ffff),
  24952. 4: uint32(0x00030000),
  24953. },
  24954. },
  24955. 354: {
  24956. Fmap1: [8]TFcChar32{
  24957. 1: uint32(0xffffff7b),
  24958. 2: uint32(0x7fffffff),
  24959. 3: uint32(0x7ffffffe),
  24960. 5: uint32(0x80e310fe),
  24961. 6: uint32(0x00800000),
  24962. 7: uint32(0x00800000),
  24963. },
  24964. },
  24965. 355: {
  24966. Fmap1: [8]TFcChar32{
  24967. 1: uint32(0x00020000),
  24968. },
  24969. },
  24970. 356: {
  24971. Fmap1: [8]TFcChar32{
  24972. 0: uint32(0x00001500),
  24973. 1: uint32(0x01000000),
  24974. 4: uint32(0xfffe0000),
  24975. 5: uint32(0xfffe03db),
  24976. 6: uint32(0x006003fb),
  24977. 7: uint32(0x00030000),
  24978. },
  24979. },
  24980. 357: {
  24981. Fmap1: [8]TFcChar32{
  24982. 0: uint32(0x00400000),
  24983. 1: uint32(0x00000047),
  24984. 2: uint32(0x00800010),
  24985. 7: uint32(0x00000002),
  24986. },
  24987. },
  24988. 358: {
  24989. Fmap1: [8]TFcChar32{
  24990. 0: uint32(0x3f2fc004),
  24991. 1: uint32(0x00000010),
  24992. },
  24993. },
  24994. 359: {
  24995. Fmap1: [8]TFcChar32{
  24996. 0: uint32(0xe3ffbfff),
  24997. 1: uint32(0xfff007ff),
  24998. 2: uint32(0x00000001),
  24999. 4: uint32(0xfffff000),
  25000. 5: uint32(0x0000003f),
  25001. 6: uint32(0x0000e10f),
  25002. },
  25003. },
  25004. 360: {
  25005. Fmap1: [8]TFcChar32{
  25006. 0: uint32(0x00000f00),
  25007. 1: uint32(0x0000000c),
  25008. },
  25009. },
  25010. 361: {
  25011. Fmap1: [8]TFcChar32{
  25012. 5: uint32(0x00000003),
  25013. },
  25014. },
  25015. 362: {
  25016. Fmap1: [8]TFcChar32{
  25017. 7: uint32(0x000003c0),
  25018. },
  25019. },
  25020. 363: {
  25021. Fmap1: [8]TFcChar32{
  25022. 0: uint32(0xffffffff),
  25023. 1: uint32(0xffffffff),
  25024. 2: uint32(0xffdfffff),
  25025. 3: uint32(0xffffffff),
  25026. 4: uint32(0xdfffffff),
  25027. 5: uint32(0x00001e64),
  25028. },
  25029. },
  25030. 364: {
  25031. Fmap1: [8]TFcChar32{
  25032. 1: uint32(0x78000000),
  25033. 2: uint32(0x0001fc5f),
  25034. },
  25035. },
  25036. 365: {
  25037. Fmap1: [8]TFcChar32{
  25038. 5: uint32(0x00000030),
  25039. },
  25040. },
  25041. 366: {
  25042. Fmap1: [8]TFcChar32{
  25043. 0: uint32(0x0c000000),
  25044. 7: uint32(0x00091e00),
  25045. },
  25046. },
  25047. 367: {
  25048. Fmap1: [8]TFcChar32{
  25049. 7: uint32(0x60000000),
  25050. },
  25051. },
  25052. 368: {
  25053. Fmap1: [8]TFcChar32{
  25054. 0: uint32(0x00300000),
  25055. 2: uint32(0x000fff00),
  25056. 3: uint32(0x80000000),
  25057. 4: uint32(0x00080000),
  25058. 5: uint32(0x60000c02),
  25059. 6: uint32(0x00104030),
  25060. 7: uint32(0x242c0400),
  25061. },
  25062. },
  25063. 369: {
  25064. Fmap1: [8]TFcChar32{
  25065. 0: uint32(0x00000c20),
  25066. 1: uint32(0x00000100),
  25067. 2: uint32(0x00b85000),
  25068. 4: uint32(0x00e00000),
  25069. 5: uint32(0x80010000),
  25070. },
  25071. },
  25072. 370: {
  25073. Fmap1: [8]TFcChar32{
  25074. 0: uint32(0x18000000),
  25075. 2: uint32(0x00210000),
  25076. },
  25077. },
  25078. 371: {
  25079. Fmap1: [8]TFcChar32{
  25080. 0: uint32(0x00000010),
  25081. 6: uint32(0x00008000),
  25082. },
  25083. },
  25084. 372: {
  25085. Fmap1: [8]TFcChar32{
  25086. 4: uint32(0x07fe4000),
  25087. 7: uint32(0xffffffc0),
  25088. },
  25089. },
  25090. 373: {
  25091. Fmap1: [8]TFcChar32{
  25092. 0: uint32(0x04000002),
  25093. 1: uint32(0x077c8000),
  25094. 2: uint32(0x00030000),
  25095. },
  25096. },
  25097. 374: {
  25098. Fmap1: [8]TFcChar32{
  25099. 0: uint32(0xffffffff),
  25100. 1: uint32(0xffbf0001),
  25101. 2: uint32(0xffffffff),
  25102. 3: uint32(0x1fffffff),
  25103. 4: uint32(0x000fffff),
  25104. 5: uint32(0xffffffff),
  25105. 6: uint32(0x000007df),
  25106. 7: uint32(0x0001ffff),
  25107. },
  25108. },
  25109. 375: {
  25110. Fmap1: [8]TFcChar32{
  25111. 2: uint32(0xfffffffd),
  25112. 3: uint32(0xffffffff),
  25113. 4: uint32(0xffffffff),
  25114. 5: uint32(0xffffffff),
  25115. 6: uint32(0xffffffff),
  25116. 7: uint32(0x1effffff),
  25117. },
  25118. },
  25119. 376: {
  25120. Fmap1: [8]TFcChar32{
  25121. 0: uint32(0xffffffff),
  25122. 1: uint32(0x3fffffff),
  25123. 2: uint32(0xffff0000),
  25124. 3: uint32(0x000000ff),
  25125. 7: uint32(0xf8000000),
  25126. },
  25127. },
  25128. 377: {
  25129. Fmap1: [8]TFcChar32{
  25130. 0: uint32(0x755dfffe),
  25131. 1: uint32(0xffef2f3f),
  25132. 2: uint32(0x0000ffe1),
  25133. },
  25134. },
  25135. 378: {
  25136. Fmap1: [8]TFcChar32{
  25137. 0: uint32(0x000c0000),
  25138. 1: uint32(0x30000000),
  25139. 2: uint32(0x00000c30),
  25140. 3: uint32(0x00030000),
  25141. },
  25142. },
  25143. 379: {
  25144. Fmap1: [8]TFcChar32{
  25145. 2: uint32(0x07fffffe),
  25146. 3: uint32(0x07fffffe),
  25147. 6: uint32(0x263c370f),
  25148. 7: uint32(0x263c370f),
  25149. },
  25150. },
  25151. 380: {
  25152. Fmap1: [8]TFcChar32{
  25153. 0: uint32(0x0003000c),
  25154. 1: uint32(0x00000300),
  25155. 3: uint32(0x00000300),
  25156. 5: uint32(0x00018003),
  25157. },
  25158. },
  25159. 381: {
  25160. Fmap1: [8]TFcChar32{
  25161. 0: uint32(0x0800024f),
  25162. 1: uint32(0x00000008),
  25163. },
  25164. },
  25165. 382: {
  25166. Fmap1: [8]TFcChar32{
  25167. 5: uint32(0xffffffff),
  25168. 6: uint32(0xffffffff),
  25169. 7: uint32(0x03ffffff),
  25170. },
  25171. },
  25172. 383: {
  25173. Fmap1: [8]TFcChar32{
  25174. 2: uint32(0x077dfffe),
  25175. 3: uint32(0x077dfffe),
  25176. 6: uint32(0x10400010),
  25177. 7: uint32(0x10400010),
  25178. },
  25179. },
  25180. 384: {
  25181. Fmap1: [8]TFcChar32{
  25182. 2: uint32(0x07fffffe),
  25183. 3: uint32(0x07fffffe),
  25184. 6: uint32(0x10400010),
  25185. 7: uint32(0x10400010),
  25186. },
  25187. },
  25188. 385: {
  25189. Fmap1: [8]TFcChar32{
  25190. 2: uint32(0x07fffffe),
  25191. 3: uint32(0x07fffffe),
  25192. 6: uint32(0x081047a4),
  25193. 7: uint32(0x081047a4),
  25194. },
  25195. },
  25196. 386: {
  25197. Fmap1: [8]TFcChar32{
  25198. 0: uint32(0x0c0030c0),
  25199. 2: uint32(0x0f30001e),
  25200. 3: uint32(0x66000003),
  25201. },
  25202. },
  25203. 387: {
  25204. Fmap1: [8]TFcChar32{
  25205. 2: uint32(0x07fffffe),
  25206. 3: uint32(0x07fffffe),
  25207. 6: uint32(0x000a0a09),
  25208. 7: uint32(0x000a0a09),
  25209. },
  25210. },
  25211. 388: {
  25212. Fmap1: [8]TFcChar32{
  25213. 2: uint32(0x07fffffe),
  25214. 3: uint32(0x07fffffe),
  25215. 6: uint32(0x00400810),
  25216. 7: uint32(0x00400810),
  25217. },
  25218. },
  25219. 389: {
  25220. Fmap1: [8]TFcChar32{
  25221. 2: uint32(0x07fffffe),
  25222. 3: uint32(0x07fffffe),
  25223. 6: uint32(0x0e3c770f),
  25224. 7: uint32(0x0e3c770f),
  25225. },
  25226. },
  25227. 390: {
  25228. Fmap1: [8]TFcChar32{
  25229. 0: uint32(0x0c000000),
  25230. 1: uint32(0x00000300),
  25231. 2: uint32(0x00000018),
  25232. 3: uint32(0x00000300),
  25233. 6: uint32(0x001fe000),
  25234. 7: uint32(0x03000000),
  25235. },
  25236. },
  25237. 391: {
  25238. Fmap1: [8]TFcChar32{
  25239. 0: uint32(0x0000100f),
  25240. },
  25241. },
  25242. 392: {
  25243. Fmap1: [8]TFcChar32{
  25244. 1: uint32(0xc0000000),
  25245. 3: uint32(0x0000000c),
  25246. 5: uint32(0x33000000),
  25247. 6: uint32(0x00003000),
  25248. },
  25249. },
  25250. 393: {
  25251. Fmap1: [8]TFcChar32{
  25252. 6: uint32(0x00000280),
  25253. },
  25254. },
  25255. 394: {
  25256. Fmap1: [8]TFcChar32{
  25257. 0: uint32(0x7f7b7f8b),
  25258. 1: uint32(0xef553db4),
  25259. 2: uint32(0xf35dfba8),
  25260. 3: uint32(0x400b0243),
  25261. 4: uint32(0x8d3efb40),
  25262. 5: uint32(0x8c2c7bf7),
  25263. 6: uint32(0xe3fa6eff),
  25264. 7: uint32(0xa8ed1d3a),
  25265. },
  25266. },
  25267. 395: {
  25268. Fmap1: [8]TFcChar32{
  25269. 0: uint32(0xcf83e602),
  25270. 1: uint32(0x35558cf5),
  25271. 2: uint32(0xffabe048),
  25272. 3: uint32(0xd85992b9),
  25273. 4: uint32(0x2892ab18),
  25274. 5: uint32(0x8020d7e9),
  25275. 6: uint32(0xf583c438),
  25276. 7: uint32(0x450ae74a),
  25277. },
  25278. },
  25279. 396: {
  25280. Fmap1: [8]TFcChar32{
  25281. 0: uint32(0x9714b000),
  25282. 1: uint32(0x54007762),
  25283. 2: uint32(0x1420d188),
  25284. 3: uint32(0xc8c01020),
  25285. 4: uint32(0x00002121),
  25286. 5: uint32(0x0c0413a8),
  25287. 6: uint32(0x04408000),
  25288. 7: uint32(0x082870c0),
  25289. },
  25290. },
  25291. 397: {
  25292. Fmap1: [8]TFcChar32{
  25293. 0: uint32(0x000408c0),
  25294. 1: uint32(0x80000002),
  25295. 2: uint32(0x14722b7b),
  25296. 3: uint32(0x3bfb7924),
  25297. 4: uint32(0x1ae43327),
  25298. 5: uint32(0x38ef9835),
  25299. 6: uint32(0x28029ad1),
  25300. 7: uint32(0xbf69a813),
  25301. },
  25302. },
  25303. 398: {
  25304. Fmap1: [8]TFcChar32{
  25305. 0: uint32(0x2fc665cf),
  25306. 1: uint32(0xafc96b11),
  25307. 2: uint32(0x5053340f),
  25308. 3: uint32(0xa00486a2),
  25309. 4: uint32(0xe8090106),
  25310. 5: uint32(0xc00e3f0f),
  25311. 6: uint32(0x81450a88),
  25312. 7: uint32(0xc6010010),
  25313. },
  25314. },
  25315. 399: {
  25316. Fmap1: [8]TFcChar32{
  25317. 0: uint32(0x26e1a161),
  25318. 1: uint32(0xce00444b),
  25319. 2: uint32(0xd4eec7aa),
  25320. 3: uint32(0x85bbcadf),
  25321. 4: uint32(0xa5203a74),
  25322. 5: uint32(0x8840436c),
  25323. 6: uint32(0x8bd23f06),
  25324. 7: uint32(0x3befff79),
  25325. },
  25326. },
  25327. 400: {
  25328. Fmap1: [8]TFcChar32{
  25329. 0: uint32(0xe8eff75a),
  25330. 1: uint32(0x5b36fbcb),
  25331. 2: uint32(0x1bfd0d49),
  25332. 3: uint32(0x39ee0154),
  25333. 4: uint32(0x2e75d855),
  25334. 5: uint32(0xa91abfd8),
  25335. 6: uint32(0xf6bff3d7),
  25336. 7: uint32(0xb40c67e0),
  25337. },
  25338. },
  25339. 401: {
  25340. Fmap1: [8]TFcChar32{
  25341. 0: uint32(0x081382c2),
  25342. 1: uint32(0xd08bd49d),
  25343. 2: uint32(0x1061065a),
  25344. 3: uint32(0x59e074f2),
  25345. 4: uint32(0xb3128f9f),
  25346. 5: uint32(0x6aaa0080),
  25347. 6: uint32(0xb05e3230),
  25348. 7: uint32(0x60ac9d7a),
  25349. },
  25350. },
  25351. 402: {
  25352. Fmap1: [8]TFcChar32{
  25353. 0: uint32(0xc900d303),
  25354. 1: uint32(0x8a563098),
  25355. 2: uint32(0x13907000),
  25356. 3: uint32(0x18421f14),
  25357. 4: uint32(0x0008c060),
  25358. 5: uint32(0x10808008),
  25359. 6: uint32(0xec900400),
  25360. 7: uint32(0xe6332817),
  25361. },
  25362. },
  25363. 403: {
  25364. Fmap1: [8]TFcChar32{
  25365. 0: uint32(0x90000758),
  25366. 1: uint32(0x4e09f708),
  25367. 2: uint32(0xfc83f485),
  25368. 3: uint32(0x18c8af53),
  25369. 4: uint32(0x080c187c),
  25370. 5: uint32(0x01146adf),
  25371. 6: uint32(0xa734c80c),
  25372. 7: uint32(0x2710a011),
  25373. },
  25374. },
  25375. 404: {
  25376. Fmap1: [8]TFcChar32{
  25377. 0: uint32(0x422228c5),
  25378. 1: uint32(0x00210413),
  25379. 2: uint32(0x41123010),
  25380. 3: uint32(0x40001820),
  25381. 4: uint32(0xc60c022b),
  25382. 5: uint32(0x10000300),
  25383. 6: uint32(0x00220022),
  25384. 7: uint32(0x02495810),
  25385. },
  25386. },
  25387. 405: {
  25388. Fmap1: [8]TFcChar32{
  25389. 0: uint32(0x9670a094),
  25390. 1: uint32(0x1792eeb0),
  25391. 2: uint32(0x05f2cb96),
  25392. 3: uint32(0x23580025),
  25393. 4: uint32(0x42cc25de),
  25394. 5: uint32(0x4a04cf38),
  25395. 6: uint32(0x359f0c40),
  25396. 7: uint32(0x8a001128),
  25397. },
  25398. },
  25399. 406: {
  25400. Fmap1: [8]TFcChar32{
  25401. 0: uint32(0x910a13fa),
  25402. 1: uint32(0x10560229),
  25403. 2: uint32(0x04200641),
  25404. 3: uint32(0x84f00484),
  25405. 4: uint32(0x0c040000),
  25406. 5: uint32(0x412c0400),
  25407. 6: uint32(0x11541206),
  25408. 7: uint32(0x00020a4b),
  25409. },
  25410. },
  25411. 407: {
  25412. Fmap1: [8]TFcChar32{
  25413. 0: uint32(0x00c00200),
  25414. 1: uint32(0x00940000),
  25415. 2: uint32(0xbfbb0001),
  25416. 3: uint32(0x242b167c),
  25417. 4: uint32(0x7fa89bbb),
  25418. 5: uint32(0xe3790c7f),
  25419. 6: uint32(0xe00d10f4),
  25420. 7: uint32(0x9f014132),
  25421. },
  25422. },
  25423. 408: {
  25424. Fmap1: [8]TFcChar32{
  25425. 0: uint32(0x35728652),
  25426. 1: uint32(0xff1210b4),
  25427. 2: uint32(0x4223cf27),
  25428. 3: uint32(0x8602c06b),
  25429. 4: uint32(0x1fd33106),
  25430. 5: uint32(0xa1aa3a0c),
  25431. 6: uint32(0x02040812),
  25432. 7: uint32(0x08012572),
  25433. },
  25434. },
  25435. 409: {
  25436. Fmap1: [8]TFcChar32{
  25437. 0: uint32(0x485040cc),
  25438. 1: uint32(0x601062d0),
  25439. 2: uint32(0x29001c80),
  25440. 3: uint32(0x00109a00),
  25441. 4: uint32(0x22000004),
  25442. 5: uint32(0x00800000),
  25443. 6: uint32(0x68002020),
  25444. 7: uint32(0x609ecbe6),
  25445. },
  25446. },
  25447. 410: {
  25448. Fmap1: [8]TFcChar32{
  25449. 0: uint32(0x3f73916e),
  25450. 1: uint32(0x398260c0),
  25451. 2: uint32(0x48301034),
  25452. 3: uint32(0xbd5c0006),
  25453. 4: uint32(0xd6fb8cd1),
  25454. 5: uint32(0x43e820e1),
  25455. 6: uint32(0x084e0600),
  25456. 7: uint32(0xc4d00500),
  25457. },
  25458. },
  25459. 411: {
  25460. Fmap1: [8]TFcChar32{
  25461. 0: uint32(0x89aa8d1f),
  25462. 1: uint32(0x1602a6e1),
  25463. 2: uint32(0x21ed0001),
  25464. 3: uint32(0x1a8b3656),
  25465. 4: uint32(0x13a51fb7),
  25466. 5: uint32(0x30a06502),
  25467. 6: uint32(0x23c7b278),
  25468. 7: uint32(0xe9226c93),
  25469. },
  25470. },
  25471. 412: {
  25472. Fmap1: [8]TFcChar32{
  25473. 0: uint32(0x3a74e47f),
  25474. 1: uint32(0x98208fe3),
  25475. 2: uint32(0x2625280e),
  25476. 3: uint32(0xbf49bf9c),
  25477. 4: uint32(0xac543218),
  25478. 5: uint32(0x1916b949),
  25479. 6: uint32(0xb5220c60),
  25480. 7: uint32(0x0659fbc1),
  25481. },
  25482. },
  25483. 413: {
  25484. Fmap1: [8]TFcChar32{
  25485. 0: uint32(0x8420e343),
  25486. 1: uint32(0x800008d9),
  25487. 2: uint32(0x20225500),
  25488. 3: uint32(0x00a10184),
  25489. 4: uint32(0x20104800),
  25490. 5: uint32(0x40801380),
  25491. 6: uint32(0x00160d04),
  25492. 7: uint32(0x80200040),
  25493. },
  25494. },
  25495. 414: {
  25496. Fmap1: [8]TFcChar32{
  25497. 0: uint32(0x8de7fd40),
  25498. 1: uint32(0xe0985436),
  25499. 2: uint32(0x091e7b8b),
  25500. 3: uint32(0xd249fec8),
  25501. 4: uint32(0x8dee0611),
  25502. 5: uint32(0xba221937),
  25503. 6: uint32(0x9fdd77f4),
  25504. 7: uint32(0xf0daf3ec),
  25505. },
  25506. },
  25507. 415: {
  25508. Fmap1: [8]TFcChar32{
  25509. 0: uint32(0xec424386),
  25510. 1: uint32(0x26048d3f),
  25511. 2: uint32(0xc021fa6c),
  25512. 3: uint32(0x0cc2628e),
  25513. 4: uint32(0x0145d785),
  25514. 5: uint32(0x559977ad),
  25515. 6: uint32(0x4045e250),
  25516. 7: uint32(0xa154260b),
  25517. },
  25518. },
  25519. 416: {
  25520. Fmap1: [8]TFcChar32{
  25521. 0: uint32(0x58199827),
  25522. 1: uint32(0xa4103443),
  25523. 2: uint32(0x411405f2),
  25524. 3: uint32(0x07002280),
  25525. 4: uint32(0x426600b4),
  25526. 5: uint32(0x15a17210),
  25527. 6: uint32(0x41856025),
  25528. 7: uint32(0x00000054),
  25529. },
  25530. },
  25531. 417: {
  25532. Fmap1: [8]TFcChar32{
  25533. 0: uint32(0x01040201),
  25534. 1: uint32(0xcb70c820),
  25535. 2: uint32(0x6a629320),
  25536. 3: uint32(0x0095184c),
  25537. 4: uint32(0x9a8b1880),
  25538. 5: uint32(0x3201aab2),
  25539. 6: uint32(0x00c4d87a),
  25540. 7: uint32(0x04c3f3e5),
  25541. },
  25542. },
  25543. 418: {
  25544. Fmap1: [8]TFcChar32{
  25545. 0: uint32(0xa238d44d),
  25546. 1: uint32(0x5072a1a1),
  25547. 2: uint32(0x84fc980a),
  25548. 3: uint32(0x44d1c152),
  25549. 4: uint32(0x20c21094),
  25550. 5: uint32(0x42104180),
  25551. 6: uint32(0x3a000000),
  25552. 7: uint32(0xd29d0240),
  25553. },
  25554. },
  25555. 419: {
  25556. Fmap1: [8]TFcChar32{
  25557. 0: uint32(0xa8b12f01),
  25558. 1: uint32(0x2432bd40),
  25559. 2: uint32(0xd04bd34d),
  25560. 3: uint32(0xd0ada723),
  25561. 4: uint32(0x75a10a92),
  25562. 5: uint32(0x01e9adac),
  25563. 6: uint32(0x771f801a),
  25564. 7: uint32(0xa01b9225),
  25565. },
  25566. },
  25567. 420: {
  25568. Fmap1: [8]TFcChar32{
  25569. 0: uint32(0x20cadfa1),
  25570. 1: uint32(0x738c0602),
  25571. 2: uint32(0x003b577f),
  25572. 3: uint32(0x00d00bff),
  25573. 4: uint32(0x0088806a),
  25574. 5: uint32(0x0029a1c4),
  25575. 6: uint32(0x05242a05),
  25576. 7: uint32(0x16234009),
  25577. },
  25578. },
  25579. 421: {
  25580. Fmap1: [8]TFcChar32{
  25581. 0: uint32(0x80056822),
  25582. 1: uint32(0xa2112011),
  25583. 2: uint32(0x64900004),
  25584. 3: uint32(0x13824849),
  25585. 4: uint32(0x193023d5),
  25586. 5: uint32(0x08922980),
  25587. 6: uint32(0x88115402),
  25588. 7: uint32(0xa0042001),
  25589. },
  25590. },
  25591. 422: {
  25592. Fmap1: [8]TFcChar32{
  25593. 0: uint32(0x81800400),
  25594. 1: uint32(0x60228502),
  25595. 2: uint32(0x0b010090),
  25596. 3: uint32(0x12020022),
  25597. 4: uint32(0x00834011),
  25598. 5: uint32(0x00001a01),
  25599. },
  25600. },
  25601. 423: {
  25602. Fmap1: [8]TFcChar32{
  25603. 1: uint32(0x4684009f),
  25604. 2: uint32(0x020012c8),
  25605. 3: uint32(0x1a0004fc),
  25606. 4: uint32(0x0c4c2ede),
  25607. 5: uint32(0x80b80402),
  25608. 6: uint32(0x0afca826),
  25609. 7: uint32(0x22288c02),
  25610. },
  25611. },
  25612. 424: {
  25613. Fmap1: [8]TFcChar32{
  25614. 0: uint32(0x8f7ba0e0),
  25615. 1: uint32(0x2135c7d6),
  25616. 2: uint32(0xf8b106c7),
  25617. 3: uint32(0x62550713),
  25618. 4: uint32(0x8a19936e),
  25619. 5: uint32(0xfb0e6efa),
  25620. 6: uint32(0x48f91630),
  25621. 7: uint32(0x7debcd2f),
  25622. },
  25623. },
  25624. 425: {
  25625. Fmap1: [8]TFcChar32{
  25626. 0: uint32(0x4e845892),
  25627. 1: uint32(0x7a2e4ca0),
  25628. 2: uint32(0x561eedea),
  25629. 3: uint32(0x1190c649),
  25630. 4: uint32(0xe83a5324),
  25631. 5: uint32(0x8124cfdb),
  25632. 6: uint32(0x634218f1),
  25633. 7: uint32(0x1a8a5853),
  25634. },
  25635. },
  25636. 426: {
  25637. Fmap1: [8]TFcChar32{
  25638. 0: uint32(0x24d37420),
  25639. 1: uint32(0x0514aa3b),
  25640. 2: uint32(0x89586018),
  25641. 3: uint32(0xc0004800),
  25642. 4: uint32(0x91018268),
  25643. 5: uint32(0x2cd684a4),
  25644. 6: uint32(0xc4ba8886),
  25645. 7: uint32(0x02100377),
  25646. },
  25647. },
  25648. 427: {
  25649. Fmap1: [8]TFcChar32{
  25650. 0: uint32(0x00388244),
  25651. 1: uint32(0x404aae11),
  25652. 2: uint32(0x510028c0),
  25653. 3: uint32(0x15146044),
  25654. 4: uint32(0x10007310),
  25655. 5: uint32(0x02480082),
  25656. 6: uint32(0x40060205),
  25657. 7: uint32(0x0000c003),
  25658. },
  25659. },
  25660. 428: {
  25661. Fmap1: [8]TFcChar32{
  25662. 0: uint32(0x0c020000),
  25663. 1: uint32(0x02200008),
  25664. 2: uint32(0x40009000),
  25665. 3: uint32(0xd161b800),
  25666. 4: uint32(0x32744621),
  25667. 5: uint32(0x3b8af800),
  25668. 6: uint32(0x8b00050f),
  25669. 7: uint32(0x2280bbd0),
  25670. },
  25671. },
  25672. 429: {
  25673. Fmap1: [8]TFcChar32{
  25674. 0: uint32(0x07690600),
  25675. 1: uint32(0x00438040),
  25676. 2: uint32(0x50005420),
  25677. 3: uint32(0x250c41d0),
  25678. 4: uint32(0x83108410),
  25679. 5: uint32(0x02281101),
  25680. 6: uint32(0x00304008),
  25681. 7: uint32(0x020040a1),
  25682. },
  25683. },
  25684. 430: {
  25685. Fmap1: [8]TFcChar32{
  25686. 0: uint32(0x20000040),
  25687. 1: uint32(0xabe31500),
  25688. 2: uint32(0xaa443180),
  25689. 3: uint32(0xc624c2c6),
  25690. 4: uint32(0x8004ac13),
  25691. 5: uint32(0x03d1b000),
  25692. 6: uint32(0x4285611e),
  25693. 7: uint32(0x1d9ff303),
  25694. },
  25695. },
  25696. 431: {
  25697. Fmap1: [8]TFcChar32{
  25698. 0: uint32(0x78e8440a),
  25699. 1: uint32(0xc3925e26),
  25700. 2: uint32(0x00852000),
  25701. 3: uint32(0x4000b001),
  25702. 4: uint32(0x88424a90),
  25703. 5: uint32(0x0c8dca04),
  25704. 6: uint32(0x4203a705),
  25705. 7: uint32(0x000422a1),
  25706. },
  25707. },
  25708. 432: {
  25709. Fmap1: [8]TFcChar32{
  25710. 0: uint32(0x0c018668),
  25711. 1: uint32(0x10795564),
  25712. 2: uint32(0xdea00002),
  25713. 3: uint32(0x40c12000),
  25714. 4: uint32(0x5001488b),
  25715. 5: uint32(0x04000380),
  25716. 6: uint32(0x50040000),
  25717. 7: uint32(0x80d0c05d),
  25718. },
  25719. },
  25720. 433: {
  25721. Fmap1: [8]TFcChar32{
  25722. 0: uint32(0x970aa010),
  25723. 1: uint32(0x4dafbb20),
  25724. 2: uint32(0x1e10d921),
  25725. 3: uint32(0x83140460),
  25726. 4: uint32(0xa6d68848),
  25727. 5: uint32(0x733fd83b),
  25728. 6: uint32(0x497427bc),
  25729. 7: uint32(0x92130ddc),
  25730. },
  25731. },
  25732. 434: {
  25733. Fmap1: [8]TFcChar32{
  25734. 0: uint32(0x8ba1142b),
  25735. 1: uint32(0xd1392e75),
  25736. 2: uint32(0x50503009),
  25737. 3: uint32(0x69008808),
  25738. 4: uint32(0x024a49d4),
  25739. 5: uint32(0x80164010),
  25740. 6: uint32(0x89d7e564),
  25741. 7: uint32(0x5316c020),
  25742. },
  25743. },
  25744. 435: {
  25745. Fmap1: [8]TFcChar32{
  25746. 0: uint32(0x86002b92),
  25747. 1: uint32(0x15e0a345),
  25748. 2: uint32(0x0c03008b),
  25749. 3: uint32(0xe200196e),
  25750. 4: uint32(0x80067031),
  25751. 5: uint32(0xa82916a5),
  25752. 6: uint32(0x18802000),
  25753. 7: uint32(0xe1487aac),
  25754. },
  25755. },
  25756. 436: {
  25757. Fmap1: [8]TFcChar32{
  25758. 0: uint32(0xb5d63207),
  25759. 1: uint32(0x5f9132e8),
  25760. 2: uint32(0x20e550a1),
  25761. 3: uint32(0x10807c00),
  25762. 4: uint32(0x9d8a7280),
  25763. 5: uint32(0x421f00aa),
  25764. 6: uint32(0x02310e22),
  25765. 7: uint32(0x04941100),
  25766. },
  25767. },
  25768. 437: {
  25769. Fmap1: [8]TFcChar32{
  25770. 0: uint32(0x40080022),
  25771. 1: uint32(0x5c100010),
  25772. 2: uint32(0xfcc80343),
  25773. 3: uint32(0x0580a1a5),
  25774. 4: uint32(0x04008433),
  25775. 5: uint32(0x6e080080),
  25776. 6: uint32(0x81262a4b),
  25777. 7: uint32(0x2901aad8),
  25778. },
  25779. },
  25780. 438: {
  25781. Fmap1: [8]TFcChar32{
  25782. 0: uint32(0x4490684d),
  25783. 1: uint32(0xba880009),
  25784. 2: uint32(0x00820040),
  25785. 3: uint32(0x87d10000),
  25786. 4: uint32(0xb1e6215b),
  25787. 5: uint32(0x80083161),
  25788. 6: uint32(0xc2400800),
  25789. 7: uint32(0xa600a069),
  25790. },
  25791. },
  25792. 439: {
  25793. Fmap1: [8]TFcChar32{
  25794. 0: uint32(0x4a328d58),
  25795. 1: uint32(0x550a5d71),
  25796. 2: uint32(0x2d579aa0),
  25797. 3: uint32(0x4aa64005),
  25798. 4: uint32(0x30b12021),
  25799. 5: uint32(0x01123fc6),
  25800. 6: uint32(0x260a10c2),
  25801. 7: uint32(0x50824462),
  25802. },
  25803. },
  25804. 440: {
  25805. Fmap1: [8]TFcChar32{
  25806. 0: uint32(0x80409880),
  25807. 1: uint32(0x810004c0),
  25808. 2: uint32(0x00002003),
  25809. 3: uint32(0x38180000),
  25810. 4: uint32(0xf1a60200),
  25811. 5: uint32(0x720e4434),
  25812. 6: uint32(0x92e035a2),
  25813. 7: uint32(0x09008101),
  25814. },
  25815. },
  25816. 441: {
  25817. Fmap1: [8]TFcChar32{
  25818. 0: uint32(0x00000400),
  25819. 1: uint32(0x00008885),
  25820. 3: uint32(0x00804000),
  25821. 5: uint32(0x00004040),
  25822. },
  25823. },
  25824. 442: {
  25825. Fmap1: [8]TFcChar32{
  25826. 1: uint32(0x08000000),
  25827. 2: uint32(0x00000082),
  25828. 4: uint32(0x88000004),
  25829. 5: uint32(0xe7efbfff),
  25830. 6: uint32(0xffbfffff),
  25831. 7: uint32(0xfdffefef),
  25832. },
  25833. },
  25834. 443: {
  25835. Fmap1: [8]TFcChar32{
  25836. 0: uint32(0xbffefbff),
  25837. 1: uint32(0x057fffff),
  25838. 2: uint32(0x85b30034),
  25839. 3: uint32(0x42164706),
  25840. 4: uint32(0xe4105402),
  25841. 5: uint32(0xb3058092),
  25842. 6: uint32(0x81305422),
  25843. 7: uint32(0x180b4263),
  25844. },
  25845. },
  25846. 444: {
  25847. Fmap1: [8]TFcChar32{
  25848. 0: uint32(0x13f5387b),
  25849. 1: uint32(0xa9ea07e5),
  25850. 2: uint32(0x05143c4c),
  25851. 3: uint32(0x80020600),
  25852. 4: uint32(0xbd481ad9),
  25853. 5: uint32(0xf496ee37),
  25854. 6: uint32(0x7ec0705f),
  25855. 7: uint32(0x355fbfb2),
  25856. },
  25857. },
  25858. 445: {
  25859. Fmap1: [8]TFcChar32{
  25860. 0: uint32(0x455fe644),
  25861. 1: uint32(0x41469000),
  25862. 2: uint32(0x063b1d40),
  25863. 3: uint32(0xfe1362a1),
  25864. 4: uint32(0x39028505),
  25865. 5: uint32(0x0c080548),
  25866. 6: uint32(0x0000144f),
  25867. 7: uint32(0x58183488),
  25868. },
  25869. },
  25870. 446: {
  25871. Fmap1: [8]TFcChar32{
  25872. 0: uint32(0xd8153077),
  25873. 1: uint32(0x4bfbbd0e),
  25874. 2: uint32(0x85008a90),
  25875. 3: uint32(0xe61dc100),
  25876. 4: uint32(0xb386ed14),
  25877. 5: uint32(0x639bff72),
  25878. 6: uint32(0xd9befd92),
  25879. 7: uint32(0x0a92887b),
  25880. },
  25881. },
  25882. 447: {
  25883. Fmap1: [8]TFcChar32{
  25884. 0: uint32(0x1cb2d3fe),
  25885. 1: uint32(0x177ab980),
  25886. 2: uint32(0xdc1782c9),
  25887. 3: uint32(0x3980fffb),
  25888. 4: uint32(0x590c4260),
  25889. 5: uint32(0x37df0f01),
  25890. 6: uint32(0xb15094a3),
  25891. 7: uint32(0x23070623),
  25892. },
  25893. },
  25894. 448: {
  25895. Fmap1: [8]TFcChar32{
  25896. 0: uint32(0x3102f85a),
  25897. 1: uint32(0x310201f0),
  25898. 2: uint32(0x1e820040),
  25899. 3: uint32(0x056a3a0a),
  25900. 4: uint32(0x12805b84),
  25901. 5: uint32(0xa7148002),
  25902. 6: uint32(0xa04b2612),
  25903. 7: uint32(0x90011069),
  25904. },
  25905. },
  25906. 449: {
  25907. Fmap1: [8]TFcChar32{
  25908. 0: uint32(0x848a1000),
  25909. 1: uint32(0x3f801802),
  25910. 2: uint32(0x42400708),
  25911. 3: uint32(0x4e140110),
  25912. 4: uint32(0x180080b0),
  25913. 5: uint32(0x0281c510),
  25914. 6: uint32(0x10298202),
  25915. 7: uint32(0x88000210),
  25916. },
  25917. },
  25918. 450: {
  25919. Fmap1: [8]TFcChar32{
  25920. 0: uint32(0x00420020),
  25921. 1: uint32(0x11000280),
  25922. 2: uint32(0x4413e000),
  25923. 3: uint32(0xfe025804),
  25924. 4: uint32(0x30283c07),
  25925. 5: uint32(0x04739798),
  25926. 6: uint32(0xcb13ced1),
  25927. 7: uint32(0x431f6210),
  25928. },
  25929. },
  25930. 451: {
  25931. Fmap1: [8]TFcChar32{
  25932. 0: uint32(0x55ac278d),
  25933. 1: uint32(0xc892422e),
  25934. 2: uint32(0x02885380),
  25935. 3: uint32(0x78514039),
  25936. 4: uint32(0x8088292c),
  25937. 5: uint32(0x2428b900),
  25938. 6: uint32(0x080e0c41),
  25939. 7: uint32(0x42004421),
  25940. },
  25941. },
  25942. 452: {
  25943. Fmap1: [8]TFcChar32{
  25944. 0: uint32(0x08680408),
  25945. 1: uint32(0x12040006),
  25946. 2: uint32(0x02903031),
  25947. 3: uint32(0xe0855b3e),
  25948. 4: uint32(0x10442936),
  25949. 5: uint32(0x10822814),
  25950. 6: uint32(0x83344266),
  25951. 7: uint32(0x531b013c),
  25952. },
  25953. },
  25954. 453: {
  25955. Fmap1: [8]TFcChar32{
  25956. 0: uint32(0x0e0d0404),
  25957. 1: uint32(0x00510c22),
  25958. 2: uint32(0xc0000012),
  25959. 3: uint32(0x88000040),
  25960. 4: uint32(0x0000004a),
  25961. 6: uint32(0x5447dff6),
  25962. 7: uint32(0x00088868),
  25963. },
  25964. },
  25965. 454: {
  25966. Fmap1: [8]TFcChar32{
  25967. 0: uint32(0x00000081),
  25968. 1: uint32(0x40000000),
  25969. 2: uint32(0x00000100),
  25970. 3: uint32(0x02000000),
  25971. 4: uint32(0x00080600),
  25972. },
  25973. },
  25974. 455: {
  25975. Fmap1: [8]TFcChar32{
  25976. 0: uint32(0x00000080),
  25977. 1: uint32(0x00000040),
  25978. 3: uint32(0x00001040),
  25979. 5: uint32(0xf7fdefff),
  25980. 6: uint32(0xfffeff7f),
  25981. 7: uint32(0xfffffbff),
  25982. },
  25983. },
  25984. 456: {
  25985. Fmap1: [8]TFcChar32{
  25986. 0: uint32(0xbffffdff),
  25987. 1: uint32(0x00ffffff),
  25988. 2: uint32(0x042012c2),
  25989. 3: uint32(0x07080c06),
  25990. 4: uint32(0x01101624),
  25991. },
  25992. },
  25993. 457: {
  25994. Fmap1: [8]TFcChar32{
  25995. 0: uint32(0xe0000000),
  25996. 1: uint32(0xfffffffe),
  25997. 2: uint32(0x7f79ffff),
  25998. 3: uint32(0x00f928df),
  25999. 4: uint32(0x80120c32),
  26000. 5: uint32(0xd53a0008),
  26001. 6: uint32(0xecc2d858),
  26002. 7: uint32(0x2fa89d18),
  26003. },
  26004. },
  26005. 458: {
  26006. Fmap1: [8]TFcChar32{
  26007. 0: uint32(0xe0109620),
  26008. 1: uint32(0x2622d60c),
  26009. 2: uint32(0x02060f97),
  26010. 3: uint32(0x9055b240),
  26011. 4: uint32(0x501180a2),
  26012. 5: uint32(0x04049800),
  26013. 6: uint32(0x00004000),
  26014. },
  26015. },
  26016. 459: {
  26017. Fmap1: [8]TFcChar32{
  26018. 3: uint32(0xfffffbc0),
  26019. 4: uint32(0xdffbeffe),
  26020. 5: uint32(0x62430b08),
  26021. 6: uint32(0xfb3b41b6),
  26022. 7: uint32(0x23896f74),
  26023. },
  26024. },
  26025. 460: {
  26026. Fmap1: [8]TFcChar32{
  26027. 0: uint32(0xecd7ae7f),
  26028. 1: uint32(0x5960e047),
  26029. 2: uint32(0x098fa096),
  26030. 3: uint32(0xa030612c),
  26031. 4: uint32(0x2aaa090d),
  26032. 5: uint32(0x4f7bd44e),
  26033. 6: uint32(0x388bc4b2),
  26034. 7: uint32(0x6110a9c6),
  26035. },
  26036. },
  26037. 461: {
  26038. Fmap1: [8]TFcChar32{
  26039. 0: uint32(0x42000014),
  26040. 1: uint32(0x0202800c),
  26041. 2: uint32(0x6485fe48),
  26042. 3: uint32(0xe3f7d63e),
  26043. 4: uint32(0x0c073aa0),
  26044. 5: uint32(0x0430e40c),
  26045. 6: uint32(0x1002f680),
  26046. },
  26047. },
  26048. 462: {
  26049. Fmap1: [8]TFcChar32{
  26050. 3: uint32(0x00100000),
  26051. 4: uint32(0x00004000),
  26052. 5: uint32(0x00004000),
  26053. 6: uint32(0x00000100),
  26054. },
  26055. },
  26056. 463: {
  26057. Fmap1: [8]TFcChar32{
  26058. 1: uint32(0x40000000),
  26059. 3: uint32(0x00000400),
  26060. 4: uint32(0x00008000),
  26061. 6: uint32(0x00400400),
  26062. },
  26063. },
  26064. 464: {
  26065. Fmap1: [8]TFcChar32{
  26066. 1: uint32(0x40000000),
  26067. 3: uint32(0x00000800),
  26068. 4: uint32(0xfebdffe0),
  26069. 5: uint32(0xffffffff),
  26070. 6: uint32(0xfbe77f7f),
  26071. 7: uint32(0xf7ffffbf),
  26072. },
  26073. },
  26074. 465: {
  26075. Fmap1: [8]TFcChar32{
  26076. 0: uint32(0xefffffff),
  26077. 1: uint32(0xdff7ff7e),
  26078. 2: uint32(0xfbdff6f7),
  26079. 3: uint32(0x804fbffe),
  26080. 7: uint32(0x7fffef00),
  26081. },
  26082. },
  26083. 466: {
  26084. Fmap1: [8]TFcChar32{
  26085. 0: uint32(0xb6f7ff7f),
  26086. 1: uint32(0xb87e4406),
  26087. 2: uint32(0x88313bf5),
  26088. 3: uint32(0x00f41796),
  26089. 4: uint32(0x1391a960),
  26090. 5: uint32(0x72490080),
  26091. 6: uint32(0x0024f2f3),
  26092. 7: uint32(0x42c88701),
  26093. },
  26094. },
  26095. 467: {
  26096. Fmap1: [8]TFcChar32{
  26097. 0: uint32(0x5048e3d3),
  26098. 1: uint32(0x43052400),
  26099. 2: uint32(0x4a4c0000),
  26100. 3: uint32(0x10580227),
  26101. 4: uint32(0x01162820),
  26102. 5: uint32(0x0014a809),
  26103. 7: uint32(0x00683ec0),
  26104. },
  26105. },
  26106. 468: {
  26107. Fmap1: [8]TFcChar32{
  26108. 3: uint32(0xffe00000),
  26109. 4: uint32(0xfddbb7ff),
  26110. 5: uint32(0x000000f7),
  26111. 6: uint32(0xc72e4000),
  26112. 7: uint32(0x00000180),
  26113. },
  26114. },
  26115. 469: {
  26116. Fmap1: [8]TFcChar32{
  26117. 0: uint32(0x00012000),
  26118. 1: uint32(0x00004000),
  26119. 2: uint32(0x00300000),
  26120. 3: uint32(0xb4f7ffa8),
  26121. 4: uint32(0x03ffadf3),
  26122. 5: uint32(0x00000120),
  26123. },
  26124. },
  26125. 470: {
  26126. Fmap1: [8]TFcChar32{
  26127. 3: uint32(0xfffbf000),
  26128. 4: uint32(0xfdcf9df7),
  26129. 5: uint32(0x15c301bf),
  26130. 6: uint32(0x810a1827),
  26131. 7: uint32(0x0a00a842),
  26132. },
  26133. },
  26134. 471: {
  26135. Fmap1: [8]TFcChar32{
  26136. 0: uint32(0x80088108),
  26137. 1: uint32(0x18048008),
  26138. 2: uint32(0x0012a3be),
  26139. },
  26140. },
  26141. 472: {
  26142. Fmap1: [8]TFcChar32{
  26143. 3: uint32(0x90000000),
  26144. 4: uint32(0xdc3769e6),
  26145. 5: uint32(0x3dff6bff),
  26146. 6: uint32(0xf3f9fcf8),
  26147. 7: uint32(0x00000004),
  26148. },
  26149. },
  26150. 473: {
  26151. Fmap1: [8]TFcChar32{
  26152. 0: uint32(0x80000000),
  26153. 1: uint32(0xe7eebf6f),
  26154. 2: uint32(0x5da2dffe),
  26155. 3: uint32(0xc00b3fd8),
  26156. 4: uint32(0xa00c0984),
  26157. 5: uint32(0x69100040),
  26158. 6: uint32(0xb912e210),
  26159. 7: uint32(0x5a0086a5),
  26160. },
  26161. },
  26162. 474: {
  26163. Fmap1: [8]TFcChar32{
  26164. 0: uint32(0x02896800),
  26165. 1: uint32(0x6a809005),
  26166. 2: uint32(0x00030010),
  26167. 3: uint32(0x80000000),
  26168. 4: uint32(0x8e001ff9),
  26169. 5: uint32(0x00000001),
  26170. },
  26171. },
  26172. 475: {
  26173. Fmap1: [8]TFcChar32{
  26174. 0: uint32(0x00000080),
  26175. },
  26176. },
  26177. 476: {
  26178. Fmap1: [8]TFcChar32{
  26179. 2: uint32(0x00001000),
  26180. 3: uint32(0x64080010),
  26181. 4: uint32(0x00480000),
  26182. 5: uint32(0x10000020),
  26183. 6: uint32(0x80000102),
  26184. 7: uint32(0x08000010),
  26185. },
  26186. },
  26187. 477: {
  26188. Fmap1: [8]TFcChar32{
  26189. 0: uint32(0x00000040),
  26190. 1: uint32(0x40000000),
  26191. 2: uint32(0x00020000),
  26192. 3: uint32(0x01852002),
  26193. 4: uint32(0x00800010),
  26194. 5: uint32(0x80002022),
  26195. 6: uint32(0x084444a2),
  26196. 7: uint32(0x480e0000),
  26197. },
  26198. },
  26199. 478: {
  26200. Fmap1: [8]TFcChar32{
  26201. 0: uint32(0x04000200),
  26202. 1: uint32(0x02202008),
  26203. 2: uint32(0x80004380),
  26204. 3: uint32(0x04000000),
  26205. 4: uint32(0x00000002),
  26206. 5: uint32(0x12231420),
  26207. 6: uint32(0x2058003a),
  26208. 7: uint32(0x00200060),
  26209. },
  26210. },
  26211. 479: {
  26212. Fmap1: [8]TFcChar32{
  26213. 0: uint32(0x10002508),
  26214. 1: uint32(0x040d0028),
  26215. 2: uint32(0x00000009),
  26216. 3: uint32(0x00008004),
  26217. 4: uint32(0x00800000),
  26218. 5: uint32(0x42000001),
  26219. 7: uint32(0x09040000),
  26220. },
  26221. },
  26222. 480: {
  26223. Fmap1: [8]TFcChar32{
  26224. 0: uint32(0x02008000),
  26225. 1: uint32(0x01402001),
  26226. 3: uint32(0x00000008),
  26227. 5: uint32(0x00000001),
  26228. 6: uint32(0x00021008),
  26229. 7: uint32(0x04000000),
  26230. },
  26231. },
  26232. 481: {
  26233. Fmap1: [8]TFcChar32{
  26234. 0: uint32(0x00100100),
  26235. 1: uint32(0x80040080),
  26236. 2: uint32(0x00002000),
  26237. 3: uint32(0x00000008),
  26238. 4: uint32(0x08040601),
  26239. 5: uint32(0x01000012),
  26240. 6: uint32(0x10000000),
  26241. 7: uint32(0x49001024),
  26242. },
  26243. },
  26244. 482: {
  26245. Fmap1: [8]TFcChar32{
  26246. 0: uint32(0x0180004a),
  26247. 1: uint32(0x00100600),
  26248. 2: uint32(0x50840800),
  26249. 3: uint32(0x000000c0),
  26250. 4: uint32(0x00800000),
  26251. 5: uint32(0x20000800),
  26252. 6: uint32(0x40000000),
  26253. 7: uint32(0x08050000),
  26254. },
  26255. },
  26256. 483: {
  26257. Fmap1: [8]TFcChar32{
  26258. 0: uint32(0x02004000),
  26259. 1: uint32(0x02000804),
  26260. 2: uint32(0x01000004),
  26261. 3: uint32(0x18060001),
  26262. 4: uint32(0x02400001),
  26263. 5: uint32(0x40000002),
  26264. 6: uint32(0x20800014),
  26265. 7: uint32(0x000c1000),
  26266. },
  26267. },
  26268. 484: {
  26269. Fmap1: [8]TFcChar32{
  26270. 0: uint32(0x00222000),
  26271. 2: uint32(0x00100000),
  26272. 6: uint32(0x10422800),
  26273. 7: uint32(0x00000800),
  26274. },
  26275. },
  26276. 485: {
  26277. Fmap1: [8]TFcChar32{
  26278. 0: uint32(0x20080000),
  26279. 1: uint32(0x00040000),
  26280. 2: uint32(0x80025040),
  26281. 3: uint32(0x20208604),
  26282. 4: uint32(0x00028020),
  26283. 5: uint32(0x80102020),
  26284. 6: uint32(0x080820c0),
  26285. 7: uint32(0x10880800),
  26286. },
  26287. },
  26288. 486: {
  26289. Fmap1: [8]TFcChar32{
  26290. 2: uint32(0x00200109),
  26291. 3: uint32(0x00100000),
  26292. 5: uint32(0x81022700),
  26293. 6: uint32(0x40c21404),
  26294. 7: uint32(0x84010882),
  26295. },
  26296. },
  26297. 487: {
  26298. Fmap1: [8]TFcChar32{
  26299. 0: uint32(0x00004010),
  26300. 2: uint32(0x03000000),
  26301. 3: uint32(0x00000008),
  26302. 4: uint32(0x00080000),
  26303. 6: uint32(0x10800001),
  26304. 7: uint32(0x06002020),
  26305. },
  26306. },
  26307. 488: {
  26308. Fmap1: [8]TFcChar32{
  26309. 0: uint32(0x00000010),
  26310. 1: uint32(0x02000000),
  26311. 2: uint32(0x00880020),
  26312. 3: uint32(0x00008424),
  26313. 5: uint32(0x88000000),
  26314. 6: uint32(0x81000100),
  26315. 7: uint32(0x04000000),
  26316. },
  26317. },
  26318. 489: {
  26319. Fmap1: [8]TFcChar32{
  26320. 0: uint32(0x00004218),
  26321. 1: uint32(0x00040000),
  26322. 3: uint32(0x80005080),
  26323. 4: uint32(0x00010000),
  26324. 5: uint32(0x00040000),
  26325. 6: uint32(0x08008000),
  26326. 7: uint32(0x02008000),
  26327. },
  26328. },
  26329. 490: {
  26330. Fmap1: [8]TFcChar32{
  26331. 0: uint32(0x00020000),
  26332. 2: uint32(0x00000001),
  26333. 3: uint32(0x04000401),
  26334. 4: uint32(0x00100000),
  26335. 5: uint32(0x12200004),
  26336. 7: uint32(0x18100000),
  26337. },
  26338. },
  26339. 491: {
  26340. Fmap1: [8]TFcChar32{
  26341. 1: uint32(0x00000800),
  26342. 3: uint32(0x00004000),
  26343. 4: uint32(0x00800000),
  26344. 5: uint32(0x04000000),
  26345. 6: uint32(0x82000002),
  26346. 7: uint32(0x00042000),
  26347. },
  26348. },
  26349. 492: {
  26350. Fmap1: [8]TFcChar32{
  26351. 0: uint32(0x00080006),
  26352. 3: uint32(0x04000000),
  26353. 4: uint32(0x80008000),
  26354. 5: uint32(0x00810001),
  26355. 6: uint32(0xa0000000),
  26356. 7: uint32(0x00100410),
  26357. },
  26358. },
  26359. 493: {
  26360. Fmap1: [8]TFcChar32{
  26361. 0: uint32(0x00400218),
  26362. 1: uint32(0x88084080),
  26363. 2: uint32(0x00260008),
  26364. 3: uint32(0x00800404),
  26365. 4: uint32(0x00000020),
  26366. 7: uint32(0x00000200),
  26367. },
  26368. },
  26369. 494: {
  26370. Fmap1: [8]TFcChar32{
  26371. 0: uint32(0x00a08048),
  26372. 2: uint32(0x08000000),
  26373. 3: uint32(0x04000000),
  26374. 6: uint32(0x00018000),
  26375. 7: uint32(0x00200000),
  26376. },
  26377. },
  26378. 495: {
  26379. Fmap1: [8]TFcChar32{
  26380. 0: uint32(0x01000000),
  26381. 3: uint32(0x10000000),
  26382. 6: uint32(0x00200000),
  26383. 7: uint32(0x00102000),
  26384. },
  26385. },
  26386. 496: {
  26387. Fmap1: [8]TFcChar32{
  26388. 0: uint32(0x00000801),
  26389. 3: uint32(0x00020000),
  26390. 4: uint32(0x08000000),
  26391. 5: uint32(0x00002000),
  26392. 6: uint32(0x20010000),
  26393. 7: uint32(0x04002000),
  26394. },
  26395. },
  26396. 497: {
  26397. Fmap1: [8]TFcChar32{
  26398. 0: uint32(0x40000040),
  26399. 1: uint32(0x50202400),
  26400. 2: uint32(0x000a0020),
  26401. 3: uint32(0x00040420),
  26402. 4: uint32(0x00000200),
  26403. 5: uint32(0x00000080),
  26404. 6: uint32(0x80000000),
  26405. 7: uint32(0x00000020),
  26406. },
  26407. },
  26408. 498: {
  26409. Fmap1: [8]TFcChar32{
  26410. 0: uint32(0x20008000),
  26411. 1: uint32(0x00200010),
  26412. 4: uint32(0x00400000),
  26413. 5: uint32(0x01100000),
  26414. 6: uint32(0x00020000),
  26415. 7: uint32(0x80000010),
  26416. },
  26417. },
  26418. 499: {
  26419. Fmap1: [8]TFcChar32{
  26420. 0: uint32(0x02000000),
  26421. 1: uint32(0x00801000),
  26422. 3: uint32(0x48058000),
  26423. 4: uint32(0x20c94000),
  26424. 5: uint32(0x60000000),
  26425. 6: uint32(0x00000001),
  26426. },
  26427. },
  26428. 500: {
  26429. Fmap1: [8]TFcChar32{
  26430. 0: uint32(0x00004090),
  26431. 1: uint32(0x48000000),
  26432. 2: uint32(0x08000000),
  26433. 3: uint32(0x28802000),
  26434. 4: uint32(0x00000002),
  26435. 5: uint32(0x00014000),
  26436. 6: uint32(0x00002000),
  26437. 7: uint32(0x00002002),
  26438. },
  26439. },
  26440. 501: {
  26441. Fmap1: [8]TFcChar32{
  26442. 0: uint32(0x00010200),
  26443. 1: uint32(0x00100000),
  26444. 3: uint32(0x00800000),
  26445. 4: uint32(0x10020000),
  26446. },
  26447. },
  26448. 502: {
  26449. Fmap1: [8]TFcChar32{
  26450. 0: uint32(0x00000010),
  26451. 1: uint32(0x00000402),
  26452. 2: uint32(0x0c000000),
  26453. 3: uint32(0x01000400),
  26454. 4: uint32(0x01000021),
  26455. 6: uint32(0x00004000),
  26456. 7: uint32(0x00004000),
  26457. },
  26458. },
  26459. 503: {
  26460. Fmap1: [8]TFcChar32{
  26461. 1: uint32(0x00800000),
  26462. 7: uint32(0x02000020),
  26463. },
  26464. },
  26465. 504: {
  26466. Fmap1: [8]TFcChar32{
  26467. 0: uint32(0x00000100),
  26468. 1: uint32(0x08000000),
  26469. 6: uint32(0x00002000),
  26470. },
  26471. },
  26472. 505: {
  26473. Fmap1: [8]TFcChar32{
  26474. 0: uint32(0x00006000),
  26475. 3: uint32(0x00000400),
  26476. 4: uint32(0x04000040),
  26477. 5: uint32(0x003c0180),
  26478. 6: uint32(0x00000200),
  26479. 7: uint32(0x00102000),
  26480. },
  26481. },
  26482. 506: {
  26483. Fmap1: [8]TFcChar32{
  26484. 0: uint32(0x00000800),
  26485. 1: uint32(0x101000c0),
  26486. 2: uint32(0x00800000),
  26487. 4: uint32(0x00008000),
  26488. 5: uint32(0x02200000),
  26489. 6: uint32(0x00020020),
  26490. },
  26491. },
  26492. 507: {
  26493. Fmap1: [8]TFcChar32{
  26494. 1: uint32(0x01000000),
  26495. 3: uint32(0x20100000),
  26496. 4: uint32(0x00080000),
  26497. 5: uint32(0x00000141),
  26498. 6: uint32(0x02001002),
  26499. 7: uint32(0x40400001),
  26500. },
  26501. },
  26502. 508: {
  26503. Fmap1: [8]TFcChar32{
  26504. 0: uint32(0x00580000),
  26505. 1: uint32(0x00000002),
  26506. 2: uint32(0x00003000),
  26507. 3: uint32(0x00002400),
  26508. 4: uint32(0x00988000),
  26509. 5: uint32(0x00040010),
  26510. 6: uint32(0x00002800),
  26511. 7: uint32(0x00000008),
  26512. },
  26513. },
  26514. 509: {
  26515. Fmap1: [8]TFcChar32{
  26516. 0: uint32(0x40080004),
  26517. 1: uint32(0x00000020),
  26518. 2: uint32(0x20080000),
  26519. 3: uint32(0x02060a00),
  26520. 4: uint32(0x00010040),
  26521. 5: uint32(0x14010200),
  26522. 6: uint32(0x40800000),
  26523. 7: uint32(0x08031000),
  26524. },
  26525. },
  26526. 510: {
  26527. Fmap1: [8]TFcChar32{
  26528. 0: uint32(0x40020020),
  26529. 1: uint32(0x0000202c),
  26530. 2: uint32(0x2014a008),
  26531. 4: uint32(0x80040200),
  26532. 5: uint32(0x82020012),
  26533. 6: uint32(0x00400000),
  26534. 7: uint32(0x20000000),
  26535. },
  26536. },
  26537. 511: {
  26538. Fmap1: [8]TFcChar32{
  26539. 2: uint32(0x00000004),
  26540. 3: uint32(0x04000000),
  26541. 6: uint32(0x40800100),
  26542. },
  26543. },
  26544. 512: {
  26545. Fmap1: [8]TFcChar32{
  26546. 0: uint32(0x00000008),
  26547. 1: uint32(0x04000040),
  26548. 2: uint32(0x00000001),
  26549. 3: uint32(0x000c0200),
  26550. 5: uint32(0x08000400),
  26551. 7: uint32(0x080c0001),
  26552. },
  26553. },
  26554. 513: {
  26555. Fmap1: [8]TFcChar32{
  26556. 0: uint32(0x00000400),
  26557. 3: uint32(0x00200000),
  26558. 4: uint32(0x80000000),
  26559. 5: uint32(0x00001000),
  26560. 6: uint32(0x00000200),
  26561. 7: uint32(0x01000800),
  26562. },
  26563. },
  26564. 514: {
  26565. Fmap1: [8]TFcChar32{
  26566. 1: uint32(0x00000800),
  26567. 3: uint32(0x40000000),
  26568. 7: uint32(0x04040000),
  26569. },
  26570. },
  26571. 515: {
  26572. Fmap1: [8]TFcChar32{
  26573. 2: uint32(0x00000040),
  26574. 3: uint32(0x00002000),
  26575. 4: uint32(0xa0000000),
  26576. 6: uint32(0x08000008),
  26577. 7: uint32(0x00080000),
  26578. },
  26579. },
  26580. 516: {
  26581. Fmap1: [8]TFcChar32{
  26582. 0: uint32(0x00000020),
  26583. 2: uint32(0x40000400),
  26584. 7: uint32(0x00008000),
  26585. },
  26586. },
  26587. 517: {
  26588. Fmap1: [8]TFcChar32{
  26589. 4: uint32(0x00000800),
  26590. 7: uint32(0x00200000),
  26591. },
  26592. },
  26593. 518: {
  26594. Fmap1: [8]TFcChar32{
  26595. 3: uint32(0x04000000),
  26596. 4: uint32(0x00000008),
  26597. 6: uint32(0x00010000),
  26598. 7: uint32(0x1b000000),
  26599. },
  26600. },
  26601. 519: {
  26602. Fmap1: [8]TFcChar32{
  26603. 0: uint32(0x00007000),
  26604. 2: uint32(0x10000000),
  26605. 5: uint32(0x00000080),
  26606. 6: uint32(0x80000000),
  26607. },
  26608. },
  26609. 520: {
  26610. Fmap1: [8]TFcChar32{
  26611. 1: uint32(0x00020000),
  26612. 3: uint32(0x00200000),
  26613. 4: uint32(0x40000000),
  26614. 5: uint32(0x00000010),
  26615. 6: uint32(0x00800000),
  26616. 7: uint32(0x00000008),
  26617. },
  26618. },
  26619. 521: {
  26620. Fmap1: [8]TFcChar32{
  26621. 2: uint32(0x02000000),
  26622. 3: uint32(0x20000010),
  26623. 4: uint32(0x00000080),
  26624. 6: uint32(0x00010000),
  26625. },
  26626. },
  26627. 522: {
  26628. Fmap1: [8]TFcChar32{
  26629. 1: uint32(0x02000000),
  26630. 4: uint32(0x20000000),
  26631. 5: uint32(0x00000040),
  26632. 6: uint32(0x00200028),
  26633. },
  26634. },
  26635. 523: {
  26636. Fmap1: [8]TFcChar32{
  26637. 1: uint32(0x00020000),
  26638. 3: uint32(0x02000000),
  26639. 5: uint32(0x02000000),
  26640. 6: uint32(0x40020000),
  26641. 7: uint32(0x51000040),
  26642. },
  26643. },
  26644. 524: {
  26645. Fmap1: [8]TFcChar32{
  26646. 0: uint32(0x00000080),
  26647. 1: uint32(0x04040000),
  26648. 3: uint32(0x10000000),
  26649. 4: uint32(0x00022000),
  26650. 5: uint32(0x00100000),
  26651. 6: uint32(0x20000000),
  26652. 7: uint32(0x00000082),
  26653. },
  26654. },
  26655. 525: {
  26656. Fmap1: [8]TFcChar32{
  26657. 0: uint32(0x40000000),
  26658. 1: uint32(0x00010000),
  26659. 2: uint32(0x00002000),
  26660. 4: uint32(0x00000240),
  26661. 7: uint32(0x00000008),
  26662. },
  26663. },
  26664. 526: {
  26665. Fmap1: [8]TFcChar32{
  26666. 1: uint32(0x00010000),
  26667. 2: uint32(0x00000810),
  26668. 3: uint32(0x00080880),
  26669. 4: uint32(0x00004000),
  26670. 7: uint32(0x00020000),
  26671. },
  26672. },
  26673. 527: {
  26674. Fmap1: [8]TFcChar32{
  26675. 1: uint32(0x00400020),
  26676. 3: uint32(0x00000082),
  26677. 5: uint32(0x00020001),
  26678. },
  26679. },
  26680. 528: {
  26681. Fmap1: [8]TFcChar32{
  26682. 0: uint32(0x40000018),
  26683. 1: uint32(0x00000004),
  26684. 4: uint32(0x01000000),
  26685. 5: uint32(0x00400000),
  26686. },
  26687. },
  26688. 529: {
  26689. Fmap1: [8]TFcChar32{
  26690. 0: uint32(0x00000001),
  26691. 1: uint32(0x00400000),
  26692. 3: uint32(0x00080002),
  26693. 4: uint32(0x00000400),
  26694. 5: uint32(0x00040000),
  26695. },
  26696. },
  26697. 530: {
  26698. Fmap1: [8]TFcChar32{
  26699. 0: uint32(0x00000800),
  26700. 1: uint32(0x00000800),
  26701. 6: uint32(0x00000100),
  26702. },
  26703. },
  26704. 531: {
  26705. Fmap1: [8]TFcChar32{
  26706. 1: uint32(0x00200000),
  26707. 3: uint32(0x04108000),
  26708. 7: uint32(0x00000002),
  26709. },
  26710. },
  26711. 532: {
  26712. Fmap1: [8]TFcChar32{
  26713. 1: uint32(0x02800000),
  26714. 2: uint32(0x04000000),
  26715. 5: uint32(0x00000004),
  26716. 7: uint32(0x00000400),
  26717. },
  26718. },
  26719. 533: {
  26720. Fmap1: [8]TFcChar32{
  26721. 2: uint32(0x10000000),
  26722. 3: uint32(0x00040000),
  26723. 4: uint32(0x00400000),
  26724. },
  26725. },
  26726. 534: {
  26727. Fmap1: [8]TFcChar32{
  26728. 0: uint32(0x00200000),
  26729. 1: uint32(0x00000200),
  26730. 3: uint32(0x10000000),
  26731. 6: uint32(0x2a000000),
  26732. },
  26733. },
  26734. 535: {
  26735. Fmap1: [8]TFcChar32{
  26736. 0: uint32(0x00400000),
  26737. 2: uint32(0x00400000),
  26738. 4: uint32(0x00000002),
  26739. 5: uint32(0x40000000),
  26740. 7: uint32(0x00400000),
  26741. },
  26742. },
  26743. 536: {
  26744. Fmap1: [8]TFcChar32{
  26745. 0: uint32(0x40000000),
  26746. 1: uint32(0x00001000),
  26747. 4: uint32(0x00000202),
  26748. 5: uint32(0x02000000),
  26749. 6: uint32(0x80000000),
  26750. 7: uint32(0x00020000),
  26751. },
  26752. },
  26753. 537: {
  26754. Fmap1: [8]TFcChar32{
  26755. 0: uint32(0x00000020),
  26756. 1: uint32(0x00000800),
  26757. 2: uint32(0x00020421),
  26758. 3: uint32(0x00020000),
  26759. 7: uint32(0x00400000),
  26760. },
  26761. },
  26762. 538: {
  26763. Fmap1: [8]TFcChar32{
  26764. 0: uint32(0x00200000),
  26765. 2: uint32(0x00000001),
  26766. 4: uint32(0x00000084),
  26767. },
  26768. },
  26769. 539: {
  26770. Fmap1: [8]TFcChar32{
  26771. 1: uint32(0x00004400),
  26772. 2: uint32(0x00000002),
  26773. 3: uint32(0x00100000),
  26774. 6: uint32(0x00008200),
  26775. },
  26776. },
  26777. 540: {
  26778. Fmap1: [8]TFcChar32{
  26779. 1: uint32(0x12000000),
  26780. 2: uint32(0x00000100),
  26781. 3: uint32(0x00000001),
  26782. },
  26783. },
  26784. 541: {
  26785. Fmap1: [8]TFcChar32{
  26786. 0: uint32(0x00000020),
  26787. 1: uint32(0x08100000),
  26788. 2: uint32(0x000a0400),
  26789. 3: uint32(0x00000081),
  26790. 4: uint32(0x00006000),
  26791. 5: uint32(0x00120000),
  26792. },
  26793. },
  26794. 542: {
  26795. Fmap1: [8]TFcChar32{
  26796. 0: uint32(0x00000004),
  26797. 1: uint32(0x08000000),
  26798. 2: uint32(0x00004000),
  26799. 3: uint32(0x044000c0),
  26800. },
  26801. },
  26802. 543: {
  26803. Fmap1: [8]TFcChar32{
  26804. 0: uint32(0x40001000),
  26805. 2: uint32(0x01000001),
  26806. 3: uint32(0x05000000),
  26807. 4: uint32(0x00080000),
  26808. 5: uint32(0x02000000),
  26809. 6: uint32(0x00000800),
  26810. },
  26811. },
  26812. 544: {
  26813. Fmap1: [8]TFcChar32{
  26814. 0: uint32(0x00000100),
  26815. 4: uint32(0x00002002),
  26816. 5: uint32(0x01020000),
  26817. 6: uint32(0x00800000),
  26818. },
  26819. },
  26820. 545: {
  26821. Fmap1: [8]TFcChar32{
  26822. 0: uint32(0x00000040),
  26823. 1: uint32(0x00004000),
  26824. 2: uint32(0x01000000),
  26825. 3: uint32(0x00000004),
  26826. 4: uint32(0x00020000),
  26827. 6: uint32(0x00000010),
  26828. },
  26829. },
  26830. 546: {
  26831. Fmap1: [8]TFcChar32{
  26832. 4: uint32(0x00080000),
  26833. 5: uint32(0x00010000),
  26834. 6: uint32(0x30000300),
  26835. 7: uint32(0x00000400),
  26836. },
  26837. },
  26838. 547: {
  26839. Fmap1: [8]TFcChar32{
  26840. 0: uint32(0x00000800),
  26841. 1: uint32(0x02000000),
  26842. 3: uint32(0x00008000),
  26843. },
  26844. },
  26845. 548: {
  26846. Fmap1: [8]TFcChar32{
  26847. 0: uint32(0x00200000),
  26848. 5: uint32(0x000040c0),
  26849. 6: uint32(0x00002200),
  26850. 7: uint32(0x12002000),
  26851. },
  26852. },
  26853. 549: {
  26854. Fmap1: [8]TFcChar32{
  26855. 1: uint32(0x00000020),
  26856. 2: uint32(0x20000000),
  26857. 4: uint32(0x00000200),
  26858. 5: uint32(0x00080800),
  26859. 6: uint32(0x1000a000),
  26860. },
  26861. },
  26862. 550: {
  26863. Fmap1: [8]TFcChar32{
  26864. 3: uint32(0x00004000),
  26865. },
  26866. },
  26867. 551: {
  26868. Fmap1: [8]TFcChar32{
  26869. 2: uint32(0x00004280),
  26870. 3: uint32(0x01000000),
  26871. 4: uint32(0x00800000),
  26872. 5: uint32(0x00000008),
  26873. },
  26874. },
  26875. 552: {
  26876. Fmap1: [8]TFcChar32{
  26877. 3: uint32(0x00000002),
  26878. 5: uint32(0x20400000),
  26879. 6: uint32(0x00000040),
  26880. },
  26881. },
  26882. 553: {
  26883. Fmap1: [8]TFcChar32{
  26884. 0: uint32(0x00800080),
  26885. 1: uint32(0x00800000),
  26886. 5: uint32(0x00400020),
  26887. 7: uint32(0x00008000),
  26888. },
  26889. },
  26890. 554: {
  26891. Fmap1: [8]TFcChar32{
  26892. 0: uint32(0x01000000),
  26893. 1: uint32(0x00000040),
  26894. 3: uint32(0x00400000),
  26895. 5: uint32(0x00000440),
  26896. 7: uint32(0x00800000),
  26897. },
  26898. },
  26899. 555: {
  26900. Fmap1: [8]TFcChar32{
  26901. 0: uint32(0x01000000),
  26902. 6: uint32(0x00080000),
  26903. },
  26904. },
  26905. 556: {
  26906. Fmap1: [8]TFcChar32{
  26907. 0: uint32(0x01000000),
  26908. 1: uint32(0x00000001),
  26909. 3: uint32(0x00020000),
  26910. 5: uint32(0x20002000),
  26911. 7: uint32(0x00000004),
  26912. },
  26913. },
  26914. 557: {
  26915. Fmap1: [8]TFcChar32{
  26916. 0: uint32(0x00000008),
  26917. 1: uint32(0x00100000),
  26918. 3: uint32(0x00010000),
  26919. },
  26920. },
  26921. 558: {
  26922. Fmap1: [8]TFcChar32{
  26923. 0: uint32(0x00000004),
  26924. 1: uint32(0x00008000),
  26925. 7: uint32(0x00008000),
  26926. },
  26927. },
  26928. 559: {
  26929. Fmap1: [8]TFcChar32{
  26930. 4: uint32(0x00000040),
  26931. 6: uint32(0x00004000),
  26932. },
  26933. },
  26934. 560: {
  26935. Fmap1: [8]TFcChar32{
  26936. 0: uint32(0x00000010),
  26937. 1: uint32(0x00002000),
  26938. 2: uint32(0x40000040),
  26939. 4: uint32(0x10000000),
  26940. 6: uint32(0x00008080),
  26941. },
  26942. },
  26943. 561: {
  26944. Fmap1: [8]TFcChar32{
  26945. 2: uint32(0x00000080),
  26946. 4: uint32(0x00100080),
  26947. 5: uint32(0x000000a0),
  26948. },
  26949. },
  26950. 562: {
  26951. Fmap1: [8]TFcChar32{
  26952. 4: uint32(0x00100000),
  26953. },
  26954. },
  26955. 563: {
  26956. Fmap1: [8]TFcChar32{
  26957. 2: uint32(0x00001000),
  26958. 4: uint32(0x0001000a),
  26959. },
  26960. },
  26961. 564: {
  26962. Fmap1: [8]TFcChar32{
  26963. 6: uint32(0x08002000),
  26964. },
  26965. },
  26966. 565: {
  26967. Fmap1: [8]TFcChar32{
  26968. 0: uint32(0x00000808),
  26969. },
  26970. },
  26971. 566: {
  26972. Fmap1: [8]TFcChar32{
  26973. 0: uint32(0x00004000),
  26974. 1: uint32(0x00002400),
  26975. 2: uint32(0x00008000),
  26976. 3: uint32(0x40000000),
  26977. 4: uint32(0x00000001),
  26978. 5: uint32(0x00002000),
  26979. 6: uint32(0x04000000),
  26980. 7: uint32(0x00040004),
  26981. },
  26982. },
  26983. 567: {
  26984. Fmap1: [8]TFcChar32{
  26985. 1: uint32(0x00002000),
  26986. 5: uint32(0x1c200000),
  26987. 7: uint32(0x02000000),
  26988. },
  26989. },
  26990. 568: {
  26991. Fmap1: [8]TFcChar32{
  26992. 1: uint32(0x00080000),
  26993. 2: uint32(0x00400000),
  26994. 3: uint32(0x00000002),
  26995. 5: uint32(0x00000100),
  26996. },
  26997. },
  26998. 569: {
  26999. Fmap1: [8]TFcChar32{
  27000. 3: uint32(0x00400000),
  27001. },
  27002. },
  27003. 570: {
  27004. Fmap1: [8]TFcChar32{
  27005. 0: uint32(0x00004100),
  27006. 1: uint32(0x00000400),
  27007. 2: uint32(0x20200010),
  27008. 3: uint32(0x00004004),
  27009. 5: uint32(0x42000000),
  27010. },
  27011. },
  27012. 571: {
  27013. Fmap1: [8]TFcChar32{
  27014. 0: uint32(0x00000080),
  27015. 2: uint32(0x00000121),
  27016. 3: uint32(0x00000200),
  27017. 4: uint32(0x000000b0),
  27018. 5: uint32(0x80002000),
  27019. 7: uint32(0x00010000),
  27020. },
  27021. },
  27022. 572: {
  27023. Fmap1: [8]TFcChar32{
  27024. 0: uint32(0x00000010),
  27025. 1: uint32(0x000000c0),
  27026. 2: uint32(0x08100000),
  27027. 3: uint32(0x00000020),
  27028. },
  27029. },
  27030. 573: {
  27031. Fmap1: [8]TFcChar32{
  27032. 4: uint32(0x02000000),
  27033. 5: uint32(0x00000404),
  27034. },
  27035. },
  27036. 574: {
  27037. Fmap1: [8]TFcChar32{
  27038. 4: uint32(0x00400000),
  27039. 5: uint32(0x00000008),
  27040. },
  27041. },
  27042. 575: {
  27043. Fmap1: [8]TFcChar32{
  27044. 1: uint32(0x00000002),
  27045. 2: uint32(0x00020000),
  27046. 3: uint32(0x00002000),
  27047. 7: uint32(0x00204000),
  27048. },
  27049. },
  27050. 576: {
  27051. Fmap1: [8]TFcChar32{
  27052. 1: uint32(0x00100000),
  27053. 5: uint32(0x00800000),
  27054. 6: uint32(0x00000100),
  27055. 7: uint32(0x00000001),
  27056. },
  27057. },
  27058. 577: {
  27059. Fmap1: [8]TFcChar32{
  27060. 0: uint32(0x10000000),
  27061. 1: uint32(0x01000000),
  27062. 2: uint32(0x00002400),
  27063. 3: uint32(0x00000004),
  27064. 6: uint32(0x00000020),
  27065. 7: uint32(0x00000002),
  27066. },
  27067. },
  27068. 578: {
  27069. Fmap1: [8]TFcChar32{
  27070. 0: uint32(0x00010000),
  27071. },
  27072. },
  27073. 579: {
  27074. Fmap1: [8]TFcChar32{
  27075. 1: uint32(0x00002400),
  27076. 4: uint32(0x00004802),
  27077. 7: uint32(0x80022000),
  27078. },
  27079. },
  27080. 580: {
  27081. Fmap1: [8]TFcChar32{
  27082. 0: uint32(0x00001004),
  27083. 1: uint32(0x04208000),
  27084. 2: uint32(0x20000020),
  27085. 3: uint32(0x00040000),
  27086. },
  27087. },
  27088. 581: {
  27089. Fmap1: [8]TFcChar32{
  27090. 1: uint32(0x00100000),
  27091. 2: uint32(0x40010000),
  27092. 4: uint32(0x00080000),
  27093. 6: uint32(0x00100211),
  27094. },
  27095. },
  27096. 582: {
  27097. Fmap1: [8]TFcChar32{
  27098. 0: uint32(0x00001400),
  27099. 4: uint32(0x00610000),
  27100. 5: uint32(0x80008c00),
  27101. },
  27102. },
  27103. 583: {
  27104. Fmap1: [8]TFcChar32{
  27105. 0: uint32(0x00000100),
  27106. 1: uint32(0x00000040),
  27107. 3: uint32(0x00000004),
  27108. 4: uint32(0x00004000),
  27109. },
  27110. },
  27111. 584: {
  27112. Fmap1: [8]TFcChar32{
  27113. 6: uint32(0x00000400),
  27114. },
  27115. },
  27116. 585: {
  27117. Fmap1: [8]TFcChar32{
  27118. 5: uint32(0x00000210),
  27119. },
  27120. },
  27121. 586: {
  27122. Fmap1: [8]TFcChar32{
  27123. 1: uint32(0x00000020),
  27124. 2: uint32(0x00000002),
  27125. },
  27126. },
  27127. 587: {
  27128. Fmap1: [8]TFcChar32{
  27129. 0: uint32(0x00004000),
  27130. 3: uint32(0x02000000),
  27131. },
  27132. },
  27133. 588: {
  27134. Fmap1: [8]TFcChar32{
  27135. 2: uint32(0x00080002),
  27136. 3: uint32(0x01000020),
  27137. 4: uint32(0x00400000),
  27138. 5: uint32(0x00200000),
  27139. 6: uint32(0x00008000),
  27140. },
  27141. },
  27142. 589: {
  27143. Fmap1: [8]TFcChar32{
  27144. 1: uint32(0x00020000),
  27145. 3: uint32(0xc0020000),
  27146. 4: uint32(0x10000000),
  27147. 5: uint32(0x00000080),
  27148. },
  27149. },
  27150. 590: {
  27151. Fmap1: [8]TFcChar32{
  27152. 0: uint32(0x00000210),
  27153. 2: uint32(0x00001000),
  27154. 3: uint32(0x04480000),
  27155. 4: uint32(0x20000000),
  27156. 5: uint32(0x00000004),
  27157. 6: uint32(0x00800000),
  27158. 7: uint32(0x02000000),
  27159. },
  27160. },
  27161. 591: {
  27162. Fmap1: [8]TFcChar32{
  27163. 1: uint32(0x08006000),
  27164. 2: uint32(0x00001000),
  27165. 5: uint32(0x00100000),
  27166. 7: uint32(0x00000400),
  27167. },
  27168. },
  27169. 592: {
  27170. Fmap1: [8]TFcChar32{
  27171. 0: uint32(0x00100000),
  27172. 2: uint32(0x10000000),
  27173. 3: uint32(0x08608000),
  27174. 6: uint32(0x00080002),
  27175. },
  27176. },
  27177. 593: {
  27178. Fmap1: [8]TFcChar32{
  27179. 1: uint32(0x20000000),
  27180. 2: uint32(0x00008020),
  27181. },
  27182. },
  27183. 594: {
  27184. Fmap1: [8]TFcChar32{
  27185. 3: uint32(0x10000000),
  27186. },
  27187. },
  27188. 595: {
  27189. Fmap1: [8]TFcChar32{
  27190. 1: uint32(0x00100000),
  27191. },
  27192. },
  27193. 596: {
  27194. Fmap1: [8]TFcChar32{
  27195. 1: uint32(0x00000400),
  27196. },
  27197. },
  27198. 597: {
  27199. Fmap1: [8]TFcChar32{
  27200. 7: uint32(0x02000000),
  27201. },
  27202. },
  27203. 598: {
  27204. Fmap1: [8]TFcChar32{
  27205. 6: uint32(0x00000080),
  27206. },
  27207. },
  27208. 599: {
  27209. Fmap1: [8]TFcChar32{
  27210. 5: uint32(0x00000002),
  27211. },
  27212. },
  27213. 600: {
  27214. Fmap1: [8]TFcChar32{
  27215. 6: uint32(0x00008000),
  27216. },
  27217. },
  27218. 601: {
  27219. Fmap1: [8]TFcChar32{
  27220. 2: uint32(0x00000008),
  27221. 6: uint32(0x00000400),
  27222. },
  27223. },
  27224. 602: {
  27225. Fmap1: [8]TFcChar32{
  27226. 2: uint32(0x00220000),
  27227. 3: uint32(0x00000004),
  27228. 5: uint32(0x00040000),
  27229. 6: uint32(0x00000004),
  27230. },
  27231. },
  27232. 603: {
  27233. Fmap1: [8]TFcChar32{
  27234. 2: uint32(0x00001000),
  27235. 3: uint32(0x00000080),
  27236. 4: uint32(0x00002000),
  27237. 7: uint32(0x00004000),
  27238. },
  27239. },
  27240. 604: {
  27241. Fmap1: [8]TFcChar32{
  27242. 3: uint32(0x00100000),
  27243. },
  27244. },
  27245. 605: {
  27246. Fmap1: [8]TFcChar32{
  27247. 4: uint32(0x00200000),
  27248. },
  27249. },
  27250. 606: {
  27251. Fmap1: [8]TFcChar32{
  27252. 5: uint32(0x04000000),
  27253. },
  27254. },
  27255. 607: {
  27256. Fmap1: [8]TFcChar32{
  27257. 4: uint32(0x00000200),
  27258. },
  27259. },
  27260. 608: {
  27261. Fmap1: [8]TFcChar32{
  27262. 4: uint32(0x00000001),
  27263. },
  27264. },
  27265. 609: {
  27266. Fmap1: [8]TFcChar32{
  27267. 6: uint32(0x00080000),
  27268. },
  27269. },
  27270. 610: {
  27271. Fmap1: [8]TFcChar32{
  27272. 5: uint32(0x01000000),
  27273. 7: uint32(0x00000400),
  27274. },
  27275. },
  27276. 611: {
  27277. Fmap1: [8]TFcChar32{
  27278. 5: uint32(0x00000080),
  27279. },
  27280. },
  27281. 612: {
  27282. Fmap1: [8]TFcChar32{
  27283. 1: uint32(0x00000800),
  27284. 2: uint32(0x00000100),
  27285. 3: uint32(0x40000000),
  27286. },
  27287. },
  27288. 613: {
  27289. Fmap1: [8]TFcChar32{
  27290. 1: uint32(0x00200000),
  27291. },
  27292. },
  27293. 614: {
  27294. Fmap1: [8]TFcChar32{
  27295. 2: uint32(0x01000000),
  27296. },
  27297. },
  27298. 615: {
  27299. Fmap1: [8]TFcChar32{
  27300. 6: uint32(0x04000000),
  27301. },
  27302. },
  27303. 616: {
  27304. Fmap1: [8]TFcChar32{
  27305. 6: uint32(0x00001000),
  27306. },
  27307. },
  27308. 617: {
  27309. Fmap1: [8]TFcChar32{
  27310. 4: uint32(0x00000400),
  27311. },
  27312. },
  27313. 618: {
  27314. Fmap1: [8]TFcChar32{
  27315. 7: uint32(0x04040000),
  27316. },
  27317. },
  27318. 619: {
  27319. Fmap1: [8]TFcChar32{
  27320. 4: uint32(0x00000020),
  27321. },
  27322. },
  27323. 620: {
  27324. Fmap1: [8]TFcChar32{
  27325. 2: uint32(0x00800000),
  27326. },
  27327. },
  27328. 621: {
  27329. Fmap1: [8]TFcChar32{
  27330. 1: uint32(0x00200000),
  27331. 2: uint32(0x40000000),
  27332. },
  27333. },
  27334. 622: {
  27335. Fmap1: [8]TFcChar32{
  27336. 4: uint32(0x20000000),
  27337. },
  27338. },
  27339. 623: {
  27340. Fmap1: [8]TFcChar32{
  27341. 3: uint32(0x04000000),
  27342. 5: uint32(0x00000001),
  27343. },
  27344. },
  27345. 624: {
  27346. Fmap1: [8]TFcChar32{
  27347. 1: uint32(0x40000000),
  27348. 2: uint32(0x02000000),
  27349. },
  27350. },
  27351. 625: {
  27352. Fmap1: [8]TFcChar32{
  27353. 3: uint32(0x00080000),
  27354. },
  27355. },
  27356. 626: {
  27357. Fmap1: [8]TFcChar32{
  27358. 1: uint32(0x00000010),
  27359. 5: uint32(0x20000000),
  27360. },
  27361. },
  27362. 627: {
  27363. Fmap1: [8]TFcChar32{
  27364. 2: uint32(0x20000000),
  27365. },
  27366. },
  27367. 628: {
  27368. Fmap1: [8]TFcChar32{
  27369. 0: uint32(0x00000080),
  27370. 7: uint32(0x00000004),
  27371. },
  27372. },
  27373. 629: {
  27374. Fmap1: [8]TFcChar32{
  27375. 3: uint32(0x00002000),
  27376. },
  27377. },
  27378. 630: {
  27379. Fmap1: [8]TFcChar32{
  27380. 6: uint32(0x10000001),
  27381. },
  27382. },
  27383. 631: {
  27384. Fmap1: [8]TFcChar32{
  27385. 0: uint32(0x00008000),
  27386. },
  27387. },
  27388. 632: {
  27389. Fmap1: [8]TFcChar32{
  27390. 2: uint32(0x00004040),
  27391. },
  27392. },
  27393. 633: {
  27394. Fmap1: [8]TFcChar32{
  27395. 6: uint32(0x00042400),
  27396. },
  27397. },
  27398. 634: {
  27399. Fmap1: [8]TFcChar32{
  27400. 4: uint32(0x02000000),
  27401. },
  27402. },
  27403. 635: {
  27404. Fmap1: [8]TFcChar32{
  27405. 7: uint32(0x00000080),
  27406. },
  27407. },
  27408. 636: {
  27409. Fmap1: [8]TFcChar32{
  27410. 7: uint32(0x00000020),
  27411. },
  27412. },
  27413. 637: {
  27414. Fmap1: [8]TFcChar32{
  27415. 1: uint32(0x00000001),
  27416. },
  27417. },
  27418. 638: {
  27419. Fmap1: [8]TFcChar32{
  27420. 6: uint32(0x00020000),
  27421. },
  27422. },
  27423. 639: {
  27424. Fmap1: [8]TFcChar32{
  27425. 2: uint32(0x00002000),
  27426. },
  27427. },
  27428. 640: {
  27429. Fmap1: [8]TFcChar32{
  27430. 4: uint32(0x01000000),
  27431. },
  27432. },
  27433. 641: {
  27434. Fmap1: [8]TFcChar32{
  27435. 1: uint32(0x00040000),
  27436. 2: uint32(0x08000000),
  27437. },
  27438. },
  27439. 642: {
  27440. Fmap1: [8]TFcChar32{
  27441. 0: uint32(0xc373ff8b),
  27442. 1: uint32(0x1b0f6840),
  27443. 2: uint32(0xf34ce9ac),
  27444. 3: uint32(0xc0080200),
  27445. 4: uint32(0xca3e795c),
  27446. 5: uint32(0x06487976),
  27447. 6: uint32(0xf7f02fdf),
  27448. 7: uint32(0xa8ff033a),
  27449. },
  27450. },
  27451. 643: {
  27452. Fmap1: [8]TFcChar32{
  27453. 0: uint32(0x233fef37),
  27454. 1: uint32(0xfd59b004),
  27455. 2: uint32(0xfffff3ca),
  27456. 3: uint32(0xfff9de9f),
  27457. 4: uint32(0x7df7abff),
  27458. 5: uint32(0x8eecc000),
  27459. 6: uint32(0xffdbeebf),
  27460. 7: uint32(0x45fad003),
  27461. },
  27462. },
  27463. 644: {
  27464. Fmap1: [8]TFcChar32{
  27465. 0: uint32(0xdffefae1),
  27466. 1: uint32(0x10abbfef),
  27467. 2: uint32(0xfcaaffeb),
  27468. 3: uint32(0x24fdef3f),
  27469. 4: uint32(0x7f7678ad),
  27470. 5: uint32(0xedfff00c),
  27471. 6: uint32(0x2cfacff6),
  27472. 7: uint32(0xeb6bf7f9),
  27473. },
  27474. },
  27475. 645: {
  27476. Fmap1: [8]TFcChar32{
  27477. 0: uint32(0x95bf1ffd),
  27478. 1: uint32(0xbfbf6677),
  27479. 2: uint32(0xfeb43bfb),
  27480. 3: uint32(0x11e27bae),
  27481. 4: uint32(0x41bea681),
  27482. 5: uint32(0x72c31435),
  27483. 6: uint32(0x71917d70),
  27484. 7: uint32(0x276b0003),
  27485. },
  27486. },
  27487. 646: {
  27488. Fmap1: [8]TFcChar32{
  27489. 0: uint32(0x70cf57cb),
  27490. 1: uint32(0x0def4732),
  27491. 2: uint32(0xfc747eda),
  27492. 3: uint32(0xbdb4fe06),
  27493. 4: uint32(0x8bca3f9f),
  27494. 5: uint32(0x58007e49),
  27495. 6: uint32(0xebec228f),
  27496. 7: uint32(0xddbb8a5c),
  27497. },
  27498. },
  27499. 647: {
  27500. Fmap1: [8]TFcChar32{
  27501. 0: uint32(0xb6e7ef60),
  27502. 1: uint32(0xf293a40f),
  27503. 2: uint32(0x549e37bb),
  27504. 3: uint32(0x9bafd04b),
  27505. 4: uint32(0xf7d4c414),
  27506. 5: uint32(0x0a1430b0),
  27507. 6: uint32(0x88d02f08),
  27508. 7: uint32(0x192fff7e),
  27509. },
  27510. },
  27511. 648: {
  27512. Fmap1: [8]TFcChar32{
  27513. 0: uint32(0xfb07ffda),
  27514. 1: uint32(0x7beb7ff1),
  27515. 2: uint32(0x0010c5ef),
  27516. 3: uint32(0xfdff99ff),
  27517. 4: uint32(0x056779d7),
  27518. 5: uint32(0xfdcbffe7),
  27519. 6: uint32(0x4040c3ff),
  27520. 7: uint32(0xbd8e6ff7),
  27521. },
  27522. },
  27523. 649: {
  27524. Fmap1: [8]TFcChar32{
  27525. 0: uint32(0x0497dffa),
  27526. 1: uint32(0x5bfff4c0),
  27527. 2: uint32(0xd0e7ed7b),
  27528. 3: uint32(0xf8e0047e),
  27529. 4: uint32(0xb73eff9f),
  27530. 5: uint32(0x882e7dfe),
  27531. 6: uint32(0xbe7ffffd),
  27532. 7: uint32(0xf6c483fe),
  27533. },
  27534. },
  27535. 650: {
  27536. Fmap1: [8]TFcChar32{
  27537. 0: uint32(0xb8fdf357),
  27538. 1: uint32(0xef7dd680),
  27539. 2: uint32(0x47885767),
  27540. 3: uint32(0xc3dfff7d),
  27541. 4: uint32(0x37a9f0ff),
  27542. 5: uint32(0x70fc7de0),
  27543. 6: uint32(0xec9a3f6f),
  27544. 7: uint32(0x86814cb3),
  27545. },
  27546. },
  27547. 651: {
  27548. Fmap1: [8]TFcChar32{
  27549. 0: uint32(0xdd5c3f9e),
  27550. 1: uint32(0x4819f70d),
  27551. 2: uint32(0x0007fea3),
  27552. 3: uint32(0x38ffaf56),
  27553. 4: uint32(0xefb8980d),
  27554. 5: uint32(0xb760403d),
  27555. 6: uint32(0x9035d8ce),
  27556. 7: uint32(0x3fff72bf),
  27557. },
  27558. },
  27559. 652: {
  27560. Fmap1: [8]TFcChar32{
  27561. 0: uint32(0x7a117ff7),
  27562. 1: uint32(0xabfff7bb),
  27563. 2: uint32(0x6fbeff00),
  27564. 3: uint32(0xfe72a93c),
  27565. 4: uint32(0xf11bcfef),
  27566. 5: uint32(0xf40adb6b),
  27567. 6: uint32(0xef7ec3e6),
  27568. 7: uint32(0xf6109b9c),
  27569. },
  27570. },
  27571. 653: {
  27572. Fmap1: [8]TFcChar32{
  27573. 0: uint32(0x16f4f048),
  27574. 1: uint32(0x5182feb5),
  27575. 2: uint32(0x15bbc7b1),
  27576. 3: uint32(0xfbdf6e87),
  27577. 4: uint32(0x63cde43f),
  27578. 5: uint32(0x7e7ec1ff),
  27579. 6: uint32(0x7d5ffdeb),
  27580. 7: uint32(0xfcfe777b),
  27581. },
  27582. },
  27583. 654: {
  27584. Fmap1: [8]TFcChar32{
  27585. 0: uint32(0xdbea960b),
  27586. 1: uint32(0x53e86229),
  27587. 2: uint32(0xfdef37df),
  27588. 3: uint32(0xbd8136f5),
  27589. 4: uint32(0xfcbddc18),
  27590. 5: uint32(0xffffd2e4),
  27591. 6: uint32(0xffe03fd7),
  27592. 7: uint32(0xabf87f6f),
  27593. },
  27594. },
  27595. 655: {
  27596. Fmap1: [8]TFcChar32{
  27597. 0: uint32(0x6ed99bae),
  27598. 1: uint32(0xf115f5fb),
  27599. 2: uint32(0xbdfb79a9),
  27600. 3: uint32(0xadaf5a3c),
  27601. 4: uint32(0x1facdbba),
  27602. 5: uint32(0x837971fc),
  27603. 6: uint32(0xc35f7cf7),
  27604. 7: uint32(0x0567dfff),
  27605. },
  27606. },
  27607. 656: {
  27608. Fmap1: [8]TFcChar32{
  27609. 0: uint32(0x8467ff9a),
  27610. 1: uint32(0xdf8b1534),
  27611. 2: uint32(0x3373f9f3),
  27612. 3: uint32(0x5e1af7bd),
  27613. 4: uint32(0xa03fbf40),
  27614. 5: uint32(0x01ebffff),
  27615. 6: uint32(0xcfdddfc0),
  27616. 7: uint32(0xabd37500),
  27617. },
  27618. },
  27619. 657: {
  27620. Fmap1: [8]TFcChar32{
  27621. 0: uint32(0xeed6f8c3),
  27622. 1: uint32(0xb7ff43fd),
  27623. 2: uint32(0x42275eaf),
  27624. 3: uint32(0xf6869bac),
  27625. 4: uint32(0xf6bc27d7),
  27626. 5: uint32(0x35b7f787),
  27627. 6: uint32(0xe176aacd),
  27628. 7: uint32(0xe29f49e7),
  27629. },
  27630. },
  27631. 658: {
  27632. Fmap1: [8]TFcChar32{
  27633. 0: uint32(0xaff2545c),
  27634. 1: uint32(0x61d82b3f),
  27635. 2: uint32(0xbbb8fc3b),
  27636. 3: uint32(0x7b7dffcf),
  27637. 4: uint32(0x1ce0bf95),
  27638. 5: uint32(0x43ff7dfd),
  27639. 6: uint32(0xfffe5ff6),
  27640. 7: uint32(0xc4ced3ef),
  27641. },
  27642. },
  27643. 659: {
  27644. Fmap1: [8]TFcChar32{
  27645. 0: uint32(0xadbc8db6),
  27646. 1: uint32(0x11eb63dc),
  27647. 2: uint32(0x23d0df59),
  27648. 3: uint32(0xf3dbbeb4),
  27649. 4: uint32(0xdbc71fe7),
  27650. 5: uint32(0xfae4ff63),
  27651. 6: uint32(0x63f7b22b),
  27652. 7: uint32(0xadbaed3b),
  27653. },
  27654. },
  27655. 660: {
  27656. Fmap1: [8]TFcChar32{
  27657. 0: uint32(0x7efffe01),
  27658. 1: uint32(0x02bcfff7),
  27659. 2: uint32(0xef3932ff),
  27660. 3: uint32(0x8005fffc),
  27661. 4: uint32(0xbcf577fb),
  27662. 5: uint32(0xfff7010d),
  27663. 6: uint32(0xbf3afffb),
  27664. 7: uint32(0xdfff0057),
  27665. },
  27666. },
  27667. 661: {
  27668. Fmap1: [8]TFcChar32{
  27669. 0: uint32(0xbd7def7b),
  27670. 1: uint32(0xc8d4db88),
  27671. 2: uint32(0xed7cfff3),
  27672. 3: uint32(0x56ff5dee),
  27673. 4: uint32(0xac5f7e0d),
  27674. 5: uint32(0xd57fff96),
  27675. 6: uint32(0xc1403fee),
  27676. 7: uint32(0xffe76ff9),
  27677. },
  27678. },
  27679. 662: {
  27680. Fmap1: [8]TFcChar32{
  27681. 0: uint32(0x8e77779b),
  27682. 1: uint32(0xe45d6ebf),
  27683. 2: uint32(0x5f1f6fcf),
  27684. 3: uint32(0xfedfe07f),
  27685. 4: uint32(0x01fed7db),
  27686. 5: uint32(0xfb7bff00),
  27687. 6: uint32(0x1fdfffd4),
  27688. 7: uint32(0xfffff800),
  27689. },
  27690. },
  27691. 663: {
  27692. Fmap1: [8]TFcChar32{
  27693. 0: uint32(0x007bfb8f),
  27694. 1: uint32(0x7f5cbf00),
  27695. 2: uint32(0x07f3ffff),
  27696. 3: uint32(0x3de7eba0),
  27697. 4: uint32(0xfbd7f7bf),
  27698. 5: uint32(0x6003ffbf),
  27699. 6: uint32(0xbfedfffd),
  27700. 7: uint32(0x027fefbb),
  27701. },
  27702. },
  27703. 664: {
  27704. Fmap1: [8]TFcChar32{
  27705. 0: uint32(0xddfdfe40),
  27706. 1: uint32(0xe2f9fdff),
  27707. 2: uint32(0xfb1f680b),
  27708. 3: uint32(0xaffdfbe3),
  27709. 4: uint32(0xf7ed9fa4),
  27710. 5: uint32(0xf80f7a7d),
  27711. 6: uint32(0x0fd5eebe),
  27712. 7: uint32(0xfd9fbb5d),
  27713. },
  27714. },
  27715. 665: {
  27716. Fmap1: [8]TFcChar32{
  27717. 0: uint32(0x3bf9f2db),
  27718. 1: uint32(0xebccfe7f),
  27719. 2: uint32(0x73fa876a),
  27720. 3: uint32(0x9ffc95fc),
  27721. 4: uint32(0xfaf7109f),
  27722. 5: uint32(0xbbcdddb7),
  27723. 6: uint32(0xeccdf87e),
  27724. 7: uint32(0x3c3ff366),
  27725. },
  27726. },
  27727. 666: {
  27728. Fmap1: [8]TFcChar32{
  27729. 0: uint32(0xb03ffffd),
  27730. 1: uint32(0x067ee9f7),
  27731. 2: uint32(0xfe0696ae),
  27732. 3: uint32(0x5fd7d576),
  27733. 4: uint32(0xa3f33fd1),
  27734. 5: uint32(0x6fb7cf07),
  27735. 6: uint32(0x7f449fd1),
  27736. 7: uint32(0xd3dd7b59),
  27737. },
  27738. },
  27739. 667: {
  27740. Fmap1: [8]TFcChar32{
  27741. 0: uint32(0xa9bdaf3b),
  27742. 1: uint32(0xff3a7dcf),
  27743. 2: uint32(0xf6ebfbe0),
  27744. 3: uint32(0xffffb401),
  27745. 4: uint32(0xb7bf7afa),
  27746. 5: uint32(0x0ffdc000),
  27747. 6: uint32(0xff1fff7f),
  27748. 7: uint32(0x95fffefc),
  27749. },
  27750. },
  27751. 668: {
  27752. Fmap1: [8]TFcChar32{
  27753. 0: uint32(0xb5dc0000),
  27754. 1: uint32(0x3f3eef63),
  27755. 2: uint32(0x001bfb7f),
  27756. 3: uint32(0xfbf6e800),
  27757. 4: uint32(0xb8df9eef),
  27758. 5: uint32(0x003fff9f),
  27759. 6: uint32(0xf5ff7bd0),
  27760. 7: uint32(0x3fffdfdb),
  27761. },
  27762. },
  27763. 669: {
  27764. Fmap1: [8]TFcChar32{
  27765. 0: uint32(0x00bffdf0),
  27766. 1: uint32(0xbbbd8420),
  27767. 2: uint32(0xffdedf37),
  27768. 3: uint32(0x0ff3ff6d),
  27769. 4: uint32(0x5efb604c),
  27770. 5: uint32(0xfafbfffb),
  27771. 6: uint32(0x0219fe5e),
  27772. 7: uint32(0xf9de79f4),
  27773. },
  27774. },
  27775. 670: {
  27776. Fmap1: [8]TFcChar32{
  27777. 0: uint32(0xebfaa7f7),
  27778. 1: uint32(0xff3401eb),
  27779. 2: uint32(0xef73ebd3),
  27780. 3: uint32(0xc040afd7),
  27781. 4: uint32(0xdcff72bb),
  27782. 5: uint32(0x2fd8f17f),
  27783. 6: uint32(0xfe0bb8ec),
  27784. 7: uint32(0x1f0bdda3),
  27785. },
  27786. },
  27787. 671: {
  27788. Fmap1: [8]TFcChar32{
  27789. 0: uint32(0x47cf8f1d),
  27790. 1: uint32(0xffdeb12b),
  27791. 2: uint32(0xda737fee),
  27792. 3: uint32(0xcbc424ff),
  27793. 4: uint32(0xcbf2f75d),
  27794. 5: uint32(0xb4edecfd),
  27795. 6: uint32(0x4dddbff9),
  27796. 7: uint32(0xfb8d99dd),
  27797. },
  27798. },
  27799. 672: {
  27800. Fmap1: [8]TFcChar32{
  27801. 0: uint32(0xaf7bbb7f),
  27802. 1: uint32(0xc959ddfb),
  27803. 2: uint32(0xfab5fc4f),
  27804. 3: uint32(0x6d5fafe3),
  27805. 4: uint32(0x3f7dffff),
  27806. 5: uint32(0xffdb7800),
  27807. 6: uint32(0x7effb6ff),
  27808. 7: uint32(0x022ffbaf),
  27809. },
  27810. },
  27811. 673: {
  27812. Fmap1: [8]TFcChar32{
  27813. 0: uint32(0xefc7ff9b),
  27814. 1: uint32(0xffffffa5),
  27815. 2: uint32(0xc7000007),
  27816. 3: uint32(0xfff1f7ff),
  27817. 4: uint32(0x01bf7ffd),
  27818. 5: uint32(0xfdbcdc00),
  27819. 6: uint32(0xffffbff5),
  27820. 7: uint32(0x3effff7f),
  27821. },
  27822. },
  27823. 674: {
  27824. Fmap1: [8]TFcChar32{
  27825. 0: uint32(0xbe000029),
  27826. 1: uint32(0xff7ff9ff),
  27827. 2: uint32(0xfd7e6efb),
  27828. 3: uint32(0x039ecbff),
  27829. 4: uint32(0xfbdde300),
  27830. 5: uint32(0xf6dfccff),
  27831. 6: uint32(0x117fffff),
  27832. 7: uint32(0xfbf6f800),
  27833. },
  27834. },
  27835. 675: {
  27836. Fmap1: [8]TFcChar32{
  27837. 0: uint32(0xd73ce7ef),
  27838. 1: uint32(0xdfeffeef),
  27839. 2: uint32(0xedbfc00b),
  27840. 3: uint32(0xfdcdfedf),
  27841. 4: uint32(0x40fd7bf5),
  27842. 5: uint32(0xb75fffff),
  27843. 6: uint32(0xf930ffdf),
  27844. 7: uint32(0xdc97fbdf),
  27845. },
  27846. },
  27847. 676: {
  27848. Fmap1: [8]TFcChar32{
  27849. 0: uint32(0xbff2fef3),
  27850. 1: uint32(0xdfbf8fdf),
  27851. 2: uint32(0xede6177f),
  27852. 3: uint32(0x35530f7f),
  27853. 4: uint32(0x877e447c),
  27854. 5: uint32(0x45bbfa12),
  27855. 6: uint32(0x779eede0),
  27856. 7: uint32(0xbfd98017),
  27857. },
  27858. },
  27859. 677: {
  27860. Fmap1: [8]TFcChar32{
  27861. 0: uint32(0xde897e55),
  27862. 1: uint32(0x0447c16f),
  27863. 2: uint32(0xf75d7ade),
  27864. 3: uint32(0x290557ff),
  27865. 4: uint32(0xfe9586f7),
  27866. 5: uint32(0xf32f97b3),
  27867. 6: uint32(0x9f75cfff),
  27868. 7: uint32(0xfb1771f7),
  27869. },
  27870. },
  27871. 678: {
  27872. Fmap1: [8]TFcChar32{
  27873. 0: uint32(0xee1934ee),
  27874. 1: uint32(0xef6137cc),
  27875. 2: uint32(0xef4c9fd6),
  27876. 3: uint32(0xfbddd68f),
  27877. 4: uint32(0x6def7b73),
  27878. 5: uint32(0xa431d7fe),
  27879. 6: uint32(0x97d75e7f),
  27880. 7: uint32(0xffd80f5b),
  27881. },
  27882. },
  27883. 679: {
  27884. Fmap1: [8]TFcChar32{
  27885. 0: uint32(0x7bce9d83),
  27886. 1: uint32(0xdcff22ec),
  27887. 2: uint32(0xef87763d),
  27888. 3: uint32(0xfdeddfe7),
  27889. 4: uint32(0xa0fc4fff),
  27890. 5: uint32(0xdbfc3b77),
  27891. 6: uint32(0x7fdc3ded),
  27892. 7: uint32(0xf5706fa9),
  27893. },
  27894. },
  27895. 680: {
  27896. Fmap1: [8]TFcChar32{
  27897. 0: uint32(0x2c403ffb),
  27898. 1: uint32(0x847fff7f),
  27899. 2: uint32(0xdeb7ec57),
  27900. 3: uint32(0xf22fe69c),
  27901. 4: uint32(0xd5b50feb),
  27902. 5: uint32(0xede7afeb),
  27903. 6: uint32(0xfff08c2f),
  27904. 7: uint32(0xe8f0537f),
  27905. },
  27906. },
  27907. 681: {
  27908. Fmap1: [8]TFcChar32{
  27909. 0: uint32(0xb5ffb99d),
  27910. 1: uint32(0xe78fff66),
  27911. 2: uint32(0xbe10d981),
  27912. 3: uint32(0xe3c19c7c),
  27913. 4: uint32(0x27339cd1),
  27914. 5: uint32(0xff6d0cbc),
  27915. 6: uint32(0xefb7fcb7),
  27916. 7: uint32(0xffffa0df),
  27917. },
  27918. },
  27919. 682: {
  27920. Fmap1: [8]TFcChar32{
  27921. 0: uint32(0xfe7bbf0b),
  27922. 1: uint32(0x353fa3ff),
  27923. 2: uint32(0x97cd13cc),
  27924. 3: uint32(0xfb277637),
  27925. 4: uint32(0x7e6ccfd6),
  27926. 5: uint32(0xed31ec50),
  27927. 6: uint32(0xfc1c677c),
  27928. 7: uint32(0x5fbff6fa),
  27929. },
  27930. },
  27931. 683: {
  27932. Fmap1: [8]TFcChar32{
  27933. 0: uint32(0xae2f0fba),
  27934. 1: uint32(0x7ffea3ad),
  27935. 2: uint32(0xde74fcf0),
  27936. 3: uint32(0xf200ffef),
  27937. 4: uint32(0xfea2fbbf),
  27938. 5: uint32(0xbcff3daf),
  27939. 6: uint32(0x5fb9f694),
  27940. 7: uint32(0x3f8ff3ad),
  27941. },
  27942. },
  27943. 684: {
  27944. Fmap1: [8]TFcChar32{
  27945. 0: uint32(0xa01ff26c),
  27946. 1: uint32(0x01bfffef),
  27947. 2: uint32(0x70057728),
  27948. 3: uint32(0xda03ff35),
  27949. 4: uint32(0xc7fad2f9),
  27950. 5: uint32(0x5c1d3fbf),
  27951. 6: uint32(0xec33ff3a),
  27952. 7: uint32(0xfe9cb7af),
  27953. },
  27954. },
  27955. 685: {
  27956. Fmap1: [8]TFcChar32{
  27957. 0: uint32(0x7a9f5236),
  27958. 1: uint32(0xe722bffa),
  27959. 2: uint32(0xfcff9ff7),
  27960. 3: uint32(0xb61d2fbb),
  27961. 4: uint32(0x1dfded06),
  27962. 5: uint32(0xefdf7dd7),
  27963. 6: uint32(0xf166eb23),
  27964. 7: uint32(0x0dc07ed9),
  27965. },
  27966. },
  27967. 686: {
  27968. Fmap1: [8]TFcChar32{
  27969. 0: uint32(0xdfbf3d3d),
  27970. 1: uint32(0xba83c945),
  27971. 2: uint32(0x9dd07dd1),
  27972. 3: uint32(0xcf737b87),
  27973. 4: uint32(0xc3f59ff3),
  27974. 5: uint32(0xc5fedf0d),
  27975. 6: uint32(0x83020cb3),
  27976. 7: uint32(0xaec0e879),
  27977. },
  27978. },
  27979. 687: {
  27980. Fmap1: [8]TFcChar32{
  27981. 0: uint32(0x6f0fc773),
  27982. 1: uint32(0x093ffd7d),
  27983. 2: uint32(0x0157fff1),
  27984. 3: uint32(0x01ff62fb),
  27985. 4: uint32(0x3bf3fdb4),
  27986. 5: uint32(0x43b2b013),
  27987. 6: uint32(0xff305ed3),
  27988. 7: uint32(0xeb9f0fff),
  27989. },
  27990. },
  27991. 688: {
  27992. Fmap1: [8]TFcChar32{
  27993. 0: uint32(0xf203feef),
  27994. 1: uint32(0xfb893fef),
  27995. 2: uint32(0x9e9937a9),
  27996. 3: uint32(0xa72cdef9),
  27997. 4: uint32(0xc1f63733),
  27998. 5: uint32(0xfe3e812e),
  27999. 6: uint32(0xf2f75d20),
  28000. 7: uint32(0x69d7d585),
  28001. },
  28002. },
  28003. 689: {
  28004. Fmap1: [8]TFcChar32{
  28005. 0: uint32(0xffffffff),
  28006. 1: uint32(0xff6fdb07),
  28007. 2: uint32(0xd97fc4ff),
  28008. 3: uint32(0xbe0fefce),
  28009. 4: uint32(0xf05ef17b),
  28010. 5: uint32(0xffb7f6cf),
  28011. 6: uint32(0xef845ef7),
  28012. 7: uint32(0x0edfd7cb),
  28013. },
  28014. },
  28015. 690: {
  28016. Fmap1: [8]TFcChar32{
  28017. 0: uint32(0xfcffff08),
  28018. 1: uint32(0xffffee3f),
  28019. 2: uint32(0xd7ff13ff),
  28020. 3: uint32(0x7ffdaf0f),
  28021. 4: uint32(0x1ffabdc7),
  28022. },
  28023. },
  28024. 691: {
  28025. Fmap1: [8]TFcChar32{
  28026. 1: uint32(0xe7400000),
  28027. 2: uint32(0xf933bd38),
  28028. 3: uint32(0xfeed7feb),
  28029. 4: uint32(0x7c767fe8),
  28030. 5: uint32(0xffefb3f7),
  28031. 6: uint32(0xd8b7feaf),
  28032. 7: uint32(0xfbbfff6f),
  28033. },
  28034. },
  28035. 692: {
  28036. Fmap1: [8]TFcChar32{
  28037. 0: uint32(0xdbf7f8fb),
  28038. 1: uint32(0xe2f91752),
  28039. 2: uint32(0x754785c8),
  28040. 3: uint32(0xe3ef9090),
  28041. 4: uint32(0x3f6d9ef4),
  28042. 5: uint32(0x0536ee2e),
  28043. 6: uint32(0x7ff3f7bc),
  28044. 7: uint32(0x7f3fa07b),
  28045. },
  28046. },
  28047. 693: {
  28048. Fmap1: [8]TFcChar32{
  28049. 0: uint32(0xeb600567),
  28050. 1: uint32(0x6601babe),
  28051. 2: uint32(0x583ffcd8),
  28052. 3: uint32(0x87dfcaf7),
  28053. 4: uint32(0xffa0bfcd),
  28054. 5: uint32(0xfebf5bcd),
  28055. 6: uint32(0xefa7b6fd),
  28056. 7: uint32(0xdf9c77ef),
  28057. },
  28058. },
  28059. 694: {
  28060. Fmap1: [8]TFcChar32{
  28061. 0: uint32(0xf8773fb7),
  28062. 1: uint32(0xb7fc9d27),
  28063. 2: uint32(0xdfefcab5),
  28064. 3: uint32(0xf1b6fb5a),
  28065. 4: uint32(0xef1fec39),
  28066. 5: uint32(0x7ffbfbbf),
  28067. 6: uint32(0xdafe000d),
  28068. 7: uint32(0x4e7fbdfb),
  28069. },
  28070. },
  28071. 695: {
  28072. Fmap1: [8]TFcChar32{
  28073. 0: uint32(0x5ac033ff),
  28074. 1: uint32(0x9ffebff5),
  28075. 2: uint32(0x005fffbf),
  28076. 3: uint32(0xfdf80000),
  28077. 4: uint32(0x6ffdffca),
  28078. 5: uint32(0xa001cffd),
  28079. 6: uint32(0xfbf2dfff),
  28080. 7: uint32(0xff7fdfbf),
  28081. },
  28082. },
  28083. 696: {
  28084. Fmap1: [8]TFcChar32{
  28085. 0: uint32(0x080ffeda),
  28086. 1: uint32(0xbfffba08),
  28087. 2: uint32(0xeed77afd),
  28088. 3: uint32(0x67f9fbeb),
  28089. 4: uint32(0xff93e044),
  28090. 5: uint32(0x9f57df97),
  28091. 6: uint32(0x08dffef7),
  28092. 7: uint32(0xfedfdf80),
  28093. },
  28094. },
  28095. 697: {
  28096. Fmap1: [8]TFcChar32{
  28097. 0: uint32(0xf7feffc5),
  28098. 1: uint32(0x6803fffb),
  28099. 2: uint32(0x6bfa67fb),
  28100. 3: uint32(0x5fe27fff),
  28101. 4: uint32(0xff73ffff),
  28102. 5: uint32(0xe7fb87df),
  28103. 6: uint32(0xf7a7ebfd),
  28104. 7: uint32(0xefc7bf7e),
  28105. },
  28106. },
  28107. 698: {
  28108. Fmap1: [8]TFcChar32{
  28109. 0: uint32(0xdf821ef3),
  28110. 1: uint32(0xdf7e76ff),
  28111. 2: uint32(0xda7d79c9),
  28112. 3: uint32(0x1e9befbe),
  28113. 4: uint32(0x77fb7ce0),
  28114. 5: uint32(0xfffb87be),
  28115. 6: uint32(0xffdb1bff),
  28116. 7: uint32(0x4fe03f5c),
  28117. },
  28118. },
  28119. 699: {
  28120. Fmap1: [8]TFcChar32{
  28121. 0: uint32(0x5f0e7fff),
  28122. 1: uint32(0xddbf77ff),
  28123. 2: uint32(0xfffff04f),
  28124. 3: uint32(0x0ff8ffff),
  28125. 4: uint32(0xfddfa3be),
  28126. 5: uint32(0xfffdfc1c),
  28127. 6: uint32(0xfb9e1f7d),
  28128. 7: uint32(0xdedcbdff),
  28129. },
  28130. },
  28131. 700: {
  28132. Fmap1: [8]TFcChar32{
  28133. 0: uint32(0xbafb3f6f),
  28134. 1: uint32(0xfbefdf7f),
  28135. 2: uint32(0x2eec7d1b),
  28136. 3: uint32(0xf2f7af8e),
  28137. 4: uint32(0xcfee7b0f),
  28138. 5: uint32(0x77c61d96),
  28139. 6: uint32(0xfff57e07),
  28140. 7: uint32(0x7fdfd982),
  28141. },
  28142. },
  28143. 701: {
  28144. Fmap1: [8]TFcChar32{
  28145. 0: uint32(0xc7ff5ee6),
  28146. 1: uint32(0x79effeee),
  28147. 2: uint32(0xffcf9a56),
  28148. 3: uint32(0xde5efe5f),
  28149. 4: uint32(0xf9e8896e),
  28150. 5: uint32(0xe6c4f45e),
  28151. 6: uint32(0xbe7c0001),
  28152. 7: uint32(0xdddf3b7f),
  28153. },
  28154. },
  28155. 702: {
  28156. Fmap1: [8]TFcChar32{
  28157. 0: uint32(0xe9efd59d),
  28158. 1: uint32(0xde5334ac),
  28159. 2: uint32(0x4bf7f573),
  28160. 3: uint32(0x9eff7b4f),
  28161. 4: uint32(0x476eb8fe),
  28162. 5: uint32(0xff450dfb),
  28163. 6: uint32(0xfbfeabfd),
  28164. 7: uint32(0xddffe9d7),
  28165. },
  28166. },
  28167. 703: {
  28168. Fmap1: [8]TFcChar32{
  28169. 0: uint32(0x7fffedf7),
  28170. 1: uint32(0x7eebddfd),
  28171. 2: uint32(0xb7ffcfe7),
  28172. 3: uint32(0xef91bde9),
  28173. 4: uint32(0xd77c5d75),
  28174. },
  28175. },
  28176. 704: {
  28177. Fmap1: [8]TFcChar32{
  28178. 1: uint32(0xfa800000),
  28179. 2: uint32(0xb4f1ffee),
  28180. 3: uint32(0x2fefbf76),
  28181. 4: uint32(0x77bfb677),
  28182. 5: uint32(0xfffd9fbf),
  28183. 6: uint32(0xf6ae95bf),
  28184. 7: uint32(0x7f3b75ff),
  28185. },
  28186. },
  28187. 705: {
  28188. Fmap1: [8]TFcChar32{
  28189. 0: uint32(0x0af9a7f5),
  28190. 3: uint32(0x2bddfbd0),
  28191. 4: uint32(0x9a7ff633),
  28192. 5: uint32(0xd6fcfdab),
  28193. 6: uint32(0xbfebf9e6),
  28194. 7: uint32(0xf41fdfdf),
  28195. },
  28196. },
  28197. 706: {
  28198. Fmap1: [8]TFcChar32{
  28199. 0: uint32(0xffffa6fd),
  28200. 1: uint32(0xf37b4aff),
  28201. 2: uint32(0xfef97fb7),
  28202. 3: uint32(0x1d5cb6ff),
  28203. 4: uint32(0xe5ff7ff6),
  28204. 5: uint32(0x24041f7b),
  28205. 6: uint32(0xf99ebe05),
  28206. 7: uint32(0xdff2dbe3),
  28207. },
  28208. },
  28209. 707: {
  28210. Fmap1: [8]TFcChar32{
  28211. 0: uint32(0xfdff6fef),
  28212. 1: uint32(0xcbfcd679),
  28213. 2: uint32(0xefffebfd),
  28214. 3: uint32(0x0000001f),
  28215. 4: uint32(0x98000000),
  28216. 5: uint32(0x8017e148),
  28217. 6: uint32(0x00fe6a74),
  28218. 7: uint32(0xfdf16d7f),
  28219. },
  28220. },
  28221. 708: {
  28222. Fmap1: [8]TFcChar32{
  28223. 0: uint32(0xfef3b87f),
  28224. 1: uint32(0xf176e01f),
  28225. 2: uint32(0x7b3fee96),
  28226. 3: uint32(0xfffdeb8d),
  28227. 4: uint32(0xcbb3adff),
  28228. 5: uint32(0xe17f84ef),
  28229. 6: uint32(0xbff04daa),
  28230. 7: uint32(0xfe3fbf3f),
  28231. },
  28232. },
  28233. 709: {
  28234. Fmap1: [8]TFcChar32{
  28235. 0: uint32(0xffd7ebff),
  28236. 1: uint32(0xcf7fffdf),
  28237. 2: uint32(0x85edfffb),
  28238. 3: uint32(0x07bcd73f),
  28239. 4: uint32(0xfe0faeff),
  28240. 5: uint32(0x76bffdaf),
  28241. 6: uint32(0x37bbfaef),
  28242. 7: uint32(0xa3ba7fdc),
  28243. },
  28244. },
  28245. 710: {
  28246. Fmap1: [8]TFcChar32{
  28247. 0: uint32(0x56f7b6ff),
  28248. 1: uint32(0xe7df60f8),
  28249. 2: uint32(0x4cdfff61),
  28250. 3: uint32(0xff45b0fb),
  28251. 4: uint32(0x3ffa7ded),
  28252. 5: uint32(0x18fc1fff),
  28253. 6: uint32(0xe3afffff),
  28254. 7: uint32(0xdf83c7d3),
  28255. },
  28256. },
  28257. 711: {
  28258. Fmap1: [8]TFcChar32{
  28259. 0: uint32(0xef7dfb57),
  28260. 1: uint32(0x1378efff),
  28261. 2: uint32(0x5ff7fec0),
  28262. 3: uint32(0x5ee334bb),
  28263. 4: uint32(0xeff6f70d),
  28264. 5: uint32(0x00bfd7fe),
  28265. 6: uint32(0xf7f7f59d),
  28266. 7: uint32(0xffe051de),
  28267. },
  28268. },
  28269. 712: {
  28270. Fmap1: [8]TFcChar32{
  28271. 0: uint32(0x037ffec9),
  28272. 1: uint32(0xbfef5f01),
  28273. 2: uint32(0x60a79ff1),
  28274. 3: uint32(0xf1ffef1d),
  28275. 4: uint32(0x0000000f),
  28276. },
  28277. },
  28278. 713: {
  28279. Fmap1: [8]TFcChar32{
  28280. 3: uint32(0x3c800000),
  28281. 4: uint32(0xd91ffb4d),
  28282. 5: uint32(0xfee37b3a),
  28283. 6: uint32(0xdc7f3fe9),
  28284. 7: uint32(0x0000003f),
  28285. },
  28286. },
  28287. 714: {
  28288. Fmap1: [8]TFcChar32{
  28289. 0: uint32(0x50000000),
  28290. 1: uint32(0xbe07f51f),
  28291. 2: uint32(0xf91bfc1d),
  28292. 3: uint32(0x71ffbc1e),
  28293. 4: uint32(0x5bbe6ff9),
  28294. 5: uint32(0x9b1b5796),
  28295. 6: uint32(0xfffc7fff),
  28296. 7: uint32(0xafe7872e),
  28297. },
  28298. },
  28299. 715: {
  28300. Fmap1: [8]TFcChar32{
  28301. 0: uint32(0xf34febf5),
  28302. 1: uint32(0xe725dffd),
  28303. 2: uint32(0x5d440bdc),
  28304. 3: uint32(0xfddd5747),
  28305. 4: uint32(0x7790ed3f),
  28306. 5: uint32(0x8ac87d7f),
  28307. 6: uint32(0xf3f9fafa),
  28308. 7: uint32(0xef4b202a),
  28309. },
  28310. },
  28311. 716: {
  28312. Fmap1: [8]TFcChar32{
  28313. 0: uint32(0x79cff5ff),
  28314. 1: uint32(0x0ba5abd3),
  28315. 2: uint32(0xfb8ff77a),
  28316. 3: uint32(0x001f8ebd),
  28317. 5: uint32(0xfd4ef300),
  28318. 6: uint32(0x88001a57),
  28319. 7: uint32(0x7654aeac),
  28320. },
  28321. },
  28322. 717: {
  28323. Fmap1: [8]TFcChar32{
  28324. 0: uint32(0xcdff17ad),
  28325. 1: uint32(0xf42fffb2),
  28326. 2: uint32(0xdbff5baa),
  28327. 3: uint32(0x00000002),
  28328. 4: uint32(0x73c00000),
  28329. 5: uint32(0x2e3ff9ea),
  28330. 6: uint32(0xbbfffa8e),
  28331. 7: uint32(0xffd376bc),
  28332. },
  28333. },
  28334. 718: {
  28335. Fmap1: [8]TFcChar32{
  28336. 0: uint32(0x7e72eefe),
  28337. 1: uint32(0xe7f77ebd),
  28338. 2: uint32(0xcefdf77f),
  28339. 3: uint32(0x00000ff5),
  28340. 5: uint32(0xdb9ba900),
  28341. 6: uint32(0x917fa4c7),
  28342. 7: uint32(0x7ecef8ca),
  28343. },
  28344. },
  28345. 719: {
  28346. Fmap1: [8]TFcChar32{
  28347. 0: uint32(0xc7e77d7a),
  28348. 1: uint32(0xdcaecbbd),
  28349. 2: uint32(0x8f76fd7e),
  28350. 3: uint32(0x7cf391d3),
  28351. 4: uint32(0x4c2f01e5),
  28352. 5: uint32(0xa360ed77),
  28353. 6: uint32(0x5ef807db),
  28354. 7: uint32(0x21811df7),
  28355. },
  28356. },
  28357. 720: {
  28358. Fmap1: [8]TFcChar32{
  28359. 0: uint32(0x309c6be0),
  28360. 1: uint32(0xfade3b3a),
  28361. 2: uint32(0xc3f57f53),
  28362. 3: uint32(0x07ba61cd),
  28363. 7: uint32(0xbefe26e0),
  28364. },
  28365. },
  28366. 721: {
  28367. Fmap1: [8]TFcChar32{
  28368. 0: uint32(0xebb503f9),
  28369. 1: uint32(0xe9cbe36d),
  28370. 2: uint32(0xbfde9c2f),
  28371. 3: uint32(0xabbf9f83),
  28372. 4: uint32(0xffd51ff7),
  28373. 5: uint32(0xdffeb7df),
  28374. 6: uint32(0xffeffdae),
  28375. 7: uint32(0xeffdfb7e),
  28376. },
  28377. },
  28378. 722: {
  28379. Fmap1: [8]TFcChar32{
  28380. 0: uint32(0x6ebfaaff),
  28381. 3: uint32(0xb6200000),
  28382. 4: uint32(0xbe9e7fcd),
  28383. 5: uint32(0x58f162b3),
  28384. 6: uint32(0xfd7bf10d),
  28385. 7: uint32(0xbefde9f1),
  28386. },
  28387. },
  28388. 723: {
  28389. Fmap1: [8]TFcChar32{
  28390. 0: uint32(0x5f6dc6c3),
  28391. 1: uint32(0x69ffff3d),
  28392. 2: uint32(0xfbf4ffcf),
  28393. 3: uint32(0x4ff7dcfb),
  28394. 4: uint32(0x11372000),
  28395. 5: uint32(0x00000015),
  28396. },
  28397. },
  28398. 724: {
  28399. Fmap1: [8]TFcChar32{
  28400. 0: uint32(0x00003000),
  28401. },
  28402. },
  28403. },
  28404. Fleaf_offsets: [780]Tuintptr_t{
  28405. 0: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(0)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(0)*libc.Uint32FromInt64(4)),
  28406. 1: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(1)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(1)*libc.Uint32FromInt64(4)),
  28407. 2: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(2)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(2)*libc.Uint32FromInt64(4)),
  28408. 3: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(3)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(2)*libc.Uint32FromInt64(4)),
  28409. 4: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(4)),
  28410. 5: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(5)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(4)),
  28411. 6: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(6)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(4)),
  28412. 7: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(7)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(4)),
  28413. 8: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(8)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(4)),
  28414. 9: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(9)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(9)*libc.Uint32FromInt64(4)),
  28415. 10: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(10)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(9)*libc.Uint32FromInt64(4)),
  28416. 11: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(4)),
  28417. 12: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(12)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(12)*libc.Uint32FromInt64(4)),
  28418. 13: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(13)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(13)*libc.Uint32FromInt64(4)),
  28419. 14: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(11)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(14)*libc.Uint32FromInt64(4)),
  28420. 15: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(14)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(14)*libc.Uint32FromInt64(4)),
  28421. 16: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(15)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(16)*libc.Uint32FromInt64(4)),
  28422. 17: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(16)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(17)*libc.Uint32FromInt64(4)),
  28423. 18: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(17)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(18)*libc.Uint32FromInt64(4)),
  28424. 19: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(18)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(18)*libc.Uint32FromInt64(4)),
  28425. 20: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(19)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(18)*libc.Uint32FromInt64(4)),
  28426. 21: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(20)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(21)*libc.Uint32FromInt64(4)),
  28427. 22: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(21)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(22)*libc.Uint32FromInt64(4)),
  28428. 23: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(22)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(4)),
  28429. 24: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(4)),
  28430. 25: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(4)),
  28431. 26: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(25)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(4)),
  28432. 27: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(26)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(24)*libc.Uint32FromInt64(4)),
  28433. 28: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(27)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(28)*libc.Uint32FromInt64(4)),
  28434. 29: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(28)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(29)*libc.Uint32FromInt64(4)),
  28435. 30: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(29)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(4)),
  28436. 31: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(30)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(31)*libc.Uint32FromInt64(4)),
  28437. 32: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(31)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(32)*libc.Uint32FromInt64(4)),
  28438. 33: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(32)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(32)*libc.Uint32FromInt64(4)),
  28439. 34: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(33)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(32)*libc.Uint32FromInt64(4)),
  28440. 35: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(35)*libc.Uint32FromInt64(4)),
  28441. 36: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(34)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(35)*libc.Uint32FromInt64(4)),
  28442. 37: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(35)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(35)*libc.Uint32FromInt64(4)),
  28443. 38: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(36)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(38)*libc.Uint32FromInt64(4)),
  28444. 39: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(37)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(39)*libc.Uint32FromInt64(4)),
  28445. 40: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(38)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(40)*libc.Uint32FromInt64(4)),
  28446. 41: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(39)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(41)*libc.Uint32FromInt64(4)),
  28447. 42: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(4)),
  28448. 43: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(40)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(4)),
  28449. 44: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(41)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(44)*libc.Uint32FromInt64(4)),
  28450. 45: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(42)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(45)*libc.Uint32FromInt64(4)),
  28451. 46: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(43)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(45)*libc.Uint32FromInt64(4)),
  28452. 47: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(44)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(47)*libc.Uint32FromInt64(4)),
  28453. 48: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(45)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(47)*libc.Uint32FromInt64(4)),
  28454. 49: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(46)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(49)*libc.Uint32FromInt64(4)),
  28455. 50: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(47)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(50)*libc.Uint32FromInt64(4)),
  28456. 51: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(48)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(51)*libc.Uint32FromInt64(4)),
  28457. 52: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(49)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(52)*libc.Uint32FromInt64(4)),
  28458. 53: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(50)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(52)*libc.Uint32FromInt64(4)),
  28459. 54: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(51)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(54)*libc.Uint32FromInt64(4)),
  28460. 55: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(52)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(54)*libc.Uint32FromInt64(4)),
  28461. 56: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(53)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(56)*libc.Uint32FromInt64(4)),
  28462. 57: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(54)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(56)*libc.Uint32FromInt64(4)),
  28463. 58: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(55)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(58)*libc.Uint32FromInt64(4)),
  28464. 59: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(56)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(58)*libc.Uint32FromInt64(4)),
  28465. 60: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(57)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(60)*libc.Uint32FromInt64(4)),
  28466. 61: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(58)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(61)*libc.Uint32FromInt64(4)),
  28467. 62: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(59)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(61)*libc.Uint32FromInt64(4)),
  28468. 63: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(60)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(63)*libc.Uint32FromInt64(4)),
  28469. 64: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(61)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(63)*libc.Uint32FromInt64(4)),
  28470. 65: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(62)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(63)*libc.Uint32FromInt64(4)),
  28471. 66: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(63)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(66)*libc.Uint32FromInt64(4)),
  28472. 67: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(64)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(67)*libc.Uint32FromInt64(4)),
  28473. 68: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(65)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(68)*libc.Uint32FromInt64(4)),
  28474. 69: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(66)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(69)*libc.Uint32FromInt64(4)),
  28475. 70: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(31)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(70)*libc.Uint32FromInt64(4)),
  28476. 71: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(67)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(70)*libc.Uint32FromInt64(4)),
  28477. 72: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(68)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(70)*libc.Uint32FromInt64(4)),
  28478. 73: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(69)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(70)*libc.Uint32FromInt64(4)),
  28479. 74: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(70)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(74)*libc.Uint32FromInt64(4)),
  28480. 75: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(71)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(75)*libc.Uint32FromInt64(4)),
  28481. 76: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(76)*libc.Uint32FromInt64(4)),
  28482. 77: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(72)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(76)*libc.Uint32FromInt64(4)),
  28483. 78: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(73)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(78)*libc.Uint32FromInt64(4)),
  28484. 79: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(74)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(78)*libc.Uint32FromInt64(4)),
  28485. 80: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(75)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(80)*libc.Uint32FromInt64(4)),
  28486. 81: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(81)*libc.Uint32FromInt64(4)),
  28487. 82: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(76)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(81)*libc.Uint32FromInt64(4)),
  28488. 83: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(77)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(81)*libc.Uint32FromInt64(4)),
  28489. 84: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(78)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(84)*libc.Uint32FromInt64(4)),
  28490. 85: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(74)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(84)*libc.Uint32FromInt64(4)),
  28491. 86: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(79)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(86)*libc.Uint32FromInt64(4)),
  28492. 87: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(4)),
  28493. 88: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(80)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(88)*libc.Uint32FromInt64(4)),
  28494. 89: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(81)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(89)*libc.Uint32FromInt64(4)),
  28495. 90: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(82)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(90)*libc.Uint32FromInt64(4)),
  28496. 91: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(83)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(91)*libc.Uint32FromInt64(4)),
  28497. 92: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(84)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(91)*libc.Uint32FromInt64(4)),
  28498. 93: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(85)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(91)*libc.Uint32FromInt64(4)),
  28499. 94: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(86)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(94)*libc.Uint32FromInt64(4)),
  28500. 95: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(87)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(95)*libc.Uint32FromInt64(4)),
  28501. 96: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(88)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(95)*libc.Uint32FromInt64(4)),
  28502. 97: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(89)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(97)*libc.Uint32FromInt64(4)),
  28503. 98: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(90)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(97)*libc.Uint32FromInt64(4)),
  28504. 99: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(91)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(97)*libc.Uint32FromInt64(4)),
  28505. 100: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(92)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(100)*libc.Uint32FromInt64(4)),
  28506. 101: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(93)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(101)*libc.Uint32FromInt64(4)),
  28507. 102: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(102)*libc.Uint32FromInt64(4)),
  28508. 103: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(94)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(102)*libc.Uint32FromInt64(4)),
  28509. 104: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(95)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(102)*libc.Uint32FromInt64(4)),
  28510. 105: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(105)*libc.Uint32FromInt64(4)),
  28511. 106: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(96)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(105)*libc.Uint32FromInt64(4)),
  28512. 107: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(97)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(105)*libc.Uint32FromInt64(4)),
  28513. 108: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(98)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(108)*libc.Uint32FromInt64(4)),
  28514. 109: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(99)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(109)*libc.Uint32FromInt64(4)),
  28515. 110: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(100)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(109)*libc.Uint32FromInt64(4)),
  28516. 111: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(101)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(111)*libc.Uint32FromInt64(4)),
  28517. 112: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(102)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(112)*libc.Uint32FromInt64(4)),
  28518. 113: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(103)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(112)*libc.Uint32FromInt64(4)),
  28519. 114: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(104)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(114)*libc.Uint32FromInt64(4)),
  28520. 115: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(115)*libc.Uint32FromInt64(4)),
  28521. 116: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(105)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(115)*libc.Uint32FromInt64(4)),
  28522. 117: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(106)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(115)*libc.Uint32FromInt64(4)),
  28523. 118: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(107)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(118)*libc.Uint32FromInt64(4)),
  28524. 119: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(53)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(119)*libc.Uint32FromInt64(4)),
  28525. 120: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(120)*libc.Uint32FromInt64(4)),
  28526. 121: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(108)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(120)*libc.Uint32FromInt64(4)),
  28527. 122: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(109)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(122)*libc.Uint32FromInt64(4)),
  28528. 123: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(109)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(122)*libc.Uint32FromInt64(4)),
  28529. 124: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(109)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(122)*libc.Uint32FromInt64(4)),
  28530. 125: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(109)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(122)*libc.Uint32FromInt64(4)),
  28531. 126: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(110)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(122)*libc.Uint32FromInt64(4)),
  28532. 127: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(111)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(127)*libc.Uint32FromInt64(4)),
  28533. 128: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(112)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(128)*libc.Uint32FromInt64(4)),
  28534. 129: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(113)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(129)*libc.Uint32FromInt64(4)),
  28535. 130: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(114)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(130)*libc.Uint32FromInt64(4)),
  28536. 131: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(115)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(130)*libc.Uint32FromInt64(4)),
  28537. 132: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(116)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(130)*libc.Uint32FromInt64(4)),
  28538. 133: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(117)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28539. 134: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(118)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28540. 135: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(119)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28541. 136: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(120)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28542. 137: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(121)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28543. 138: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(122)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28544. 139: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(123)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28545. 140: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(124)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28546. 141: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(125)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28547. 142: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(126)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28548. 143: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(127)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28549. 144: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(128)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28550. 145: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(129)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28551. 146: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(130)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28552. 147: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(131)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28553. 148: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(132)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28554. 149: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28555. 150: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(134)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28556. 151: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(135)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28557. 152: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(136)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28558. 153: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(137)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28559. 154: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(138)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28560. 155: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(139)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28561. 156: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(140)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28562. 157: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(141)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28563. 158: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(142)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28564. 159: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(143)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28565. 160: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(144)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28566. 161: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(145)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28567. 162: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(146)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28568. 163: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(147)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28569. 164: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(148)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28570. 165: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(149)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28571. 166: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(150)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28572. 167: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(151)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28573. 168: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(152)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28574. 169: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(153)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28575. 170: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(154)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28576. 171: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(155)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28577. 172: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(156)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28578. 173: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(157)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28579. 174: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(158)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28580. 175: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(159)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28581. 176: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(160)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28582. 177: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(161)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28583. 178: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(162)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28584. 179: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(163)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28585. 180: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(164)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28586. 181: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(165)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28587. 182: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(166)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28588. 183: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(167)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28589. 184: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(168)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28590. 185: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(169)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28591. 186: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(170)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28592. 187: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(171)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28593. 188: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(172)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28594. 189: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(173)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28595. 190: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(174)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28596. 191: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(175)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28597. 192: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(176)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28598. 193: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(177)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28599. 194: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(178)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28600. 195: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(179)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28601. 196: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(180)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28602. 197: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(181)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28603. 198: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(182)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28604. 199: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(183)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28605. 200: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(184)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28606. 201: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(185)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28607. 202: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(186)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28608. 203: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(187)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28609. 204: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(188)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28610. 205: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(189)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28611. 206: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(190)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28612. 207: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(191)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28613. 208: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(192)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28614. 209: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(193)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28615. 210: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(194)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28616. 211: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(195)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28617. 212: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(196)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28618. 213: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(197)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28619. 214: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(198)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28620. 215: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(199)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(133)*libc.Uint32FromInt64(4)),
  28621. 216: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(200)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(216)*libc.Uint32FromInt64(4)),
  28622. 217: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(201)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(217)*libc.Uint32FromInt64(4)),
  28623. 218: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(202)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(218)*libc.Uint32FromInt64(4)),
  28624. 219: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(219)*libc.Uint32FromInt64(4)),
  28625. 220: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(203)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(219)*libc.Uint32FromInt64(4)),
  28626. 221: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(204)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(221)*libc.Uint32FromInt64(4)),
  28627. 222: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(205)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(222)*libc.Uint32FromInt64(4)),
  28628. 223: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(206)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(222)*libc.Uint32FromInt64(4)),
  28629. 224: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(207)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(224)*libc.Uint32FromInt64(4)),
  28630. 225: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(208)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(225)*libc.Uint32FromInt64(4)),
  28631. 226: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(209)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28632. 227: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(210)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28633. 228: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(211)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28634. 229: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(212)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28635. 230: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(213)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28636. 231: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(214)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28637. 232: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(215)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28638. 233: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(216)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28639. 234: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(217)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28640. 235: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(218)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28641. 236: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(219)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28642. 237: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(220)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28643. 238: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(221)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28644. 239: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(222)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28645. 240: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(223)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28646. 241: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(224)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28647. 242: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(225)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28648. 243: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28649. 244: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(227)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28650. 245: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(228)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28651. 246: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(229)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28652. 247: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(230)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28653. 248: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(231)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28654. 249: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(232)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28655. 250: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(233)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28656. 251: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(234)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28657. 252: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(235)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28658. 253: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(236)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28659. 254: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(237)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28660. 255: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(238)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28661. 256: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(239)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28662. 257: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(240)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28663. 258: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(241)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28664. 259: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(242)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28665. 260: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(243)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28666. 261: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(244)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28667. 262: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(245)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28668. 263: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28669. 264: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(247)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28670. 265: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(248)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28671. 266: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(249)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28672. 267: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(250)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28673. 268: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(251)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28674. 269: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(252)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28675. 270: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(253)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(226)*libc.Uint32FromInt64(4)),
  28676. 271: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(271)*libc.Uint32FromInt64(4)),
  28677. 272: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(254)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(271)*libc.Uint32FromInt64(4)),
  28678. 273: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(255)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(271)*libc.Uint32FromInt64(4)),
  28679. 274: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(256)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(274)*libc.Uint32FromInt64(4)),
  28680. 275: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(257)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(275)*libc.Uint32FromInt64(4)),
  28681. 276: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(258)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(275)*libc.Uint32FromInt64(4)),
  28682. 277: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(259)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(277)*libc.Uint32FromInt64(4)),
  28683. 278: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(260)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(278)*libc.Uint32FromInt64(4)),
  28684. 279: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(261)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(278)*libc.Uint32FromInt64(4)),
  28685. 280: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(262)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(4)),
  28686. 281: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(263)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(281)*libc.Uint32FromInt64(4)),
  28687. 282: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(282)*libc.Uint32FromInt64(4)),
  28688. 283: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(96)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(282)*libc.Uint32FromInt64(4)),
  28689. 284: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(264)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(282)*libc.Uint32FromInt64(4)),
  28690. 285: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(265)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(285)*libc.Uint32FromInt64(4)),
  28691. 286: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(286)*libc.Uint32FromInt64(4)),
  28692. 287: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(266)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(286)*libc.Uint32FromInt64(4)),
  28693. 288: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(267)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(288)*libc.Uint32FromInt64(4)),
  28694. 289: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(268)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(289)*libc.Uint32FromInt64(4)),
  28695. 290: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(290)*libc.Uint32FromInt64(4)),
  28696. 291: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(269)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(290)*libc.Uint32FromInt64(4)),
  28697. 292: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(270)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(292)*libc.Uint32FromInt64(4)),
  28698. 293: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(271)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(293)*libc.Uint32FromInt64(4)),
  28699. 294: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(272)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(293)*libc.Uint32FromInt64(4)),
  28700. 295: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(6)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(293)*libc.Uint32FromInt64(4)),
  28701. 296: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(273)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(293)*libc.Uint32FromInt64(4)),
  28702. 297: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(274)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(297)*libc.Uint32FromInt64(4)),
  28703. 298: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(298)*libc.Uint32FromInt64(4)),
  28704. 299: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(275)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(298)*libc.Uint32FromInt64(4)),
  28705. 300: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(300)*libc.Uint32FromInt64(4)),
  28706. 301: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(276)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(300)*libc.Uint32FromInt64(4)),
  28707. 302: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(277)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(302)*libc.Uint32FromInt64(4)),
  28708. 303: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(303)*libc.Uint32FromInt64(4)),
  28709. 304: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(278)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(303)*libc.Uint32FromInt64(4)),
  28710. 305: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(305)*libc.Uint32FromInt64(4)),
  28711. 306: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(96)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(305)*libc.Uint32FromInt64(4)),
  28712. 307: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(279)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(305)*libc.Uint32FromInt64(4)),
  28713. 308: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(280)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(308)*libc.Uint32FromInt64(4)),
  28714. 309: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(281)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(309)*libc.Uint32FromInt64(4)),
  28715. 310: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(282)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(310)*libc.Uint32FromInt64(4)),
  28716. 311: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(283)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(311)*libc.Uint32FromInt64(4)),
  28717. 312: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(284)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(312)*libc.Uint32FromInt64(4)),
  28718. 313: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(285)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(313)*libc.Uint32FromInt64(4)),
  28719. 314: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(58)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(313)*libc.Uint32FromInt64(4)),
  28720. 315: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(286)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(313)*libc.Uint32FromInt64(4)),
  28721. 316: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(262)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(313)*libc.Uint32FromInt64(4)),
  28722. 317: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(287)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(317)*libc.Uint32FromInt64(4)),
  28723. 318: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(288)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(317)*libc.Uint32FromInt64(4)),
  28724. 319: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(289)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(319)*libc.Uint32FromInt64(4)),
  28725. 320: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(4)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(320)*libc.Uint32FromInt64(4)),
  28726. 321: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(290)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(320)*libc.Uint32FromInt64(4)),
  28727. 322: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(291)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(322)*libc.Uint32FromInt64(4)),
  28728. 323: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(292)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(323)*libc.Uint32FromInt64(4)),
  28729. 324: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(293)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(324)*libc.Uint32FromInt64(4)),
  28730. 325: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(294)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(325)*libc.Uint32FromInt64(4)),
  28731. 326: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(295)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(326)*libc.Uint32FromInt64(4)),
  28732. 327: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(296)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(327)*libc.Uint32FromInt64(4)),
  28733. 328: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(297)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(327)*libc.Uint32FromInt64(4)),
  28734. 329: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(298)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(329)*libc.Uint32FromInt64(4)),
  28735. 330: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(299)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(329)*libc.Uint32FromInt64(4)),
  28736. 331: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(300)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(329)*libc.Uint32FromInt64(4)),
  28737. 332: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(301)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(329)*libc.Uint32FromInt64(4)),
  28738. 333: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(333)*libc.Uint32FromInt64(4)),
  28739. 334: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(302)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(333)*libc.Uint32FromInt64(4)),
  28740. 335: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(303)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(335)*libc.Uint32FromInt64(4)),
  28741. 336: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(304)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(336)*libc.Uint32FromInt64(4)),
  28742. 337: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(305)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(337)*libc.Uint32FromInt64(4)),
  28743. 338: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(306)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(338)*libc.Uint32FromInt64(4)),
  28744. 339: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(307)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(339)*libc.Uint32FromInt64(4)),
  28745. 340: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(308)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(340)*libc.Uint32FromInt64(4)),
  28746. 341: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(99)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(341)*libc.Uint32FromInt64(4)),
  28747. 342: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(309)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(341)*libc.Uint32FromInt64(4)),
  28748. 343: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(310)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(343)*libc.Uint32FromInt64(4)),
  28749. 344: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(311)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(344)*libc.Uint32FromInt64(4)),
  28750. 345: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(312)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(345)*libc.Uint32FromInt64(4)),
  28751. 346: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(308)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(346)*libc.Uint32FromInt64(4)),
  28752. 347: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(313)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(346)*libc.Uint32FromInt64(4)),
  28753. 348: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(314)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(348)*libc.Uint32FromInt64(4)),
  28754. 349: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(285)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(349)*libc.Uint32FromInt64(4)),
  28755. 350: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(58)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(349)*libc.Uint32FromInt64(4)),
  28756. 351: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(286)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(349)*libc.Uint32FromInt64(4)),
  28757. 352: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(315)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(352)*libc.Uint32FromInt64(4)),
  28758. 353: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(316)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(353)*libc.Uint32FromInt64(4)),
  28759. 354: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(317)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(354)*libc.Uint32FromInt64(4)),
  28760. 355: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(355)*libc.Uint32FromInt64(4)),
  28761. 356: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(318)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(355)*libc.Uint32FromInt64(4)),
  28762. 357: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(319)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(355)*libc.Uint32FromInt64(4)),
  28763. 358: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(320)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(358)*libc.Uint32FromInt64(4)),
  28764. 359: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(321)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(359)*libc.Uint32FromInt64(4)),
  28765. 360: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(322)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(359)*libc.Uint32FromInt64(4)),
  28766. 361: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(323)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(361)*libc.Uint32FromInt64(4)),
  28767. 362: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(362)*libc.Uint32FromInt64(4)),
  28768. 363: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(40)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(362)*libc.Uint32FromInt64(4)),
  28769. 364: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(324)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(362)*libc.Uint32FromInt64(4)),
  28770. 365: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(325)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(365)*libc.Uint32FromInt64(4)),
  28771. 366: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(326)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(365)*libc.Uint32FromInt64(4)),
  28772. 367: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(327)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(367)*libc.Uint32FromInt64(4)),
  28773. 368: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(328)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(4)),
  28774. 369: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(10)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(4)),
  28775. 370: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(329)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(370)*libc.Uint32FromInt64(4)),
  28776. 371: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(330)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(370)*libc.Uint32FromInt64(4)),
  28777. 372: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(372)*libc.Uint32FromInt64(4)),
  28778. 373: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(97)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(372)*libc.Uint32FromInt64(4)),
  28779. 374: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(331)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(374)*libc.Uint32FromInt64(4)),
  28780. 375: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(332)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(375)*libc.Uint32FromInt64(4)),
  28781. 376: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(333)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(376)*libc.Uint32FromInt64(4)),
  28782. 377: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(334)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(376)*libc.Uint32FromInt64(4)),
  28783. 378: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(335)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(378)*libc.Uint32FromInt64(4)),
  28784. 379: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(336)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(378)*libc.Uint32FromInt64(4)),
  28785. 380: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(337)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(378)*libc.Uint32FromInt64(4)),
  28786. 381: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(338)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(381)*libc.Uint32FromInt64(4)),
  28787. 382: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(339)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(382)*libc.Uint32FromInt64(4)),
  28788. 383: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(340)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(383)*libc.Uint32FromInt64(4)),
  28789. 384: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(341)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(384)*libc.Uint32FromInt64(4)),
  28790. 385: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(342)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(385)*libc.Uint32FromInt64(4)),
  28791. 386: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(343)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(386)*libc.Uint32FromInt64(4)),
  28792. 387: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(344)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(387)*libc.Uint32FromInt64(4)),
  28793. 388: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(345)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(388)*libc.Uint32FromInt64(4)),
  28794. 389: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(346)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(389)*libc.Uint32FromInt64(4)),
  28795. 390: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(43)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(389)*libc.Uint32FromInt64(4)),
  28796. 391: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(347)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(391)*libc.Uint32FromInt64(4)),
  28797. 392: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(348)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(391)*libc.Uint32FromInt64(4)),
  28798. 393: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(349)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(393)*libc.Uint32FromInt64(4)),
  28799. 394: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(52)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(393)*libc.Uint32FromInt64(4)),
  28800. 395: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(350)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(395)*libc.Uint32FromInt64(4)),
  28801. 396: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(351)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(396)*libc.Uint32FromInt64(4)),
  28802. 397: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(96)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(396)*libc.Uint32FromInt64(4)),
  28803. 398: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(300)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(396)*libc.Uint32FromInt64(4)),
  28804. 399: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(352)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(399)*libc.Uint32FromInt64(4)),
  28805. 400: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(353)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(400)*libc.Uint32FromInt64(4)),
  28806. 401: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(354)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28807. 402: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(355)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28808. 403: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(356)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28809. 404: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(357)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28810. 405: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(358)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28811. 406: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(359)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28812. 407: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(360)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28813. 408: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(361)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28814. 409: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(362)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28815. 410: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(363)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28816. 411: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(364)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28817. 412: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(365)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(4)),
  28818. 413: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(366)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28819. 414: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(367)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28820. 415: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(368)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28821. 416: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(369)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28822. 417: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(370)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28823. 418: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(371)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28824. 419: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(372)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28825. 420: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(373)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28826. 421: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(374)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28827. 422: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(375)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28828. 423: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(376)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28829. 424: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(377)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(4)),
  28830. 425: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(23)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(425)*libc.Uint32FromInt64(4)),
  28831. 426: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(378)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(425)*libc.Uint32FromInt64(4)),
  28832. 427: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(379)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(427)*libc.Uint32FromInt64(4)),
  28833. 428: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(380)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(427)*libc.Uint32FromInt64(4)),
  28834. 429: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(381)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(427)*libc.Uint32FromInt64(4)),
  28835. 430: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(382)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(427)*libc.Uint32FromInt64(4)),
  28836. 431: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(383)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(431)*libc.Uint32FromInt64(4)),
  28837. 432: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(384)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(432)*libc.Uint32FromInt64(4)),
  28838. 433: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(74)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(432)*libc.Uint32FromInt64(4)),
  28839. 434: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(385)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(434)*libc.Uint32FromInt64(4)),
  28840. 435: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(99)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(435)*libc.Uint32FromInt64(4)),
  28841. 436: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(386)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(435)*libc.Uint32FromInt64(4)),
  28842. 437: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(387)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(437)*libc.Uint32FromInt64(4)),
  28843. 438: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(269)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(437)*libc.Uint32FromInt64(4)),
  28844. 439: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(388)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(439)*libc.Uint32FromInt64(4)),
  28845. 440: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(389)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(440)*libc.Uint32FromInt64(4)),
  28846. 441: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(390)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(440)*libc.Uint32FromInt64(4)),
  28847. 442: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(391)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(440)*libc.Uint32FromInt64(4)),
  28848. 443: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(392)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(440)*libc.Uint32FromInt64(4)),
  28849. 444: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(393)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28850. 445: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(394)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28851. 446: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(395)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28852. 447: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(396)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28853. 448: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(397)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28854. 449: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(398)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28855. 450: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(399)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28856. 451: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(400)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28857. 452: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(401)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28858. 453: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(402)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28859. 454: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(403)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28860. 455: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(404)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28861. 456: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(405)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28862. 457: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(406)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28863. 458: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(407)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28864. 459: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(408)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28865. 460: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(409)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28866. 461: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(410)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28867. 462: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(411)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28868. 463: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(412)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28869. 464: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(413)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28870. 465: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(414)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28871. 466: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(415)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28872. 467: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(416)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28873. 468: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(417)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28874. 469: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(418)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28875. 470: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(419)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28876. 471: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(420)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28877. 472: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(421)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28878. 473: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(422)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28879. 474: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(423)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28880. 475: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(424)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28881. 476: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(425)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28882. 477: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(426)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28883. 478: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(427)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28884. 479: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(428)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28885. 480: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(429)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28886. 481: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(430)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28887. 482: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(431)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28888. 483: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(432)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28889. 484: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(433)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28890. 485: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(434)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28891. 486: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(435)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28892. 487: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(436)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28893. 488: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(437)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28894. 489: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(438)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28895. 490: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(439)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28896. 491: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(440)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28897. 492: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(441)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28898. 493: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(442)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28899. 494: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(443)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28900. 495: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28901. 496: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(445)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28902. 497: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(446)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28903. 498: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(447)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28904. 499: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(448)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28905. 500: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(449)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28906. 501: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(450)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28907. 502: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(451)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28908. 503: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(452)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28909. 504: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(453)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28910. 505: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(454)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28911. 506: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(455)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28912. 507: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(456)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28913. 508: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(457)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28914. 509: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(458)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28915. 510: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(459)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28916. 511: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(460)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28917. 512: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(461)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28918. 513: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(462)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28919. 514: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(463)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28920. 515: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(464)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28921. 516: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(465)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28922. 517: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(466)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28923. 518: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(467)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28924. 519: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(468)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28925. 520: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(469)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28926. 521: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(470)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28927. 522: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(471)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28928. 523: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(472)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28929. 524: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(473)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28930. 525: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(474)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(444)*libc.Uint32FromInt64(4)),
  28931. 526: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(475)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28932. 527: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(476)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28933. 528: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(477)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28934. 529: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(478)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28935. 530: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(479)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28936. 531: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(480)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28937. 532: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(481)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28938. 533: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(482)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28939. 534: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(483)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28940. 535: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(484)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28941. 536: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(485)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28942. 537: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(486)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28943. 538: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(487)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28944. 539: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(488)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28945. 540: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(489)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28946. 541: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(490)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28947. 542: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(491)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28948. 543: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(492)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28949. 544: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(493)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28950. 545: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(494)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28951. 546: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(495)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28952. 547: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(496)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28953. 548: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(497)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28954. 549: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(498)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28955. 550: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(499)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28956. 551: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(500)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28957. 552: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(501)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28958. 553: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(502)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28959. 554: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(503)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28960. 555: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(504)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28961. 556: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(505)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28962. 557: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(506)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28963. 558: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(507)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28964. 559: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(508)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28965. 560: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(509)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28966. 561: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(510)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28967. 562: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(511)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28968. 563: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(512)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28969. 564: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(513)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28970. 565: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(514)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28971. 566: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(515)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28972. 567: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(516)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28973. 568: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(517)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28974. 569: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(518)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28975. 570: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(519)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28976. 571: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(520)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28977. 572: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(521)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28978. 573: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(522)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28979. 574: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(523)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28980. 575: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(524)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28981. 576: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(525)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28982. 577: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28983. 578: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(527)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28984. 579: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(528)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28985. 580: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(529)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28986. 581: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(530)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28987. 582: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(531)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28988. 583: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(532)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28989. 584: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(533)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28990. 585: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(534)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28991. 586: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(535)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28992. 587: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(536)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28993. 588: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(537)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28994. 589: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(538)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28995. 590: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(539)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28996. 591: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(540)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28997. 592: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(541)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28998. 593: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(542)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  28999. 594: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(543)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29000. 595: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(544)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29001. 596: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(545)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29002. 597: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(546)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29003. 598: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(547)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29004. 599: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(548)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29005. 600: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(549)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29006. 601: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(550)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29007. 602: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(551)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29008. 603: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(552)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29009. 604: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(553)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29010. 605: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(554)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29011. 606: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(555)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29012. 607: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(556)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29013. 608: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(557)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29014. 609: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(558)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29015. 610: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(559)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29016. 611: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(560)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29017. 612: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(561)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29018. 613: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(562)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29019. 614: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(563)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29020. 615: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(564)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29021. 616: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(565)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29022. 617: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(566)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29023. 618: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(567)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29024. 619: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(568)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29025. 620: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(569)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29026. 621: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(570)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29027. 622: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(571)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29028. 623: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(572)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29029. 624: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(573)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29030. 625: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(574)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29031. 626: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(575)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29032. 627: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(576)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29033. 628: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(577)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29034. 629: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(578)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29035. 630: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(579)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29036. 631: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(580)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29037. 632: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(581)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29038. 633: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(582)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29039. 634: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(583)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29040. 635: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(584)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29041. 636: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(585)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29042. 637: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(586)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29043. 638: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(587)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29044. 639: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(588)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29045. 640: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(589)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29046. 641: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(590)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29047. 642: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(591)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29048. 643: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(592)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29049. 644: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(593)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29050. 645: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(594)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29051. 646: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(595)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29052. 647: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(596)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29053. 648: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(597)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29054. 649: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(598)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29055. 650: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(599)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29056. 651: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(600)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29057. 652: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(601)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29058. 653: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(602)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29059. 654: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(603)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29060. 655: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(604)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29061. 656: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(355)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29062. 657: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(605)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29063. 658: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(606)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29064. 659: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(318)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29065. 660: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(607)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29066. 661: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(608)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29067. 662: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(609)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29068. 663: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(610)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29069. 664: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(611)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29070. 665: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(612)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29071. 666: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(613)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29072. 667: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(3)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29073. 668: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(614)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29074. 669: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(615)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29075. 670: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(616)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29076. 671: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(617)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29077. 672: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(618)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29078. 673: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(619)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29079. 674: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(604)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29080. 675: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(620)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29081. 676: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(621)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29082. 677: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(622)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29083. 678: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(623)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29084. 679: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(624)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29085. 680: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(625)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29086. 681: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(626)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29087. 682: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(627)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29088. 683: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(628)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29089. 684: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(629)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29090. 685: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(630)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29091. 686: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(631)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29092. 687: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(632)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29093. 688: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(633)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29094. 689: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(634)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29095. 690: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(635)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29096. 691: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(636)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29097. 692: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(637)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29098. 693: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(638)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29099. 694: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(639)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29100. 695: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(640)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29101. 696: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(641)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(526)*libc.Uint32FromInt64(4)),
  29102. 697: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(642)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29103. 698: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(643)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29104. 699: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(644)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29105. 700: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(645)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29106. 701: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(646)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29107. 702: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(647)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29108. 703: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(648)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29109. 704: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(649)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29110. 705: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(650)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29111. 706: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(651)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29112. 707: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(652)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29113. 708: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(653)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29114. 709: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(654)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29115. 710: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(655)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29116. 711: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(656)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29117. 712: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(657)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29118. 713: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(658)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29119. 714: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(659)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29120. 715: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(660)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29121. 716: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(661)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29122. 717: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(662)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29123. 718: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(663)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29124. 719: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(664)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29125. 720: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(665)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29126. 721: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(666)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29127. 722: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(667)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29128. 723: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(668)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29129. 724: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(669)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29130. 725: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(670)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29131. 726: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(671)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29132. 727: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(672)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29133. 728: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(673)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29134. 729: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(674)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29135. 730: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(675)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29136. 731: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(676)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29137. 732: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(677)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29138. 733: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(678)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29139. 734: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(679)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29140. 735: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(680)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29141. 736: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(681)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29142. 737: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(682)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29143. 738: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(683)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29144. 739: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(684)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29145. 740: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(685)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29146. 741: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(686)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29147. 742: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(687)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29148. 743: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(688)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29149. 744: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(689)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29150. 745: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(690)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29151. 746: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(691)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29152. 747: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(692)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29153. 748: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(693)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29154. 749: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(694)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29155. 750: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(695)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29156. 751: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(696)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29157. 752: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29158. 753: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(698)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29159. 754: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(699)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29160. 755: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(700)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29161. 756: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(701)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29162. 757: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(702)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29163. 758: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(703)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29164. 759: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(704)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29165. 760: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(705)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29166. 761: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(706)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29167. 762: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(707)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29168. 763: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(708)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29169. 764: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(709)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29170. 765: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(710)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29171. 766: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(711)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29172. 767: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(712)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29173. 768: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(713)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29174. 769: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(714)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29175. 770: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(715)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29176. 771: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(716)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29177. 772: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(717)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29178. 773: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(718)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29179. 774: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(719)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29180. 775: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(720)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29181. 776: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(721)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29182. 777: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(722)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29183. 778: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(723)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29184. 779: libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(724)*libc.Uint32FromInt64(32) - (libc.Uint32FromInt32(246)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(725)*libc.Uint32FromInt64(32) + libc.Uint32FromInt32(697)*libc.Uint32FromInt64(4)),
  29185. },
  29186. Fnumbers: [780]TFcChar16{
  29187. 1: uint16(0x0004),
  29188. 3: uint16(0x0001),
  29189. 5: uint16(0x0001),
  29190. 6: uint16(0x0002),
  29191. 7: uint16(0x0003),
  29192. 8: uint16(0x001e),
  29193. 9: uint16(0x0012),
  29194. 10: uint16(0x0013),
  29195. 12: uint16(0x0006),
  29196. 13: uint16(0x0009),
  29197. 15: uint16(0x001e),
  29198. 16: uint16(0x0004),
  29199. 19: uint16(0x0001),
  29200. 20: uint16(0x0002),
  29201. 21: uint16(0x0006),
  29202. 22: uint16(0x0004),
  29203. 23: uint16(0x0004),
  29204. 25: uint16(0x0001),
  29205. 26: uint16(0x0002),
  29206. 27: uint16(0x001e),
  29207. 28: uint16(0x002d),
  29208. 29: uint16(0x0004),
  29209. 30: uint16(0x0009),
  29210. 33: uint16(0x0003),
  29211. 34: uint16(0x001e),
  29212. 36: uint16(0x0001),
  29213. 37: uint16(0x0002),
  29214. 38: uint16(0x0009),
  29215. 39: uint16(0x000f),
  29216. 41: uint16(0x0009),
  29217. 43: uint16(0x0001),
  29218. 44: uint16(0x0004),
  29219. 45: uint16(0x0012),
  29220. 46: uint16(0x0013),
  29221. 48: uint16(0x0001),
  29222. 50: uint16(0x0004),
  29223. 51: uint16(0x0013),
  29224. 53: uint16(0x0001),
  29225. 55: uint16(0x0001),
  29226. 57: uint16(0x0001),
  29227. 59: uint16(0x0001),
  29228. 60: uint16(0x0004),
  29229. 61: uint16(0x0001),
  29230. 62: uint16(0x0004),
  29231. 64: uint16(0x0001),
  29232. 65: uint16(0x001e),
  29233. 68: uint16(0x0009),
  29234. 69: uint16(0x0007),
  29235. 71: uint16(0x0001),
  29236. 72: uint16(0x0002),
  29237. 73: uint16(0x0003),
  29238. 74: uint16(0x0003),
  29239. 77: uint16(0x0001),
  29240. 79: uint16(0x0001),
  29241. 82: uint16(0x0001),
  29242. 83: uint16(0x0002),
  29243. 85: uint16(0x0001),
  29244. 92: uint16(0x0001),
  29245. 93: uint16(0x001e),
  29246. 95: uint16(0x0012),
  29247. 96: uint16(0x0013),
  29248. 98: uint16(0x0001),
  29249. 99: uint16(0x001e),
  29250. 100: uint16(0x000a),
  29251. 103: uint16(0x0001),
  29252. 104: uint16(0x0002),
  29253. 106: uint16(0x0001),
  29254. 107: uint16(0x0002),
  29255. 108: uint16(0x0005),
  29256. 110: uint16(0x0001),
  29257. 113: uint16(0x0001),
  29258. 114: uint16(0x0005),
  29259. 116: uint16(0x0003),
  29260. 117: uint16(0x001e),
  29261. 121: uint16(0x001e),
  29262. 122: uint16(0x00a0),
  29263. 123: uint16(0x00a1),
  29264. 124: uint16(0x00a2),
  29265. 125: uint16(0x00a3),
  29266. 126: uint16(0x00a4),
  29267. 127: uint16(0x0004),
  29268. 130: uint16(0x0014),
  29269. 131: uint16(0x0015),
  29270. 132: uint16(0x0016),
  29271. 133: uint16(0x0030),
  29272. 134: uint16(0x004e),
  29273. 135: uint16(0x004f),
  29274. 136: uint16(0x0050),
  29275. 137: uint16(0x0051),
  29276. 138: uint16(0x0052),
  29277. 139: uint16(0x0053),
  29278. 140: uint16(0x0054),
  29279. 141: uint16(0x0055),
  29280. 142: uint16(0x0056),
  29281. 143: uint16(0x0057),
  29282. 144: uint16(0x0058),
  29283. 145: uint16(0x0059),
  29284. 146: uint16(0x005a),
  29285. 147: uint16(0x005b),
  29286. 148: uint16(0x005c),
  29287. 149: uint16(0x005d),
  29288. 150: uint16(0x005e),
  29289. 151: uint16(0x005f),
  29290. 152: uint16(0x0060),
  29291. 153: uint16(0x0061),
  29292. 154: uint16(0x0062),
  29293. 155: uint16(0x0063),
  29294. 156: uint16(0x0064),
  29295. 157: uint16(0x0065),
  29296. 158: uint16(0x0066),
  29297. 159: uint16(0x0067),
  29298. 160: uint16(0x0068),
  29299. 161: uint16(0x0069),
  29300. 162: uint16(0x006a),
  29301. 163: uint16(0x006b),
  29302. 164: uint16(0x006c),
  29303. 165: uint16(0x006d),
  29304. 166: uint16(0x006e),
  29305. 167: uint16(0x006f),
  29306. 168: uint16(0x0070),
  29307. 169: uint16(0x0071),
  29308. 170: uint16(0x0072),
  29309. 171: uint16(0x0073),
  29310. 172: uint16(0x0074),
  29311. 173: uint16(0x0075),
  29312. 174: uint16(0x0076),
  29313. 175: uint16(0x0077),
  29314. 176: uint16(0x0078),
  29315. 177: uint16(0x0079),
  29316. 178: uint16(0x007a),
  29317. 179: uint16(0x007b),
  29318. 180: uint16(0x007c),
  29319. 181: uint16(0x007d),
  29320. 182: uint16(0x007e),
  29321. 183: uint16(0x007f),
  29322. 184: uint16(0x0080),
  29323. 185: uint16(0x0081),
  29324. 186: uint16(0x0082),
  29325. 187: uint16(0x0083),
  29326. 188: uint16(0x0084),
  29327. 189: uint16(0x0085),
  29328. 190: uint16(0x0086),
  29329. 191: uint16(0x0087),
  29330. 192: uint16(0x0088),
  29331. 193: uint16(0x0089),
  29332. 194: uint16(0x008a),
  29333. 195: uint16(0x008b),
  29334. 196: uint16(0x008c),
  29335. 197: uint16(0x008d),
  29336. 198: uint16(0x008e),
  29337. 199: uint16(0x008f),
  29338. 200: uint16(0x0090),
  29339. 201: uint16(0x0091),
  29340. 202: uint16(0x0092),
  29341. 203: uint16(0x0093),
  29342. 204: uint16(0x0094),
  29343. 205: uint16(0x0095),
  29344. 206: uint16(0x0096),
  29345. 207: uint16(0x0097),
  29346. 208: uint16(0x0098),
  29347. 209: uint16(0x0099),
  29348. 210: uint16(0x009a),
  29349. 211: uint16(0x009b),
  29350. 212: uint16(0x009c),
  29351. 213: uint16(0x009d),
  29352. 214: uint16(0x009e),
  29353. 215: uint16(0x009f),
  29354. 217: uint16(0x0010),
  29355. 218: uint16(0x0004),
  29356. 220: uint16(0x0001),
  29357. 221: uint16(0x0004),
  29358. 223: uint16(0x0001),
  29359. 224: uint16(0x0017),
  29360. 225: uint16(0x000c),
  29361. 226: uint16(0x0031),
  29362. 227: uint16(0x00ac),
  29363. 228: uint16(0x00ad),
  29364. 229: uint16(0x00ae),
  29365. 230: uint16(0x00af),
  29366. 231: uint16(0x00b0),
  29367. 232: uint16(0x00b1),
  29368. 233: uint16(0x00b2),
  29369. 234: uint16(0x00b3),
  29370. 235: uint16(0x00b4),
  29371. 236: uint16(0x00b5),
  29372. 237: uint16(0x00b6),
  29373. 238: uint16(0x00b7),
  29374. 239: uint16(0x00b8),
  29375. 240: uint16(0x00b9),
  29376. 241: uint16(0x00ba),
  29377. 242: uint16(0x00bb),
  29378. 243: uint16(0x00bc),
  29379. 244: uint16(0x00bd),
  29380. 245: uint16(0x00be),
  29381. 246: uint16(0x00bf),
  29382. 247: uint16(0x00c0),
  29383. 248: uint16(0x00c1),
  29384. 249: uint16(0x00c2),
  29385. 250: uint16(0x00c3),
  29386. 251: uint16(0x00c4),
  29387. 252: uint16(0x00c5),
  29388. 253: uint16(0x00c6),
  29389. 254: uint16(0x00c7),
  29390. 255: uint16(0x00c8),
  29391. 256: uint16(0x00c9),
  29392. 257: uint16(0x00ca),
  29393. 258: uint16(0x00cb),
  29394. 259: uint16(0x00cc),
  29395. 260: uint16(0x00cd),
  29396. 261: uint16(0x00ce),
  29397. 262: uint16(0x00cf),
  29398. 263: uint16(0x00d0),
  29399. 264: uint16(0x00d1),
  29400. 265: uint16(0x00d2),
  29401. 266: uint16(0x00d3),
  29402. 267: uint16(0x00d4),
  29403. 268: uint16(0x00d5),
  29404. 269: uint16(0x00d6),
  29405. 270: uint16(0x00d7),
  29406. 272: uint16(0x0001),
  29407. 273: uint16(0x0002),
  29408. 274: uint16(0x0006),
  29409. 275: uint16(0x0004),
  29410. 276: uint16(0x0005),
  29411. 277: uint16(0x0006),
  29412. 279: uint16(0x0001),
  29413. 280: uint16(0x0004),
  29414. 281: uint16(0x0004),
  29415. 283: uint16(0x0001),
  29416. 284: uint16(0x0002),
  29417. 285: uint16(0x0004),
  29418. 287: uint16(0x0001),
  29419. 288: uint16(0x0006),
  29420. 291: uint16(0x0001),
  29421. 294: uint16(0x0001),
  29422. 295: uint16(0x0002),
  29423. 296: uint16(0x0003),
  29424. 297: uint16(0x000e),
  29425. 299: uint16(0x0001),
  29426. 301: uint16(0x0001),
  29427. 304: uint16(0x0001),
  29428. 306: uint16(0x0001),
  29429. 307: uint16(0x001e),
  29430. 308: uint16(0x0004),
  29431. 309: uint16(0x000d),
  29432. 310: uint16(0x0018),
  29433. 311: uint16(0x0004),
  29434. 312: uint16(0x0009),
  29435. 314: uint16(0x0001),
  29436. 315: uint16(0x0002),
  29437. 316: uint16(0x0004),
  29438. 318: uint16(0x0001),
  29439. 319: uint16(0x0010),
  29440. 321: uint16(0x0001),
  29441. 323: uint16(0x0009),
  29442. 326: uint16(0x0007),
  29443. 328: uint16(0x0001),
  29444. 330: uint16(0x0001),
  29445. 331: uint16(0x0002),
  29446. 332: uint16(0x0003),
  29447. 334: uint16(0x0001),
  29448. 336: uint16(0x000b),
  29449. 337: uint16(0x0006),
  29450. 338: uint16(0x000a),
  29451. 342: uint16(0x0001),
  29452. 343: uint16(0x0006),
  29453. 344: uint16(0x0006),
  29454. 347: uint16(0x0002),
  29455. 350: uint16(0x0001),
  29456. 351: uint16(0x0002),
  29457. 352: uint16(0x0004),
  29458. 353: uint16(0x0009),
  29459. 356: uint16(0x0001),
  29460. 357: uint16(0x0002),
  29461. 358: uint16(0x0006),
  29462. 360: uint16(0x0001),
  29463. 363: uint16(0x0001),
  29464. 364: uint16(0x0004),
  29465. 366: uint16(0x0003),
  29466. 367: uint16(0x000d),
  29467. 368: uint16(0x0012),
  29468. 369: uint16(0x0013),
  29469. 371: uint16(0x0001),
  29470. 373: uint16(0x0002),
  29471. 377: uint16(0x0001),
  29472. 379: uint16(0x0001),
  29473. 380: uint16(0x0002),
  29474. 382: uint16(0x0004),
  29475. 384: uint16(0x0007),
  29476. 385: uint16(0x000b),
  29477. 386: uint16(0x000c),
  29478. 387: uint16(0x0004),
  29479. 388: uint16(0x000e),
  29480. 389: uint16(0x0012),
  29481. 390: uint16(0x0013),
  29482. 392: uint16(0x0001),
  29483. 394: uint16(0x0001),
  29484. 395: uint16(0x0004),
  29485. 397: uint16(0x0001),
  29486. 398: uint16(0x0002),
  29487. 399: uint16(0x0006),
  29488. 400: uint16(0x0004),
  29489. 402: uint16(0x0001),
  29490. 403: uint16(0x0003),
  29491. 404: uint16(0x0020),
  29492. 405: uint16(0x0021),
  29493. 406: uint16(0x0022),
  29494. 407: uint16(0x0023),
  29495. 408: uint16(0x0025),
  29496. 409: uint16(0x0027),
  29497. 410: uint16(0x01d4),
  29498. 411: uint16(0x01d5),
  29499. 412: uint16(0x01d6),
  29500. 413: uint16(0x0023),
  29501. 414: uint16(0x0025),
  29502. 415: uint16(0x0026),
  29503. 416: uint16(0x0027),
  29504. 417: uint16(0x002b),
  29505. 418: uint16(0x01f0),
  29506. 419: uint16(0x01f1),
  29507. 420: uint16(0x01f2),
  29508. 421: uint16(0x01f3),
  29509. 422: uint16(0x01f4),
  29510. 423: uint16(0x01f5),
  29511. 424: uint16(0x01f6),
  29512. 426: uint16(0x001e),
  29513. 428: uint16(0x0001),
  29514. 429: uint16(0x0003),
  29515. 430: uint16(0x001e),
  29516. 433: uint16(0x0001),
  29517. 436: uint16(0x0001),
  29518. 438: uint16(0x0001),
  29519. 441: uint16(0x0001),
  29520. 442: uint16(0x0003),
  29521. 443: uint16(0x001e),
  29522. 444: uint16(0x0002),
  29523. 445: uint16(0x004e),
  29524. 446: uint16(0x004f),
  29525. 447: uint16(0x0050),
  29526. 448: uint16(0x0051),
  29527. 449: uint16(0x0052),
  29528. 450: uint16(0x0053),
  29529. 451: uint16(0x0054),
  29530. 452: uint16(0x0055),
  29531. 453: uint16(0x0056),
  29532. 454: uint16(0x0057),
  29533. 455: uint16(0x0058),
  29534. 456: uint16(0x0059),
  29535. 457: uint16(0x005a),
  29536. 458: uint16(0x005b),
  29537. 459: uint16(0x005c),
  29538. 460: uint16(0x005d),
  29539. 461: uint16(0x005e),
  29540. 462: uint16(0x005f),
  29541. 463: uint16(0x0060),
  29542. 464: uint16(0x0061),
  29543. 465: uint16(0x0062),
  29544. 466: uint16(0x0063),
  29545. 467: uint16(0x0064),
  29546. 468: uint16(0x0065),
  29547. 469: uint16(0x0066),
  29548. 470: uint16(0x0067),
  29549. 471: uint16(0x0068),
  29550. 472: uint16(0x0069),
  29551. 473: uint16(0x006a),
  29552. 474: uint16(0x006b),
  29553. 475: uint16(0x006c),
  29554. 476: uint16(0x006d),
  29555. 477: uint16(0x006e),
  29556. 478: uint16(0x006f),
  29557. 479: uint16(0x0070),
  29558. 480: uint16(0x0071),
  29559. 481: uint16(0x0072),
  29560. 482: uint16(0x0073),
  29561. 483: uint16(0x0074),
  29562. 484: uint16(0x0075),
  29563. 485: uint16(0x0076),
  29564. 486: uint16(0x0077),
  29565. 487: uint16(0x0078),
  29566. 488: uint16(0x0079),
  29567. 489: uint16(0x007a),
  29568. 490: uint16(0x007b),
  29569. 491: uint16(0x007c),
  29570. 492: uint16(0x007d),
  29571. 493: uint16(0x007e),
  29572. 494: uint16(0x007f),
  29573. 495: uint16(0x0080),
  29574. 496: uint16(0x0081),
  29575. 497: uint16(0x0082),
  29576. 498: uint16(0x0083),
  29577. 499: uint16(0x0084),
  29578. 500: uint16(0x0085),
  29579. 501: uint16(0x0086),
  29580. 502: uint16(0x0087),
  29581. 503: uint16(0x0088),
  29582. 504: uint16(0x0089),
  29583. 505: uint16(0x008a),
  29584. 506: uint16(0x008b),
  29585. 507: uint16(0x008c),
  29586. 508: uint16(0x008d),
  29587. 509: uint16(0x008e),
  29588. 510: uint16(0x008f),
  29589. 511: uint16(0x0090),
  29590. 512: uint16(0x0091),
  29591. 513: uint16(0x0092),
  29592. 514: uint16(0x0093),
  29593. 515: uint16(0x0094),
  29594. 516: uint16(0x0095),
  29595. 517: uint16(0x0096),
  29596. 518: uint16(0x0097),
  29597. 519: uint16(0x0098),
  29598. 520: uint16(0x0099),
  29599. 521: uint16(0x009a),
  29600. 522: uint16(0x009b),
  29601. 523: uint16(0x009c),
  29602. 524: uint16(0x009e),
  29603. 525: uint16(0x009f),
  29604. 526: uint16(0x0030),
  29605. 527: uint16(0x0034),
  29606. 528: uint16(0x0035),
  29607. 529: uint16(0x0036),
  29608. 530: uint16(0x0037),
  29609. 531: uint16(0x0038),
  29610. 532: uint16(0x0039),
  29611. 533: uint16(0x003a),
  29612. 534: uint16(0x003b),
  29613. 535: uint16(0x003c),
  29614. 536: uint16(0x003d),
  29615. 537: uint16(0x003e),
  29616. 538: uint16(0x003f),
  29617. 539: uint16(0x0040),
  29618. 540: uint16(0x0041),
  29619. 541: uint16(0x0042),
  29620. 542: uint16(0x0043),
  29621. 543: uint16(0x0044),
  29622. 544: uint16(0x0045),
  29623. 545: uint16(0x0046),
  29624. 546: uint16(0x0047),
  29625. 547: uint16(0x0048),
  29626. 548: uint16(0x0049),
  29627. 549: uint16(0x004a),
  29628. 550: uint16(0x004b),
  29629. 551: uint16(0x004c),
  29630. 552: uint16(0x004d),
  29631. 553: uint16(0x004e),
  29632. 554: uint16(0x004f),
  29633. 555: uint16(0x0050),
  29634. 556: uint16(0x0051),
  29635. 557: uint16(0x0052),
  29636. 558: uint16(0x0053),
  29637. 559: uint16(0x0054),
  29638. 560: uint16(0x0055),
  29639. 561: uint16(0x0056),
  29640. 562: uint16(0x0057),
  29641. 563: uint16(0x0058),
  29642. 564: uint16(0x0059),
  29643. 565: uint16(0x005a),
  29644. 566: uint16(0x005b),
  29645. 567: uint16(0x005c),
  29646. 568: uint16(0x005d),
  29647. 569: uint16(0x005e),
  29648. 570: uint16(0x005f),
  29649. 571: uint16(0x0060),
  29650. 572: uint16(0x0061),
  29651. 573: uint16(0x0062),
  29652. 574: uint16(0x0063),
  29653. 575: uint16(0x0064),
  29654. 576: uint16(0x0065),
  29655. 577: uint16(0x0066),
  29656. 578: uint16(0x0067),
  29657. 579: uint16(0x0068),
  29658. 580: uint16(0x0069),
  29659. 581: uint16(0x006a),
  29660. 582: uint16(0x006b),
  29661. 583: uint16(0x006c),
  29662. 584: uint16(0x006d),
  29663. 585: uint16(0x006e),
  29664. 586: uint16(0x006f),
  29665. 587: uint16(0x0070),
  29666. 588: uint16(0x0071),
  29667. 589: uint16(0x0072),
  29668. 590: uint16(0x0073),
  29669. 591: uint16(0x0074),
  29670. 592: uint16(0x0075),
  29671. 593: uint16(0x0076),
  29672. 594: uint16(0x0077),
  29673. 595: uint16(0x0078),
  29674. 596: uint16(0x0079),
  29675. 597: uint16(0x007a),
  29676. 598: uint16(0x007b),
  29677. 599: uint16(0x007c),
  29678. 600: uint16(0x007d),
  29679. 601: uint16(0x007e),
  29680. 602: uint16(0x007f),
  29681. 603: uint16(0x0080),
  29682. 604: uint16(0x0081),
  29683. 605: uint16(0x0082),
  29684. 606: uint16(0x0083),
  29685. 607: uint16(0x0084),
  29686. 608: uint16(0x0085),
  29687. 609: uint16(0x0086),
  29688. 610: uint16(0x0087),
  29689. 611: uint16(0x0088),
  29690. 612: uint16(0x0089),
  29691. 613: uint16(0x008a),
  29692. 614: uint16(0x008b),
  29693. 615: uint16(0x008c),
  29694. 616: uint16(0x008d),
  29695. 617: uint16(0x008e),
  29696. 618: uint16(0x008f),
  29697. 619: uint16(0x0090),
  29698. 620: uint16(0x0091),
  29699. 621: uint16(0x0092),
  29700. 622: uint16(0x0093),
  29701. 623: uint16(0x0094),
  29702. 624: uint16(0x0095),
  29703. 625: uint16(0x0096),
  29704. 626: uint16(0x0097),
  29705. 627: uint16(0x0098),
  29706. 628: uint16(0x0099),
  29707. 629: uint16(0x009a),
  29708. 630: uint16(0x009b),
  29709. 631: uint16(0x009c),
  29710. 632: uint16(0x009d),
  29711. 633: uint16(0x009e),
  29712. 634: uint16(0x009f),
  29713. 635: uint16(0x0200),
  29714. 636: uint16(0x0201),
  29715. 637: uint16(0x0203),
  29716. 638: uint16(0x0207),
  29717. 639: uint16(0x020c),
  29718. 640: uint16(0x020d),
  29719. 641: uint16(0x020e),
  29720. 642: uint16(0x020f),
  29721. 643: uint16(0x0210),
  29722. 644: uint16(0x0211),
  29723. 645: uint16(0x0219),
  29724. 646: uint16(0x021a),
  29725. 647: uint16(0x021c),
  29726. 648: uint16(0x021d),
  29727. 649: uint16(0x0220),
  29728. 650: uint16(0x0221),
  29729. 651: uint16(0x022a),
  29730. 652: uint16(0x022b),
  29731. 653: uint16(0x022c),
  29732. 654: uint16(0x022d),
  29733. 655: uint16(0x022f),
  29734. 656: uint16(0x0232),
  29735. 657: uint16(0x0235),
  29736. 658: uint16(0x0236),
  29737. 659: uint16(0x023c),
  29738. 660: uint16(0x023e),
  29739. 661: uint16(0x023f),
  29740. 662: uint16(0x0244),
  29741. 663: uint16(0x024d),
  29742. 664: uint16(0x024e),
  29743. 665: uint16(0x0251),
  29744. 666: uint16(0x0255),
  29745. 667: uint16(0x025e),
  29746. 668: uint16(0x0262),
  29747. 669: uint16(0x0266),
  29748. 670: uint16(0x0267),
  29749. 671: uint16(0x0268),
  29750. 672: uint16(0x0269),
  29751. 673: uint16(0x0272),
  29752. 674: uint16(0x0275),
  29753. 675: uint16(0x0276),
  29754. 676: uint16(0x0277),
  29755. 677: uint16(0x0278),
  29756. 678: uint16(0x0279),
  29757. 679: uint16(0x027a),
  29758. 680: uint16(0x027d),
  29759. 681: uint16(0x0280),
  29760. 682: uint16(0x0281),
  29761. 683: uint16(0x0282),
  29762. 684: uint16(0x0283),
  29763. 685: uint16(0x0289),
  29764. 686: uint16(0x028a),
  29765. 687: uint16(0x028b),
  29766. 688: uint16(0x028c),
  29767. 689: uint16(0x028d),
  29768. 690: uint16(0x028e),
  29769. 691: uint16(0x0294),
  29770. 692: uint16(0x0297),
  29771. 693: uint16(0x0298),
  29772. 694: uint16(0x029a),
  29773. 695: uint16(0x029d),
  29774. 696: uint16(0x02a6),
  29775. 697: uint16(0x004e),
  29776. 698: uint16(0x004f),
  29777. 699: uint16(0x0050),
  29778. 700: uint16(0x0051),
  29779. 701: uint16(0x0052),
  29780. 702: uint16(0x0053),
  29781. 703: uint16(0x0054),
  29782. 704: uint16(0x0055),
  29783. 705: uint16(0x0056),
  29784. 706: uint16(0x0057),
  29785. 707: uint16(0x0058),
  29786. 708: uint16(0x0059),
  29787. 709: uint16(0x005a),
  29788. 710: uint16(0x005b),
  29789. 711: uint16(0x005c),
  29790. 712: uint16(0x005d),
  29791. 713: uint16(0x005e),
  29792. 714: uint16(0x005f),
  29793. 715: uint16(0x0060),
  29794. 716: uint16(0x0061),
  29795. 717: uint16(0x0062),
  29796. 718: uint16(0x0063),
  29797. 719: uint16(0x0064),
  29798. 720: uint16(0x0065),
  29799. 721: uint16(0x0066),
  29800. 722: uint16(0x0067),
  29801. 723: uint16(0x0068),
  29802. 724: uint16(0x0069),
  29803. 725: uint16(0x006a),
  29804. 726: uint16(0x006b),
  29805. 727: uint16(0x006c),
  29806. 728: uint16(0x006d),
  29807. 729: uint16(0x006e),
  29808. 730: uint16(0x006f),
  29809. 731: uint16(0x0070),
  29810. 732: uint16(0x0071),
  29811. 733: uint16(0x0072),
  29812. 734: uint16(0x0073),
  29813. 735: uint16(0x0074),
  29814. 736: uint16(0x0075),
  29815. 737: uint16(0x0076),
  29816. 738: uint16(0x0077),
  29817. 739: uint16(0x0078),
  29818. 740: uint16(0x0079),
  29819. 741: uint16(0x007a),
  29820. 742: uint16(0x007b),
  29821. 743: uint16(0x007c),
  29822. 744: uint16(0x007d),
  29823. 745: uint16(0x007e),
  29824. 746: uint16(0x007f),
  29825. 747: uint16(0x0080),
  29826. 748: uint16(0x0081),
  29827. 749: uint16(0x0082),
  29828. 750: uint16(0x0083),
  29829. 751: uint16(0x0084),
  29830. 752: uint16(0x0085),
  29831. 753: uint16(0x0086),
  29832. 754: uint16(0x0087),
  29833. 755: uint16(0x0088),
  29834. 756: uint16(0x0089),
  29835. 757: uint16(0x008a),
  29836. 758: uint16(0x008b),
  29837. 759: uint16(0x008c),
  29838. 760: uint16(0x008d),
  29839. 761: uint16(0x008e),
  29840. 762: uint16(0x008f),
  29841. 763: uint16(0x0090),
  29842. 764: uint16(0x0091),
  29843. 765: uint16(0x0092),
  29844. 766: uint16(0x0093),
  29845. 767: uint16(0x0094),
  29846. 768: uint16(0x0095),
  29847. 769: uint16(0x0096),
  29848. 770: uint16(0x0097),
  29849. 771: uint16(0x0098),
  29850. 772: uint16(0x0099),
  29851. 773: uint16(0x009a),
  29852. 774: uint16(0x009b),
  29853. 775: uint16(0x009c),
  29854. 776: uint16(0x009d),
  29855. 777: uint16(0x009e),
  29856. 778: uint16(0x009f),
  29857. 779: uint16(0x00fa),
  29858. },
  29859. FlangIndices: [246]TFcChar8{
  29860. 1: uint8(1),
  29861. 2: uint8(2),
  29862. 3: uint8(190),
  29863. 4: uint8(3),
  29864. 5: uint8(191),
  29865. 6: uint8(4),
  29866. 7: uint8(5),
  29867. 8: uint8(6),
  29868. 9: uint8(7),
  29869. 10: uint8(8),
  29870. 11: uint8(9),
  29871. 12: uint8(10),
  29872. 13: uint8(11),
  29873. 14: uint8(13),
  29874. 15: uint8(192),
  29875. 16: uint8(193),
  29876. 17: uint8(14),
  29877. 18: uint8(15),
  29878. 19: uint8(16),
  29879. 20: uint8(17),
  29880. 21: uint8(18),
  29881. 22: uint8(12),
  29882. 23: uint8(19),
  29883. 24: uint8(20),
  29884. 25: uint8(21),
  29885. 26: uint8(240),
  29886. 27: uint8(22),
  29887. 28: uint8(23),
  29888. 29: uint8(194),
  29889. 30: uint8(24),
  29890. 31: uint8(25),
  29891. 32: uint8(26),
  29892. 33: uint8(27),
  29893. 34: uint8(28),
  29894. 35: uint8(29),
  29895. 36: uint8(195),
  29896. 37: uint8(30),
  29897. 38: uint8(196),
  29898. 39: uint8(31),
  29899. 40: uint8(32),
  29900. 41: uint8(33),
  29901. 42: uint8(34),
  29902. 43: uint8(35),
  29903. 44: uint8(242),
  29904. 45: uint8(197),
  29905. 46: uint8(36),
  29906. 47: uint8(198),
  29907. 48: uint8(37),
  29908. 49: uint8(38),
  29909. 50: uint8(39),
  29910. 51: uint8(40),
  29911. 52: uint8(41),
  29912. 53: uint8(42),
  29913. 54: uint8(43),
  29914. 55: uint8(199),
  29915. 56: uint8(48),
  29916. 57: uint8(44),
  29917. 58: uint8(200),
  29918. 59: uint8(45),
  29919. 60: uint8(46),
  29920. 61: uint8(47),
  29921. 62: uint8(49),
  29922. 63: uint8(50),
  29923. 64: uint8(51),
  29924. 65: uint8(52),
  29925. 66: uint8(53),
  29926. 67: uint8(54),
  29927. 68: uint8(55),
  29928. 69: uint8(56),
  29929. 70: uint8(57),
  29930. 71: uint8(58),
  29931. 72: uint8(59),
  29932. 73: uint8(60),
  29933. 74: uint8(61),
  29934. 75: uint8(201),
  29935. 76: uint8(62),
  29936. 77: uint8(63),
  29937. 78: uint8(202),
  29938. 79: uint8(203),
  29939. 80: uint8(64),
  29940. 81: uint8(65),
  29941. 82: uint8(204),
  29942. 83: uint8(66),
  29943. 84: uint8(68),
  29944. 85: uint8(69),
  29945. 86: uint8(67),
  29946. 87: uint8(205),
  29947. 88: uint8(70),
  29948. 89: uint8(71),
  29949. 90: uint8(72),
  29950. 91: uint8(73),
  29951. 92: uint8(74),
  29952. 93: uint8(75),
  29953. 94: uint8(206),
  29954. 95: uint8(76),
  29955. 96: uint8(77),
  29956. 97: uint8(207),
  29957. 98: uint8(78),
  29958. 99: uint8(208),
  29959. 100: uint8(79),
  29960. 101: uint8(80),
  29961. 102: uint8(81),
  29962. 103: uint8(82),
  29963. 104: uint8(83),
  29964. 105: uint8(84),
  29965. 106: uint8(209),
  29966. 107: uint8(85),
  29967. 108: uint8(86),
  29968. 109: uint8(210),
  29969. 110: uint8(87),
  29970. 111: uint8(211),
  29971. 112: uint8(88),
  29972. 113: uint8(89),
  29973. 114: uint8(90),
  29974. 115: uint8(212),
  29975. 116: uint8(91),
  29976. 117: uint8(92),
  29977. 118: uint8(238),
  29978. 119: uint8(93),
  29979. 120: uint8(94),
  29980. 121: uint8(213),
  29981. 122: uint8(214),
  29982. 123: uint8(95),
  29983. 124: uint8(96),
  29984. 125: uint8(97),
  29985. 126: uint8(98),
  29986. 127: uint8(215),
  29987. 128: uint8(99),
  29988. 129: uint8(100),
  29989. 130: uint8(101),
  29990. 131: uint8(102),
  29991. 132: uint8(103),
  29992. 133: uint8(104),
  29993. 134: uint8(216),
  29994. 135: uint8(243),
  29995. 136: uint8(105),
  29996. 137: uint8(106),
  29997. 138: uint8(217),
  29998. 139: uint8(107),
  29999. 140: uint8(108),
  30000. 141: uint8(218),
  30001. 142: uint8(109),
  30002. 143: uint8(110),
  30003. 144: uint8(111),
  30004. 145: uint8(219),
  30005. 146: uint8(112),
  30006. 147: uint8(113),
  30007. 148: uint8(114),
  30008. 149: uint8(239),
  30009. 150: uint8(115),
  30010. 151: uint8(116),
  30011. 152: uint8(220),
  30012. 153: uint8(117),
  30013. 154: uint8(118),
  30014. 155: uint8(119),
  30015. 156: uint8(120),
  30016. 157: uint8(121),
  30017. 158: uint8(221),
  30018. 159: uint8(122),
  30019. 160: uint8(222),
  30020. 161: uint8(223),
  30021. 162: uint8(224),
  30022. 163: uint8(123),
  30023. 164: uint8(124),
  30024. 165: uint8(125),
  30025. 166: uint8(126),
  30026. 167: uint8(225),
  30027. 168: uint8(226),
  30028. 169: uint8(127),
  30029. 170: uint8(227),
  30030. 171: uint8(128),
  30031. 172: uint8(129),
  30032. 173: uint8(228),
  30033. 174: uint8(130),
  30034. 175: uint8(131),
  30035. 176: uint8(241),
  30036. 177: uint8(229),
  30037. 178: uint8(132),
  30038. 179: uint8(230),
  30039. 180: uint8(133),
  30040. 181: uint8(134),
  30041. 182: uint8(231),
  30042. 183: uint8(135),
  30043. 184: uint8(136),
  30044. 185: uint8(137),
  30045. 186: uint8(232),
  30046. 187: uint8(138),
  30047. 188: uint8(139),
  30048. 189: uint8(140),
  30049. 190: uint8(141),
  30050. 191: uint8(142),
  30051. 192: uint8(143),
  30052. 193: uint8(144),
  30053. 194: uint8(233),
  30054. 195: uint8(145),
  30055. 196: uint8(146),
  30056. 197: uint8(147),
  30057. 198: uint8(148),
  30058. 199: uint8(149),
  30059. 200: uint8(234),
  30060. 201: uint8(150),
  30061. 202: uint8(151),
  30062. 203: uint8(152),
  30063. 204: uint8(153),
  30064. 205: uint8(154),
  30065. 206: uint8(155),
  30066. 207: uint8(156),
  30067. 208: uint8(157),
  30068. 209: uint8(158),
  30069. 210: uint8(159),
  30070. 211: uint8(160),
  30071. 212: uint8(161),
  30072. 213: uint8(162),
  30073. 214: uint8(163),
  30074. 215: uint8(164),
  30075. 216: uint8(165),
  30076. 217: uint8(166),
  30077. 218: uint8(167),
  30078. 219: uint8(235),
  30079. 220: uint8(168),
  30080. 221: uint8(169),
  30081. 222: uint8(170),
  30082. 223: uint8(245),
  30083. 224: uint8(244),
  30084. 225: uint8(171),
  30085. 226: uint8(172),
  30086. 227: uint8(173),
  30087. 228: uint8(174),
  30088. 229: uint8(175),
  30089. 230: uint8(176),
  30090. 231: uint8(177),
  30091. 232: uint8(236),
  30092. 233: uint8(178),
  30093. 234: uint8(179),
  30094. 235: uint8(180),
  30095. 236: uint8(181),
  30096. 237: uint8(182),
  30097. 238: uint8(183),
  30098. 239: uint8(237),
  30099. 240: uint8(184),
  30100. 241: uint8(185),
  30101. 242: uint8(186),
  30102. 243: uint8(187),
  30103. 244: uint8(188),
  30104. 245: uint8(189),
  30105. },
  30106. FlangIndicesInv: [246]TFcChar8{
  30107. 1: uint8(1),
  30108. 2: uint8(2),
  30109. 3: uint8(4),
  30110. 4: uint8(6),
  30111. 5: uint8(7),
  30112. 6: uint8(8),
  30113. 7: uint8(9),
  30114. 8: uint8(10),
  30115. 9: uint8(11),
  30116. 10: uint8(12),
  30117. 11: uint8(13),
  30118. 12: uint8(22),
  30119. 13: uint8(14),
  30120. 14: uint8(17),
  30121. 15: uint8(18),
  30122. 16: uint8(19),
  30123. 17: uint8(20),
  30124. 18: uint8(21),
  30125. 19: uint8(23),
  30126. 20: uint8(24),
  30127. 21: uint8(25),
  30128. 22: uint8(27),
  30129. 23: uint8(28),
  30130. 24: uint8(30),
  30131. 25: uint8(31),
  30132. 26: uint8(32),
  30133. 27: uint8(33),
  30134. 28: uint8(34),
  30135. 29: uint8(35),
  30136. 30: uint8(37),
  30137. 31: uint8(39),
  30138. 32: uint8(40),
  30139. 33: uint8(41),
  30140. 34: uint8(42),
  30141. 35: uint8(43),
  30142. 36: uint8(46),
  30143. 37: uint8(48),
  30144. 38: uint8(49),
  30145. 39: uint8(50),
  30146. 40: uint8(51),
  30147. 41: uint8(52),
  30148. 42: uint8(53),
  30149. 43: uint8(54),
  30150. 44: uint8(57),
  30151. 45: uint8(59),
  30152. 46: uint8(60),
  30153. 47: uint8(61),
  30154. 48: uint8(56),
  30155. 49: uint8(62),
  30156. 50: uint8(63),
  30157. 51: uint8(64),
  30158. 52: uint8(65),
  30159. 53: uint8(66),
  30160. 54: uint8(67),
  30161. 55: uint8(68),
  30162. 56: uint8(69),
  30163. 57: uint8(70),
  30164. 58: uint8(71),
  30165. 59: uint8(72),
  30166. 60: uint8(73),
  30167. 61: uint8(74),
  30168. 62: uint8(76),
  30169. 63: uint8(77),
  30170. 64: uint8(80),
  30171. 65: uint8(81),
  30172. 66: uint8(83),
  30173. 67: uint8(86),
  30174. 68: uint8(84),
  30175. 69: uint8(85),
  30176. 70: uint8(88),
  30177. 71: uint8(89),
  30178. 72: uint8(90),
  30179. 73: uint8(91),
  30180. 74: uint8(92),
  30181. 75: uint8(93),
  30182. 76: uint8(95),
  30183. 77: uint8(96),
  30184. 78: uint8(98),
  30185. 79: uint8(100),
  30186. 80: uint8(101),
  30187. 81: uint8(102),
  30188. 82: uint8(103),
  30189. 83: uint8(104),
  30190. 84: uint8(105),
  30191. 85: uint8(107),
  30192. 86: uint8(108),
  30193. 87: uint8(110),
  30194. 88: uint8(112),
  30195. 89: uint8(113),
  30196. 90: uint8(114),
  30197. 91: uint8(116),
  30198. 92: uint8(117),
  30199. 93: uint8(119),
  30200. 94: uint8(120),
  30201. 95: uint8(123),
  30202. 96: uint8(124),
  30203. 97: uint8(125),
  30204. 98: uint8(126),
  30205. 99: uint8(128),
  30206. 100: uint8(129),
  30207. 101: uint8(130),
  30208. 102: uint8(131),
  30209. 103: uint8(132),
  30210. 104: uint8(133),
  30211. 105: uint8(136),
  30212. 106: uint8(137),
  30213. 107: uint8(139),
  30214. 108: uint8(140),
  30215. 109: uint8(142),
  30216. 110: uint8(143),
  30217. 111: uint8(144),
  30218. 112: uint8(146),
  30219. 113: uint8(147),
  30220. 114: uint8(148),
  30221. 115: uint8(150),
  30222. 116: uint8(151),
  30223. 117: uint8(153),
  30224. 118: uint8(154),
  30225. 119: uint8(155),
  30226. 120: uint8(156),
  30227. 121: uint8(157),
  30228. 122: uint8(159),
  30229. 123: uint8(163),
  30230. 124: uint8(164),
  30231. 125: uint8(165),
  30232. 126: uint8(166),
  30233. 127: uint8(169),
  30234. 128: uint8(171),
  30235. 129: uint8(172),
  30236. 130: uint8(174),
  30237. 131: uint8(175),
  30238. 132: uint8(178),
  30239. 133: uint8(180),
  30240. 134: uint8(181),
  30241. 135: uint8(183),
  30242. 136: uint8(184),
  30243. 137: uint8(185),
  30244. 138: uint8(187),
  30245. 139: uint8(188),
  30246. 140: uint8(189),
  30247. 141: uint8(190),
  30248. 142: uint8(191),
  30249. 143: uint8(192),
  30250. 144: uint8(193),
  30251. 145: uint8(195),
  30252. 146: uint8(196),
  30253. 147: uint8(197),
  30254. 148: uint8(198),
  30255. 149: uint8(199),
  30256. 150: uint8(201),
  30257. 151: uint8(202),
  30258. 152: uint8(203),
  30259. 153: uint8(204),
  30260. 154: uint8(205),
  30261. 155: uint8(206),
  30262. 156: uint8(207),
  30263. 157: uint8(208),
  30264. 158: uint8(209),
  30265. 159: uint8(210),
  30266. 160: uint8(211),
  30267. 161: uint8(212),
  30268. 162: uint8(213),
  30269. 163: uint8(214),
  30270. 164: uint8(215),
  30271. 165: uint8(216),
  30272. 166: uint8(217),
  30273. 167: uint8(218),
  30274. 168: uint8(220),
  30275. 169: uint8(221),
  30276. 170: uint8(222),
  30277. 171: uint8(225),
  30278. 172: uint8(226),
  30279. 173: uint8(227),
  30280. 174: uint8(228),
  30281. 175: uint8(229),
  30282. 176: uint8(230),
  30283. 177: uint8(231),
  30284. 178: uint8(233),
  30285. 179: uint8(234),
  30286. 180: uint8(235),
  30287. 181: uint8(236),
  30288. 182: uint8(237),
  30289. 183: uint8(238),
  30290. 184: uint8(240),
  30291. 185: uint8(241),
  30292. 186: uint8(242),
  30293. 187: uint8(243),
  30294. 188: uint8(244),
  30295. 189: uint8(245),
  30296. 190: uint8(3),
  30297. 191: uint8(5),
  30298. 192: uint8(15),
  30299. 193: uint8(16),
  30300. 194: uint8(29),
  30301. 195: uint8(36),
  30302. 196: uint8(38),
  30303. 197: uint8(45),
  30304. 198: uint8(47),
  30305. 199: uint8(55),
  30306. 200: uint8(58),
  30307. 201: uint8(75),
  30308. 202: uint8(78),
  30309. 203: uint8(79),
  30310. 204: uint8(82),
  30311. 205: uint8(87),
  30312. 206: uint8(94),
  30313. 207: uint8(97),
  30314. 208: uint8(99),
  30315. 209: uint8(106),
  30316. 210: uint8(109),
  30317. 211: uint8(111),
  30318. 212: uint8(115),
  30319. 213: uint8(121),
  30320. 214: uint8(122),
  30321. 215: uint8(127),
  30322. 216: uint8(134),
  30323. 217: uint8(138),
  30324. 218: uint8(141),
  30325. 219: uint8(145),
  30326. 220: uint8(152),
  30327. 221: uint8(158),
  30328. 222: uint8(160),
  30329. 223: uint8(161),
  30330. 224: uint8(162),
  30331. 225: uint8(167),
  30332. 226: uint8(168),
  30333. 227: uint8(170),
  30334. 228: uint8(173),
  30335. 229: uint8(177),
  30336. 230: uint8(179),
  30337. 231: uint8(182),
  30338. 232: uint8(186),
  30339. 233: uint8(194),
  30340. 234: uint8(200),
  30341. 235: uint8(219),
  30342. 236: uint8(232),
  30343. 237: uint8(239),
  30344. 238: uint8(118),
  30345. 239: uint8(149),
  30346. 240: uint8(26),
  30347. 241: uint8(176),
  30348. 242: uint8(44),
  30349. 243: uint8(135),
  30350. 244: uint8(224),
  30351. 245: uint8(223),
  30352. },
  30353. }
  30354. var _fcLangCountrySets = [10][8]TFcChar32{
  30355. 0: {
  30356. 0: uint32(0x00000600),
  30357. },
  30358. 1: {
  30359. 6: uint32(0x00000003),
  30360. },
  30361. 2: {
  30362. 2: uint32(0x00c00000),
  30363. 6: uint32(0x000c0000),
  30364. },
  30365. 3: {
  30366. 3: uint32(0x00000100),
  30367. 6: uint32(0x01000000),
  30368. },
  30369. 4: {
  30370. 6: uint32(0x40000000),
  30371. },
  30372. 5: {
  30373. 6: uint32(0x80000000),
  30374. 7: uint32(0x00000001),
  30375. },
  30376. 6: {
  30377. 3: uint32(0x30000000),
  30378. },
  30379. 7: {
  30380. 4: uint32(0x60000000),
  30381. },
  30382. 8: {
  30383. 7: uint32(0x00300000),
  30384. },
  30385. 9: {
  30386. 5: uint32(0x1f000000),
  30387. },
  30388. }
  30389. var _fcLangCharSetRanges = [26]TFcLangCharSetRange{
  30390. 0: {
  30391. Fend: int32(12),
  30392. },
  30393. 1: {
  30394. Fbegin: int32(13),
  30395. Fend: int32(29),
  30396. },
  30397. 2: {
  30398. Fbegin: int32(30),
  30399. Fend: int32(41),
  30400. },
  30401. 3: {
  30402. Fbegin: int32(42),
  30403. Fend: int32(46),
  30404. },
  30405. 4: {
  30406. Fbegin: int32(47),
  30407. Fend: int32(53),
  30408. },
  30409. 5: {
  30410. Fbegin: int32(54),
  30411. Fend: int32(63),
  30412. },
  30413. 6: {
  30414. Fbegin: int32(64),
  30415. Fend: int32(70),
  30416. },
  30417. 7: {
  30418. Fbegin: int32(71),
  30419. Fend: int32(82),
  30420. },
  30421. 8: {
  30422. Fbegin: int32(83),
  30423. Fend: int32(92),
  30424. },
  30425. 9: {
  30426. Fbegin: int32(93),
  30427. Fend: int32(94),
  30428. },
  30429. 10: {
  30430. Fbegin: int32(95),
  30431. Fend: int32(116),
  30432. },
  30433. 11: {
  30434. Fbegin: int32(117),
  30435. Fend: int32(126),
  30436. },
  30437. 12: {
  30438. Fbegin: int32(127),
  30439. Fend: int32(140),
  30440. },
  30441. 13: {
  30442. Fbegin: int32(141),
  30443. Fend: int32(153),
  30444. },
  30445. 14: {
  30446. Fbegin: int32(154),
  30447. Fend: int32(158),
  30448. },
  30449. 15: {
  30450. Fbegin: int32(159),
  30451. Fend: int32(166),
  30452. },
  30453. 16: {
  30454. Fbegin: int32(167),
  30455. Fend: int32(168),
  30456. },
  30457. 17: {
  30458. Fbegin: int32(169),
  30459. Fend: int32(173),
  30460. },
  30461. 18: {
  30462. Fbegin: int32(174),
  30463. Fend: int32(203),
  30464. },
  30465. 19: {
  30466. Fbegin: int32(204),
  30467. Fend: int32(220),
  30468. },
  30469. 20: {
  30470. Fbegin: int32(221),
  30471. Fend: int32(226),
  30472. },
  30473. 21: {
  30474. Fbegin: int32(227),
  30475. Fend: int32(230),
  30476. },
  30477. 22: {
  30478. Fbegin: int32(231),
  30479. Fend: int32(234),
  30480. },
  30481. 23: {
  30482. Fbegin: int32(235),
  30483. Fend: int32(235),
  30484. },
  30485. 24: {
  30486. Fbegin: int32(236),
  30487. Fend: int32(238),
  30488. },
  30489. 25: {
  30490. Fbegin: int32(239),
  30491. Fend: int32(245),
  30492. },
  30493. }
  30494. func _FcLangSetBitSet(tls *libc.TLS, ls uintptr, id uint32) {
  30495. var bucket uint32
  30496. _ = bucket
  30497. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35752 + uintptr(id))))
  30498. bucket = id >> int32(5)
  30499. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30500. return
  30501. } /* shouldn't happen really */
  30502. *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(bucket)*4)) |= libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f))
  30503. }
  30504. func _FcLangSetBitGet(tls *libc.TLS, ls uintptr, id uint32) (r TFcBool) {
  30505. var bucket uint32
  30506. var v1 int32
  30507. _, _ = bucket, v1
  30508. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35752 + uintptr(id))))
  30509. bucket = id >> int32(5)
  30510. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30511. return m_FcFalse
  30512. }
  30513. if *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(bucket)*4))>>(id&libc.Uint32FromInt32(0x1f))&uint32(1) != 0 {
  30514. v1 = int32(m_FcTrue)
  30515. } else {
  30516. v1 = m_FcFalse
  30517. }
  30518. return v1
  30519. }
  30520. func _FcLangSetBitReset(tls *libc.TLS, ls uintptr, id uint32) {
  30521. var bucket uint32
  30522. _ = bucket
  30523. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35752 + uintptr(id))))
  30524. bucket = id >> int32(5)
  30525. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30526. return
  30527. } /* shouldn't happen really */
  30528. *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(bucket)*4)) &= ^(libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f)))
  30529. }
  30530. func XFcFreeTypeLangSet(tls *libc.TLS, charset uintptr, exclusiveLang uintptr) (r uintptr) {
  30531. bp := tls.Alloc(64)
  30532. defer tls.Free(64)
  30533. var exclusiveCharset, ls, missed uintptr
  30534. var i, i1, j, j1 int32
  30535. var missing, ucs4 TFcChar32
  30536. var _ /* map at bp+0 */ [8]TFcChar32
  30537. var _ /* next at bp+32 */ TFcChar32
  30538. _, _, _, _, _, _, _, _, _ = exclusiveCharset, i, i1, j, j1, ls, missed, missing, ucs4
  30539. exclusiveCharset = uintptr(0)
  30540. if exclusiveLang != 0 {
  30541. exclusiveCharset = XIA__FcLangGetCharSet(tls, exclusiveLang)
  30542. }
  30543. ls = XIA__FcLangSetCreate(tls)
  30544. if !(ls != 0) {
  30545. return uintptr(0)
  30546. }
  30547. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30548. libc.Xprintf(tls, __ccgo_ts+5636, 0)
  30549. XFcCharSetPrint(tls, charset)
  30550. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  30551. }
  30552. i = 0
  30553. for {
  30554. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30555. break
  30556. }
  30557. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30558. libc.Xprintf(tls, __ccgo_ts+5649, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32))
  30559. XFcCharSetPrint(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16)
  30560. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  30561. }
  30562. /*
  30563. * Check for Han charsets to make fonts
  30564. * which advertise support for a single language
  30565. * not support other Han languages
  30566. */
  30567. if exclusiveCharset != 0 && XFcFreeTypeIsExclusiveLang(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32) != 0 {
  30568. if (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*32))).Fcharset.Fnum != (*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fnum {
  30569. goto _1
  30570. }
  30571. j = 0
  30572. for {
  30573. if !(j < (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*32))).Fcharset.Fnum) {
  30574. break
  30575. }
  30576. if uintptr(int32(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16)).Fleaves_offset) + uintptr(j)*4))) != uintptr(int32(uintptr(int32(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int32(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset) + uintptr(j)*4))) {
  30577. goto _2
  30578. }
  30579. goto _2
  30580. _2:
  30581. ;
  30582. j++
  30583. }
  30584. }
  30585. missing = XIA__FcCharSetSubtractCount(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16, charset)
  30586. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  30587. if missing != 0 && missing < uint32(10) {
  30588. missed = XIA__FcCharSetSubtract(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16, charset)
  30589. libc.Xprintf(tls, __ccgo_ts+5660, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, missing))
  30590. libc.Xprintf(tls, __ccgo_ts+5669, 0)
  30591. ucs4 = XIA__FcCharSetFirstPage(tls, missed, bp, bp+32)
  30592. for {
  30593. if !(ucs4 != libc.Uint32FromInt32(-libc.Int32FromInt32(1))) {
  30594. break
  30595. }
  30596. i1 = 0
  30597. for {
  30598. if !(i1 < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  30599. break
  30600. }
  30601. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1] != 0 {
  30602. j1 = 0
  30603. for {
  30604. if !(j1 < int32(32)) {
  30605. break
  30606. }
  30607. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1]&(uint32(1)<<j1) != 0 {
  30608. libc.Xprintf(tls, __ccgo_ts+5671, libc.VaList(bp+48, ucs4+libc.Uint32FromInt32(i1*int32(32))+libc.Uint32FromInt32(j1)))
  30609. }
  30610. goto _5
  30611. _5:
  30612. ;
  30613. j1++
  30614. }
  30615. }
  30616. goto _4
  30617. _4:
  30618. ;
  30619. i1++
  30620. }
  30621. goto _3
  30622. _3:
  30623. ;
  30624. ucs4 = XIA__FcCharSetNextPage(tls, missed, bp, bp+32)
  30625. }
  30626. libc.Xprintf(tls, __ccgo_ts+5677, 0)
  30627. XIA__FcCharSetDestroy(tls, missed)
  30628. } else {
  30629. libc.Xprintf(tls, __ccgo_ts+5682, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, missing))
  30630. }
  30631. }
  30632. if !(missing != 0) {
  30633. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(i))
  30634. }
  30635. goto _1
  30636. _1:
  30637. ;
  30638. i++
  30639. }
  30640. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  30641. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  30642. }
  30643. return ls
  30644. }
  30645. func XIA__FcLangNormalize(tls *libc.TLS, lang uintptr) (r uintptr) {
  30646. bp := tls.Alloc(32)
  30647. defer tls.Free(32)
  30648. var encoding, modifier, orig, result, s, territory uintptr
  30649. var llen, mlen, tlen Tsize_t
  30650. var v1 uint32
  30651. _, _, _, _, _, _, _, _, _, _ = encoding, llen, mlen, modifier, orig, result, s, territory, tlen, v1
  30652. result = libc.UintptrFromInt32(0)
  30653. tlen = uint32(0)
  30654. mlen = uint32(0)
  30655. if !(lang != 0) || !(*(*TFcChar8)(unsafe.Pointer(lang)) != 0) {
  30656. return libc.UintptrFromInt32(0)
  30657. }
  30658. /* might be called without initialization */
  30659. XFcInitDebug(tls)
  30660. if XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+4882) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5690) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5698) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5705) == 0 {
  30661. result = XIA__FcStrCopy(tls, __ccgo_ts+2789)
  30662. goto bail
  30663. }
  30664. s = XIA__FcStrCopy(tls, lang)
  30665. if !(s != 0) {
  30666. goto bail
  30667. }
  30668. /* from the comments in glibc:
  30669. *
  30670. * LOCALE can consist of up to four recognized parts for the XPG syntax:
  30671. *
  30672. * language[_territory[.codeset]][@modifier]
  30673. *
  30674. * Beside the first all of them are allowed to be missing. If the
  30675. * full specified locale is not found, the less specific one are
  30676. * looked for. The various part will be stripped off according to
  30677. * the following order:
  30678. * (1) codeset
  30679. * (2) normalized codeset
  30680. * (3) territory
  30681. * (4) modifier
  30682. *
  30683. * So since we don't take care of the codeset part here, what patterns
  30684. * we need to deal with is:
  30685. *
  30686. * 1. language_territory@modifier
  30687. * 2. language@modifier
  30688. * 3. language
  30689. *
  30690. * then. and maybe no need to try language_territory here.
  30691. */
  30692. modifier = libc.Xstrchr(tls, s, int32('@'))
  30693. if modifier != 0 {
  30694. *(*uint8)(unsafe.Pointer(modifier)) = uint8(0)
  30695. modifier++
  30696. mlen = libc.Xstrlen(tls, modifier)
  30697. }
  30698. encoding = libc.Xstrchr(tls, s, int32('.'))
  30699. if encoding != 0 {
  30700. *(*uint8)(unsafe.Pointer(encoding)) = uint8(0)
  30701. encoding++
  30702. if modifier != 0 {
  30703. libc.Xmemmove(tls, encoding, modifier, mlen+uint32(1))
  30704. modifier = encoding
  30705. }
  30706. }
  30707. territory = libc.Xstrchr(tls, s, int32('_'))
  30708. if !(territory != 0) {
  30709. territory = libc.Xstrchr(tls, s, int32('-'))
  30710. }
  30711. if territory != 0 {
  30712. *(*uint8)(unsafe.Pointer(territory)) = uint8(0)
  30713. territory++
  30714. tlen = libc.Xstrlen(tls, territory)
  30715. }
  30716. llen = libc.Xstrlen(tls, s)
  30717. if llen < uint32(2) || llen > uint32(3) {
  30718. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5711, libc.VaList(bp+8, lang))
  30719. goto bail0
  30720. }
  30721. if territory != 0 && (tlen < uint32(2) || tlen > uint32(3)) && !(libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(territory))) == int32('z') && tlen < uint32(5)) {
  30722. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5770, libc.VaList(bp+8, lang))
  30723. goto bail0
  30724. }
  30725. if territory != 0 {
  30726. *(*uint8)(unsafe.Pointer(territory + uintptr(-libc.Int32FromInt32(1)))) = uint8('-')
  30727. }
  30728. if modifier != 0 {
  30729. *(*uint8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = uint8('@')
  30730. }
  30731. orig = XIA__FcStrDowncase(tls, s)
  30732. if !(orig != 0) {
  30733. goto bail0
  30734. }
  30735. if territory != 0 {
  30736. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30737. libc.Xprintf(tls, __ccgo_ts+5827, libc.VaList(bp+8, s))
  30738. }
  30739. if _FcLangSetIndex(tls, s) < 0 {
  30740. if mlen > uint32(0) {
  30741. v1 = mlen + uint32(1)
  30742. } else {
  30743. v1 = uint32(0)
  30744. }
  30745. libc.Xmemmove(tls, territory-uintptr(1), territory+uintptr(tlen), v1+uint32(1))
  30746. if modifier != 0 {
  30747. modifier = territory
  30748. }
  30749. } else {
  30750. result = s
  30751. /* we'll miss the opportunity to reduce the correct size
  30752. * of the allocated memory for the string after that.
  30753. */
  30754. s = libc.UintptrFromInt32(0)
  30755. goto bail1
  30756. }
  30757. }
  30758. if modifier != 0 {
  30759. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30760. libc.Xprintf(tls, __ccgo_ts+5827, libc.VaList(bp+8, s))
  30761. }
  30762. if _FcLangSetIndex(tls, s) < 0 {
  30763. *(*uint8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = uint8(0)
  30764. } else {
  30765. result = s
  30766. /* we'll miss the opportunity to reduce the correct size
  30767. * of the allocated memory for the string after that.
  30768. */
  30769. s = libc.UintptrFromInt32(0)
  30770. goto bail1
  30771. }
  30772. }
  30773. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30774. libc.Xprintf(tls, __ccgo_ts+5827, libc.VaList(bp+8, s))
  30775. }
  30776. if _FcLangSetIndex(tls, s) < 0 {
  30777. /* there seems no languages matched in orth.
  30778. * add the language as is for fallback.
  30779. */
  30780. result = orig
  30781. orig = libc.UintptrFromInt32(0)
  30782. } else {
  30783. result = s
  30784. /* we'll miss the opportunity to reduce the correct size
  30785. * of the allocated memory for the string after that.
  30786. */
  30787. s = libc.UintptrFromInt32(0)
  30788. }
  30789. goto bail1
  30790. bail1:
  30791. ;
  30792. if orig != 0 {
  30793. XIA__FcStrFree(tls, orig)
  30794. }
  30795. goto bail0
  30796. bail0:
  30797. ;
  30798. if s != 0 {
  30799. libc.Xfree(tls, s)
  30800. }
  30801. goto bail
  30802. bail:
  30803. ;
  30804. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30805. if result != 0 {
  30806. libc.Xprintf(tls, __ccgo_ts+5862, libc.VaList(bp+8, lang, result))
  30807. } else {
  30808. libc.Xprintf(tls, __ccgo_ts+5884, libc.VaList(bp+8, lang))
  30809. }
  30810. }
  30811. return result
  30812. }
  30813. var XFcLangNormalize = XIA__FcLangNormalize
  30814. func XFcLangCompare(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcLangResult) {
  30815. var c1, c2 TFcChar8
  30816. var is_und TFcBool
  30817. var result TFcLangResult
  30818. var s1_orig, v7, v8 uintptr
  30819. var v1, v10, v11, v2, v4, v9 int32
  30820. var v3, v5 bool
  30821. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c1, c2, is_und, result, s1_orig, v1, v10, v11, v2, v3, v4, v5, v7, v8, v9
  30822. result = int32(_FcLangDifferentLang)
  30823. s1_orig = s1
  30824. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) <= int32(0132) {
  30825. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) - int32(0101) + int32(0141)
  30826. } else {
  30827. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1)))
  30828. }
  30829. if v3 = v1 == int32('u'); v3 {
  30830. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) <= int32(0132) {
  30831. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) - int32(0101) + int32(0141)
  30832. } else {
  30833. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1)))
  30834. }
  30835. }
  30836. if v5 = v3 && v2 == int32('n'); v5 {
  30837. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) <= int32(0132) {
  30838. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) - int32(0101) + int32(0141)
  30839. } else {
  30840. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2)))
  30841. }
  30842. }
  30843. is_und = libc.BoolInt32(v5 && v4 == int32('d') && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('-') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('\000')))
  30844. for {
  30845. v7 = s1
  30846. s1++
  30847. c1 = *(*TFcChar8)(unsafe.Pointer(v7))
  30848. v8 = s2
  30849. s2++
  30850. c2 = *(*TFcChar8)(unsafe.Pointer(v8))
  30851. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  30852. v9 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  30853. } else {
  30854. v9 = libc.Int32FromUint8(c1)
  30855. }
  30856. c1 = libc.Uint8FromInt32(v9)
  30857. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  30858. v10 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  30859. } else {
  30860. v10 = libc.Int32FromUint8(c2)
  30861. }
  30862. c2 = libc.Uint8FromInt32(v10)
  30863. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  30864. if !(is_und != 0) && (libc.Int32FromUint8(c1) == int32('-') || libc.Int32FromUint8(c1) == int32('\000')) && (libc.Int32FromUint8(c2) == int32('-') || libc.Int32FromUint8(c2) == int32('\000')) {
  30865. result = int32(_FcLangDifferentTerritory)
  30866. }
  30867. return result
  30868. } else {
  30869. if !(c1 != 0) {
  30870. if is_und != 0 {
  30871. v11 = result
  30872. } else {
  30873. v11 = int32(_FcLangEqual)
  30874. }
  30875. return v11
  30876. } else {
  30877. if libc.Int32FromUint8(c1) == int32('-') {
  30878. if !(is_und != 0) {
  30879. result = int32(_FcLangDifferentTerritory)
  30880. }
  30881. }
  30882. }
  30883. }
  30884. /* If we parsed past "und-", then do not consider it undefined anymore,
  30885. * as there's *something* specified. */
  30886. if is_und != 0 && int32(s1)-int32(s1_orig) == int32(4) {
  30887. is_und = m_FcFalse
  30888. }
  30889. goto _6
  30890. _6:
  30891. }
  30892. return r
  30893. }
  30894. /*
  30895. * Return FcTrue when super contains sub.
  30896. *
  30897. * super contains sub if super and sub have the same
  30898. * language and either the same country or one
  30899. * is missing the country
  30900. */
  30901. func _FcLangContains(tls *libc.TLS, super uintptr, sub uintptr) (r TFcBool) {
  30902. var c1, c2 TFcChar8
  30903. var v2, v3 uintptr
  30904. var v4, v5 int32
  30905. _, _, _, _, _, _ = c1, c2, v2, v3, v4, v5
  30906. for {
  30907. v2 = super
  30908. super++
  30909. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  30910. v3 = sub
  30911. sub++
  30912. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  30913. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  30914. v4 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  30915. } else {
  30916. v4 = libc.Int32FromUint8(c1)
  30917. }
  30918. c1 = libc.Uint8FromInt32(v4)
  30919. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  30920. v5 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  30921. } else {
  30922. v5 = libc.Int32FromUint8(c2)
  30923. }
  30924. c2 = libc.Uint8FromInt32(v5)
  30925. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  30926. /* see if super has a country while sub is missing one */
  30927. if libc.Int32FromUint8(c1) == int32('-') && libc.Int32FromUint8(c2) == int32('\000') {
  30928. return int32(m_FcTrue)
  30929. }
  30930. /* see if sub has a country while super is missing one */
  30931. if libc.Int32FromUint8(c1) == int32('\000') && libc.Int32FromUint8(c2) == int32('-') {
  30932. return int32(m_FcTrue)
  30933. }
  30934. return m_FcFalse
  30935. } else {
  30936. if !(c1 != 0) {
  30937. return int32(m_FcTrue)
  30938. }
  30939. }
  30940. goto _1
  30941. _1:
  30942. }
  30943. return r
  30944. }
  30945. func XIA__FcLangGetCharSet(tls *libc.TLS, lang uintptr) (r uintptr) {
  30946. var country, i int32
  30947. _, _ = country, i
  30948. country = -int32(1)
  30949. i = 0
  30950. for {
  30951. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30952. break
  30953. }
  30954. switch XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32) {
  30955. case int32(_FcLangEqual):
  30956. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*32 + 16
  30957. case int32(_FcLangDifferentTerritory):
  30958. if country == -int32(1) {
  30959. country = i
  30960. }
  30961. fallthrough
  30962. case int32(_FcLangDifferentLang):
  30963. fallthrough
  30964. default:
  30965. break
  30966. }
  30967. goto _1
  30968. _1:
  30969. ;
  30970. i++
  30971. }
  30972. if country == -int32(1) {
  30973. return uintptr(0)
  30974. }
  30975. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(country)*32 + 16
  30976. }
  30977. var XFcLangGetCharSet = XIA__FcLangGetCharSet
  30978. func XIA__FcGetLangs(tls *libc.TLS) (r uintptr) {
  30979. var i int32
  30980. var langs uintptr
  30981. _, _ = i, langs
  30982. langs = XIA__FcStrSetCreate(tls)
  30983. if !(langs != 0) {
  30984. return uintptr(0)
  30985. }
  30986. i = 0
  30987. for {
  30988. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30989. break
  30990. }
  30991. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32)
  30992. goto _1
  30993. _1:
  30994. ;
  30995. i++
  30996. }
  30997. return langs
  30998. }
  30999. var XFcGetLangs = XIA__FcGetLangs
  31000. func XIA__FcLangSetCreate(tls *libc.TLS) (r uintptr) {
  31001. var ls uintptr
  31002. _ = ls
  31003. ls = libc.Xmalloc(tls, uint32(40))
  31004. if !(ls != 0) {
  31005. return uintptr(0)
  31006. }
  31007. libc.Xmemset(tls, ls+8, int32('\000'), uint32(32))
  31008. (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  31009. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = uintptr(0)
  31010. return ls
  31011. }
  31012. var XFcLangSetCreate = XIA__FcLangSetCreate
  31013. func XIA__FcLangSetDestroy(tls *libc.TLS, ls uintptr) {
  31014. if !(ls != 0) {
  31015. return
  31016. }
  31017. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31018. XIA__FcStrSetDestroy(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31019. }
  31020. libc.Xfree(tls, ls)
  31021. }
  31022. var XFcLangSetDestroy = XIA__FcLangSetDestroy
  31023. func XIA__FcLangSetCopy(tls *libc.TLS, ls uintptr) (r uintptr) {
  31024. var extra, list, new1, v2 uintptr
  31025. var v1 uint32
  31026. _, _, _, _, _ = extra, list, new1, v1, v2
  31027. if !(ls != 0) {
  31028. return libc.UintptrFromInt32(0)
  31029. }
  31030. new1 = XIA__FcLangSetCreate(tls)
  31031. if !(new1 != 0) {
  31032. goto bail0
  31033. }
  31034. libc.Xmemset(tls, new1+8, int32('\000'), uint32(32))
  31035. if libc.Uint32FromInt64(32) < (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size*uint32(4) {
  31036. v1 = libc.Uint32FromInt64(32)
  31037. } else {
  31038. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size * uint32(4)
  31039. }
  31040. libc.Xmemcpy(tls, new1+8, ls+8, v1)
  31041. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31042. (*TFcLangSet)(unsafe.Pointer(new1)).Fextra = XIA__FcStrSetCreate(tls)
  31043. if !((*TFcLangSet)(unsafe.Pointer(new1)).Fextra != 0) {
  31044. goto bail1
  31045. }
  31046. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31047. if !(list != 0) {
  31048. goto bail1
  31049. }
  31050. for {
  31051. v2 = XIA__FcStrListNext(tls, list)
  31052. extra = v2
  31053. if !(v2 != 0) {
  31054. break
  31055. }
  31056. if !(XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(new1)).Fextra, extra) != 0) {
  31057. XIA__FcStrListDone(tls, list)
  31058. goto bail1
  31059. }
  31060. }
  31061. XIA__FcStrListDone(tls, list)
  31062. }
  31063. return new1
  31064. goto bail1
  31065. bail1:
  31066. ;
  31067. XIA__FcLangSetDestroy(tls, new1)
  31068. goto bail0
  31069. bail0:
  31070. ;
  31071. return uintptr(0)
  31072. return r
  31073. }
  31074. var XFcLangSetCopy = XIA__FcLangSetCopy
  31075. // C documentation
  31076. //
  31077. // /* When the language isn't found, the return value r is such that:
  31078. // * 1) r < 0
  31079. // * 2) -r -1 is the index of the first language in fcLangCharSets that comes
  31080. // * after the 'lang' argument in lexicographic order.
  31081. // *
  31082. // * The -1 is necessary to avoid problems with language id 0 (otherwise, we
  31083. // * wouldn't be able to distinguish between “language found, id is 0” and
  31084. // * “language not found, sorts right before the language with id 0”).
  31085. // */
  31086. func _FcLangSetIndex(tls *libc.TLS, lang uintptr) (r int32) {
  31087. var cmp, high, low, mid, v1, v2, v3 int32
  31088. var firstChar, secondChar TFcChar8
  31089. _, _, _, _, _, _, _, _, _ = cmp, firstChar, high, low, mid, secondChar, v1, v2, v3
  31090. mid = 0
  31091. cmp = 0
  31092. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) <= int32(0132) {
  31093. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) - int32(0101) + int32(0141)
  31094. } else {
  31095. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang)))
  31096. }
  31097. firstChar = libc.Uint8FromInt32(v1)
  31098. if firstChar != 0 {
  31099. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) <= int32(0132) {
  31100. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) - int32(0101) + int32(0141)
  31101. } else {
  31102. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1)))
  31103. }
  31104. v2 = v3
  31105. } else {
  31106. v2 = int32('\000')
  31107. }
  31108. secondChar = libc.Uint8FromInt32(v2)
  31109. if libc.Int32FromUint8(firstChar) < int32('a') {
  31110. low = 0
  31111. high = _fcLangCharSetRanges[0].Fbegin
  31112. } else {
  31113. if libc.Int32FromUint8(firstChar) > int32('z') {
  31114. low = _fcLangCharSetRanges[int32(25)].Fbegin
  31115. high = libc.Int32FromInt32(m_NUM_LANG_CHAR_SET) - libc.Int32FromInt32(1)
  31116. } else {
  31117. low = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fbegin
  31118. high = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fend
  31119. /* no matches */
  31120. if low > high {
  31121. return -(low + int32(1))
  31122. } /* one past next entry after where it would be */
  31123. }
  31124. }
  31125. for low <= high {
  31126. mid = (high + low) >> int32(1)
  31127. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*32))) != libc.Int32FromUint8(firstChar) {
  31128. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*32, lang)
  31129. } else {
  31130. /* fast path for resolving 2-letter languages (by far the most common) after
  31131. * finding the first char (probably already true because of the hash table) */
  31132. cmp = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*32 + 1))) - libc.Int32FromUint8(secondChar)
  31133. if cmp == 0 && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*32 + 2))) != int32('\000') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 2))) != int32('\000')) {
  31134. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*32+uintptr(2), lang+uintptr(2))
  31135. }
  31136. }
  31137. if cmp == 0 {
  31138. return mid
  31139. }
  31140. if cmp < 0 {
  31141. low = mid + int32(1)
  31142. } else {
  31143. high = mid - int32(1)
  31144. }
  31145. }
  31146. if cmp < 0 {
  31147. mid++
  31148. }
  31149. return -(mid + int32(1))
  31150. }
  31151. func XIA__FcLangSetAdd(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31152. var id int32
  31153. _ = id
  31154. id = _FcLangSetIndex(tls, lang)
  31155. if id >= 0 {
  31156. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(id))
  31157. return int32(m_FcTrue)
  31158. }
  31159. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  31160. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = XIA__FcStrSetCreate(tls)
  31161. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  31162. return m_FcFalse
  31163. }
  31164. }
  31165. return XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  31166. }
  31167. var XFcLangSetAdd = XIA__FcLangSetAdd
  31168. func XIA__FcLangSetDel(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31169. var id int32
  31170. _ = id
  31171. id = _FcLangSetIndex(tls, lang)
  31172. if id >= 0 {
  31173. _FcLangSetBitReset(tls, ls, libc.Uint32FromInt32(id))
  31174. } else {
  31175. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31176. XIA__FcStrSetDel(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  31177. }
  31178. }
  31179. return int32(m_FcTrue)
  31180. }
  31181. var XFcLangSetDel = XIA__FcLangSetDel
  31182. func XIA__FcLangSetHasLang(tls *libc.TLS, ls uintptr, lang uintptr) (r1 TFcLangResult) {
  31183. var best, r TFcLangResult
  31184. var extra, list, v3 uintptr
  31185. var i, id int32
  31186. var v4 bool
  31187. _, _, _, _, _, _, _, _ = best, extra, i, id, list, r, v3, v4
  31188. id = _FcLangSetIndex(tls, lang)
  31189. if id < 0 {
  31190. id = -id - int32(1)
  31191. } else {
  31192. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  31193. return int32(_FcLangEqual)
  31194. }
  31195. }
  31196. best = int32(_FcLangDifferentLang)
  31197. i = id - int32(1)
  31198. for {
  31199. if !(i >= 0) {
  31200. break
  31201. }
  31202. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32)
  31203. if r == int32(_FcLangDifferentLang) {
  31204. break
  31205. }
  31206. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  31207. best = r
  31208. }
  31209. goto _1
  31210. _1:
  31211. ;
  31212. i--
  31213. }
  31214. i = id
  31215. for {
  31216. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31217. break
  31218. }
  31219. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32)
  31220. if r == int32(_FcLangDifferentLang) {
  31221. break
  31222. }
  31223. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  31224. best = r
  31225. }
  31226. goto _2
  31227. _2:
  31228. ;
  31229. i++
  31230. }
  31231. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31232. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31233. if list != 0 {
  31234. for {
  31235. if v4 = best > int32(_FcLangEqual); v4 {
  31236. v3 = XIA__FcStrListNext(tls, list)
  31237. extra = v3
  31238. }
  31239. if !(v4 && v3 != 0) {
  31240. break
  31241. }
  31242. r = XFcLangCompare(tls, lang, extra)
  31243. if r < best {
  31244. best = r
  31245. }
  31246. }
  31247. XIA__FcStrListDone(tls, list)
  31248. }
  31249. }
  31250. return best
  31251. }
  31252. var XFcLangSetHasLang = XIA__FcLangSetHasLang
  31253. func _FcLangSetCompareStrSet(tls *libc.TLS, ls uintptr, set uintptr) (r1 TFcLangResult) {
  31254. var best, r TFcLangResult
  31255. var extra, list, v1 uintptr
  31256. var v2 bool
  31257. _, _, _, _, _, _ = best, extra, list, r, v1, v2
  31258. list = XIA__FcStrListCreate(tls, set)
  31259. best = int32(_FcLangDifferentLang)
  31260. if list != 0 {
  31261. for {
  31262. if v2 = best > int32(_FcLangEqual); v2 {
  31263. v1 = XIA__FcStrListNext(tls, list)
  31264. extra = v1
  31265. }
  31266. if !(v2 && v1 != 0) {
  31267. break
  31268. }
  31269. r = XIA__FcLangSetHasLang(tls, ls, extra)
  31270. if r < best {
  31271. best = r
  31272. }
  31273. }
  31274. XIA__FcStrListDone(tls, list)
  31275. }
  31276. return best
  31277. }
  31278. func XIA__FcLangSetCompare(tls *libc.TLS, lsa uintptr, lsb uintptr) (r1 TFcLangResult) {
  31279. var aInCountrySet, bInCountrySet TFcChar32
  31280. var best, r TFcLangResult
  31281. var count, i, j, v2 int32
  31282. var v1 uint32
  31283. _, _, _, _, _, _, _, _, _ = aInCountrySet, bInCountrySet, best, count, i, j, r, v1, v2
  31284. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31285. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31286. } else {
  31287. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31288. }
  31289. count = libc.Int32FromUint32(v1)
  31290. if int32(m_NUM_LANG_SET_MAP) < count {
  31291. v2 = int32(m_NUM_LANG_SET_MAP)
  31292. } else {
  31293. v2 = count
  31294. }
  31295. count = v2
  31296. i = 0
  31297. for {
  31298. if !(i < count) {
  31299. break
  31300. }
  31301. if *(*TFcChar32)(unsafe.Pointer(lsa + 8 + uintptr(i)*4))&*(*TFcChar32)(unsafe.Pointer(lsb + 8 + uintptr(i)*4)) != 0 {
  31302. return int32(_FcLangEqual)
  31303. }
  31304. goto _3
  31305. _3:
  31306. ;
  31307. i++
  31308. }
  31309. best = int32(_FcLangDifferentLang)
  31310. j = 0
  31311. for {
  31312. if !(j < int32(m_NUM_COUNTRY_SET)) {
  31313. break
  31314. }
  31315. aInCountrySet = uint32(0)
  31316. bInCountrySet = uint32(0)
  31317. i = 0
  31318. for {
  31319. if !(i < count) {
  31320. break
  31321. }
  31322. aInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsa + 8 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  31323. bInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsb + 8 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  31324. if aInCountrySet != 0 && bInCountrySet != 0 {
  31325. best = int32(_FcLangDifferentTerritory)
  31326. break
  31327. }
  31328. goto _5
  31329. _5:
  31330. ;
  31331. i++
  31332. }
  31333. goto _4
  31334. _4:
  31335. ;
  31336. j++
  31337. }
  31338. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 {
  31339. r = _FcLangSetCompareStrSet(tls, lsb, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra)
  31340. if r < best {
  31341. best = r
  31342. }
  31343. }
  31344. if best > int32(_FcLangEqual) && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31345. r = _FcLangSetCompareStrSet(tls, lsa, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31346. if r < best {
  31347. best = r
  31348. }
  31349. }
  31350. return best
  31351. }
  31352. var XFcLangSetCompare = XIA__FcLangSetCompare
  31353. // C documentation
  31354. //
  31355. // /*
  31356. // * Used in computing values -- mustn't allocate any storage
  31357. // */
  31358. func XFcLangSetPromote(tls *libc.TLS, lang uintptr, vbuf uintptr) (r uintptr) {
  31359. var buf uintptr
  31360. var id int32
  31361. _, _ = buf, id
  31362. buf = vbuf
  31363. libc.Xmemset(tls, buf+8, int32('\000'), uint32(32))
  31364. (*struct {
  31365. Fls TFcLangSet
  31366. Fstrs TFcStrSet
  31367. Fstr uintptr
  31368. })(unsafe.Pointer(buf)).Fls.Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  31369. (*struct {
  31370. Fls TFcLangSet
  31371. Fstrs TFcStrSet
  31372. Fstr uintptr
  31373. })(unsafe.Pointer(buf)).Fls.Fextra = uintptr(0)
  31374. if lang != 0 {
  31375. id = _FcLangSetIndex(tls, lang)
  31376. if id >= 0 {
  31377. _FcLangSetBitSet(tls, buf, libc.Uint32FromInt32(id))
  31378. } else {
  31379. (*struct {
  31380. Fls TFcLangSet
  31381. Fstrs TFcStrSet
  31382. Fstr uintptr
  31383. })(unsafe.Pointer(buf)).Fls.Fextra = buf + 40
  31384. (*struct {
  31385. Fls TFcLangSet
  31386. Fstrs TFcStrSet
  31387. Fstr uintptr
  31388. })(unsafe.Pointer(buf)).Fstrs.Fnum = int32(1)
  31389. (*struct {
  31390. Fls TFcLangSet
  31391. Fstrs TFcStrSet
  31392. Fstr uintptr
  31393. })(unsafe.Pointer(buf)).Fstrs.Fsize = int32(1)
  31394. (*struct {
  31395. Fls TFcLangSet
  31396. Fstrs TFcStrSet
  31397. Fstr uintptr
  31398. })(unsafe.Pointer(buf)).Fstrs.Fstrs = buf + 60
  31399. (*TFcRef)(unsafe.Pointer(buf + 40)).Fcount = int32(1)
  31400. (*struct {
  31401. Fls TFcLangSet
  31402. Fstrs TFcStrSet
  31403. Fstr uintptr
  31404. })(unsafe.Pointer(buf)).Fstr = lang
  31405. }
  31406. }
  31407. return buf
  31408. }
  31409. func XIA__FcLangSetHash(tls *libc.TLS, ls uintptr) (r TFcChar32) {
  31410. var count, i int32
  31411. var h TFcChar32
  31412. var v1 uint32
  31413. _, _, _, _ = count, h, i, v1
  31414. h = uint32(0)
  31415. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  31416. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  31417. } else {
  31418. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  31419. }
  31420. count = libc.Int32FromUint32(v1)
  31421. i = 0
  31422. for {
  31423. if !(i < count) {
  31424. break
  31425. }
  31426. h ^= *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(i)*4))
  31427. goto _2
  31428. _2:
  31429. ;
  31430. i++
  31431. }
  31432. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31433. h ^= libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer((*TFcLangSet)(unsafe.Pointer(ls)).Fextra)).Fnum)
  31434. }
  31435. return h
  31436. }
  31437. var XFcLangSetHash = XIA__FcLangSetHash
  31438. func XFcNameParseLangSet(tls *libc.TLS, string1 uintptr) (r uintptr) {
  31439. bp := tls.Alloc(32)
  31440. defer tls.Free(32)
  31441. var c TFcChar8
  31442. var i int32
  31443. var ls, v3 uintptr
  31444. var _ /* lang at bp+0 */ [32]TFcChar8
  31445. _, _, _, _ = c, i, ls, v3
  31446. c = uint8(0)
  31447. ls = XIA__FcLangSetCreate(tls)
  31448. if !(ls != 0) {
  31449. goto bail0
  31450. }
  31451. for {
  31452. i = 0
  31453. for {
  31454. if !(i < int32(31)) {
  31455. break
  31456. }
  31457. v3 = string1
  31458. string1++
  31459. c = *(*TFcChar8)(unsafe.Pointer(v3))
  31460. if libc.Int32FromUint8(c) == int32('\000') || libc.Int32FromUint8(c) == int32('|') {
  31461. break
  31462. } /* end of this code */
  31463. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = c
  31464. goto _2
  31465. _2:
  31466. ;
  31467. i++
  31468. }
  31469. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = uint8('\000')
  31470. if !(XIA__FcLangSetAdd(tls, ls, bp) != 0) {
  31471. goto bail1
  31472. }
  31473. if libc.Int32FromUint8(c) == int32('\000') {
  31474. break
  31475. }
  31476. goto _1
  31477. _1:
  31478. }
  31479. return ls
  31480. goto bail1
  31481. bail1:
  31482. ;
  31483. XIA__FcLangSetDestroy(tls, ls)
  31484. goto bail0
  31485. bail0:
  31486. ;
  31487. return uintptr(0)
  31488. return r
  31489. }
  31490. func XFcNameUnparseLangSet(tls *libc.TLS, buf uintptr, ls uintptr) (r TFcBool) {
  31491. var bit, count, i, id int32
  31492. var bits, v3 TFcChar32
  31493. var extra, list, v5 uintptr
  31494. var first TFcBool
  31495. var v1 uint32
  31496. _, _, _, _, _, _, _, _, _, _, _ = bit, bits, count, extra, first, i, id, list, v1, v3, v5
  31497. first = int32(m_FcTrue)
  31498. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  31499. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  31500. } else {
  31501. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  31502. }
  31503. count = libc.Int32FromUint32(v1)
  31504. i = 0
  31505. for {
  31506. if !(i < count) {
  31507. break
  31508. }
  31509. v3 = *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(i)*4))
  31510. bits = v3
  31511. if v3 != 0 {
  31512. bit = 0
  31513. for {
  31514. if !(bit <= int32(31)) {
  31515. break
  31516. }
  31517. if bits&(uint32(1)<<bit) != 0 {
  31518. id = i<<int32(5) | bit
  31519. if !(first != 0) {
  31520. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  31521. return m_FcFalse
  31522. }
  31523. }
  31524. if !(XFcStrBufString(tls, buf, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35998 + uintptr(id))))*32) != 0) {
  31525. return m_FcFalse
  31526. }
  31527. first = m_FcFalse
  31528. }
  31529. goto _4
  31530. _4:
  31531. ;
  31532. bit++
  31533. }
  31534. }
  31535. goto _2
  31536. _2:
  31537. ;
  31538. i++
  31539. }
  31540. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31541. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31542. if !(list != 0) {
  31543. return m_FcFalse
  31544. }
  31545. for {
  31546. v5 = XIA__FcStrListNext(tls, list)
  31547. extra = v5
  31548. if !(v5 != 0) {
  31549. break
  31550. }
  31551. if !(first != 0) {
  31552. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  31553. XIA__FcStrListDone(tls, list)
  31554. return m_FcFalse
  31555. }
  31556. }
  31557. if !(XFcStrBufString(tls, buf, extra) != 0) {
  31558. XIA__FcStrListDone(tls, list)
  31559. return m_FcFalse
  31560. }
  31561. first = m_FcFalse
  31562. }
  31563. XIA__FcStrListDone(tls, list)
  31564. }
  31565. return int32(m_FcTrue)
  31566. }
  31567. func XIA__FcLangSetEqual(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  31568. var count, i, v2 int32
  31569. var v1 uint32
  31570. _, _, _, _ = count, i, v1, v2
  31571. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31572. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31573. } else {
  31574. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31575. }
  31576. count = libc.Int32FromUint32(v1)
  31577. if int32(m_NUM_LANG_SET_MAP) < count {
  31578. v2 = int32(m_NUM_LANG_SET_MAP)
  31579. } else {
  31580. v2 = count
  31581. }
  31582. count = v2
  31583. i = 0
  31584. for {
  31585. if !(i < count) {
  31586. break
  31587. }
  31588. if *(*TFcChar32)(unsafe.Pointer(lsa + 8 + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer(lsb + 8 + uintptr(i)*4)) {
  31589. return m_FcFalse
  31590. }
  31591. goto _3
  31592. _3:
  31593. ;
  31594. i++
  31595. }
  31596. if !((*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0) && !((*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0) {
  31597. return int32(m_FcTrue)
  31598. }
  31599. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31600. return XIA__FcStrSetEqual(tls, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31601. }
  31602. return m_FcFalse
  31603. }
  31604. var XFcLangSetEqual = XIA__FcLangSetEqual
  31605. func _FcLangSetContainsLang(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31606. var extra, list, v3 uintptr
  31607. var i, id int32
  31608. _, _, _, _, _ = extra, i, id, list, v3
  31609. id = _FcLangSetIndex(tls, lang)
  31610. if id < 0 {
  31611. id = -id - int32(1)
  31612. } else {
  31613. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  31614. return int32(m_FcTrue)
  31615. }
  31616. }
  31617. /*
  31618. * search up and down among equal languages for a match
  31619. */
  31620. i = id - int32(1)
  31621. for {
  31622. if !(i >= 0) {
  31623. break
  31624. }
  31625. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, lang) == int32(_FcLangDifferentLang) {
  31626. break
  31627. }
  31628. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, lang) != 0 {
  31629. return int32(m_FcTrue)
  31630. }
  31631. goto _1
  31632. _1:
  31633. ;
  31634. i--
  31635. }
  31636. i = id
  31637. for {
  31638. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31639. break
  31640. }
  31641. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, lang) == int32(_FcLangDifferentLang) {
  31642. break
  31643. }
  31644. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, lang) != 0 {
  31645. return int32(m_FcTrue)
  31646. }
  31647. goto _2
  31648. _2:
  31649. ;
  31650. i++
  31651. }
  31652. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31653. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31654. if list != 0 {
  31655. for {
  31656. v3 = XIA__FcStrListNext(tls, list)
  31657. extra = v3
  31658. if !(v3 != 0) {
  31659. break
  31660. }
  31661. if _FcLangContains(tls, extra, lang) != 0 {
  31662. break
  31663. }
  31664. }
  31665. XIA__FcStrListDone(tls, list)
  31666. if extra != 0 {
  31667. return int32(m_FcTrue)
  31668. }
  31669. }
  31670. }
  31671. return m_FcFalse
  31672. }
  31673. // C documentation
  31674. //
  31675. // /*
  31676. // * return FcTrue if lsa contains every language in lsb
  31677. // */
  31678. func XIA__FcLangSetContains(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  31679. bp := tls.Alloc(16)
  31680. defer tls.Free(16)
  31681. var count, i, j, v2 int32
  31682. var extra, list, v5 uintptr
  31683. var missing TFcChar32
  31684. var v1 uint32
  31685. _, _, _, _, _, _, _, _, _ = count, extra, i, j, list, missing, v1, v2, v5
  31686. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31687. libc.Xprintf(tls, __ccgo_ts+5908, 0)
  31688. XFcLangSetPrint(tls, lsa)
  31689. libc.Xprintf(tls, __ccgo_ts+5919, 0)
  31690. XFcLangSetPrint(tls, lsb)
  31691. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  31692. }
  31693. /*
  31694. * check bitmaps for missing language support
  31695. */
  31696. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31697. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31698. } else {
  31699. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31700. }
  31701. count = libc.Int32FromUint32(v1)
  31702. if int32(m_NUM_LANG_SET_MAP) < count {
  31703. v2 = int32(m_NUM_LANG_SET_MAP)
  31704. } else {
  31705. v2 = count
  31706. }
  31707. count = v2
  31708. i = 0
  31709. for {
  31710. if !(i < count) {
  31711. break
  31712. }
  31713. missing = *(*TFcChar32)(unsafe.Pointer(lsb + 8 + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(lsa + 8 + uintptr(i)*4))
  31714. if missing != 0 {
  31715. j = 0
  31716. for {
  31717. if !(j < int32(32)) {
  31718. break
  31719. }
  31720. if missing&(uint32(1)<<j) != 0 {
  31721. if !(_FcLangSetContainsLang(tls, lsa, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35998 + uintptr(i*int32(32)+j))))*32) != 0) {
  31722. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31723. libc.Xprintf(tls, __ccgo_ts+5930, libc.VaList(bp+8, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35998 + uintptr(i*int32(32)+j))))*32))
  31724. }
  31725. return m_FcFalse
  31726. }
  31727. }
  31728. goto _4
  31729. _4:
  31730. ;
  31731. j++
  31732. }
  31733. }
  31734. goto _3
  31735. _3:
  31736. ;
  31737. i++
  31738. }
  31739. if (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31740. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31741. if list != 0 {
  31742. for {
  31743. v5 = XIA__FcStrListNext(tls, list)
  31744. extra = v5
  31745. if !(v5 != 0) {
  31746. break
  31747. }
  31748. if !(_FcLangSetContainsLang(tls, lsa, extra) != 0) {
  31749. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31750. libc.Xprintf(tls, __ccgo_ts+5950, libc.VaList(bp+8, extra))
  31751. }
  31752. break
  31753. }
  31754. }
  31755. XIA__FcStrListDone(tls, list)
  31756. if extra != 0 {
  31757. return m_FcFalse
  31758. }
  31759. }
  31760. }
  31761. return int32(m_FcTrue)
  31762. }
  31763. var XFcLangSetContains = XIA__FcLangSetContains
  31764. func XFcLangSetSerializeAlloc(tls *libc.TLS, serialize uintptr, l uintptr) (r TFcBool) {
  31765. if !(XFcSerializeAlloc(tls, serialize, l, int32(40)) != 0) {
  31766. return m_FcFalse
  31767. }
  31768. return int32(m_FcTrue)
  31769. }
  31770. func XFcLangSetSerialize(tls *libc.TLS, serialize uintptr, l uintptr) (r uintptr) {
  31771. var l_serialize uintptr
  31772. var v1 uint32
  31773. _, _ = l_serialize, v1
  31774. l_serialize = XFcSerializePtr(tls, serialize, l)
  31775. if !(l_serialize != 0) {
  31776. return libc.UintptrFromInt32(0)
  31777. }
  31778. libc.Xmemset(tls, l_serialize+8, int32('\000'), uint32(32))
  31779. if libc.Uint32FromInt64(32) < (*TFcLangSet)(unsafe.Pointer(l)).Fmap_size*uint32(4) {
  31780. v1 = libc.Uint32FromInt64(32)
  31781. } else {
  31782. v1 = (*TFcLangSet)(unsafe.Pointer(l)).Fmap_size * uint32(4)
  31783. }
  31784. libc.Xmemcpy(tls, l_serialize+8, l+8, v1)
  31785. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  31786. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fextra = libc.UintptrFromInt32(0) /* We don't serialize ls->extra */
  31787. return l_serialize
  31788. }
  31789. func XIA__FcLangSetGetLangs(tls *libc.TLS, ls uintptr) (r uintptr) {
  31790. var extra, langs, list, v2 uintptr
  31791. var i int32
  31792. _, _, _, _, _ = extra, i, langs, list, v2
  31793. langs = XIA__FcStrSetCreate(tls)
  31794. if !(langs != 0) {
  31795. return uintptr(0)
  31796. }
  31797. i = 0
  31798. for {
  31799. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31800. break
  31801. }
  31802. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 {
  31803. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32)
  31804. }
  31805. goto _1
  31806. _1:
  31807. ;
  31808. i++
  31809. }
  31810. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31811. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31812. if list != 0 {
  31813. for {
  31814. v2 = XIA__FcStrListNext(tls, list)
  31815. extra = v2
  31816. if !(v2 != 0) {
  31817. break
  31818. }
  31819. XIA__FcStrSetAdd(tls, langs, extra)
  31820. }
  31821. XIA__FcStrListDone(tls, list)
  31822. }
  31823. }
  31824. return langs
  31825. }
  31826. var XFcLangSetGetLangs = XIA__FcLangSetGetLangs
  31827. func _FcLangSetOperate(tls *libc.TLS, a uintptr, b uintptr, func1 uintptr) (r uintptr) {
  31828. var langset, set, sl, str, v1 uintptr
  31829. _, _, _, _, _ = langset, set, sl, str, v1
  31830. langset = XIA__FcLangSetCopy(tls, a)
  31831. set = XIA__FcLangSetGetLangs(tls, b)
  31832. sl = XIA__FcStrListCreate(tls, set)
  31833. XIA__FcStrSetDestroy(tls, set)
  31834. for {
  31835. v1 = XIA__FcStrListNext(tls, sl)
  31836. str = v1
  31837. if !(v1 != 0) {
  31838. break
  31839. }
  31840. (*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, langset, str)
  31841. }
  31842. XIA__FcStrListDone(tls, sl)
  31843. return langset
  31844. }
  31845. func XIA__FcLangSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  31846. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetAdd))
  31847. }
  31848. var XFcLangSetUnion = XIA__FcLangSetUnion
  31849. func XIA__FcLangSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  31850. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetDel))
  31851. }
  31852. var XFcLangSetSubtract = XIA__FcLangSetSubtract
  31853. const m_FC_LIST_HASH_SIZE = 4099
  31854. func XIA__FcObjectSetCreate(tls *libc.TLS) (r uintptr) {
  31855. var os uintptr
  31856. _ = os
  31857. os = libc.Xmalloc(tls, uint32(12))
  31858. if !(os != 0) {
  31859. return uintptr(0)
  31860. }
  31861. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject = 0
  31862. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = 0
  31863. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = uintptr(0)
  31864. return os
  31865. }
  31866. var XFcObjectSetCreate = XIA__FcObjectSetCreate
  31867. func XIA__FcObjectSetAdd(tls *libc.TLS, os uintptr, object uintptr) (r TFcBool) {
  31868. var c, high, low, mid, s int32
  31869. var objects uintptr
  31870. _, _, _, _, _, _ = c, high, low, mid, objects, s
  31871. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject {
  31872. s = (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject + int32(4)
  31873. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  31874. objects = libc.Xrealloc(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects, libc.Uint32FromInt32(s)*uint32(4))
  31875. } else {
  31876. objects = libc.Xmalloc(tls, libc.Uint32FromInt32(s)*uint32(4))
  31877. }
  31878. if !(objects != 0) {
  31879. return m_FcFalse
  31880. }
  31881. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = objects
  31882. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = s
  31883. }
  31884. high = (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject - int32(1)
  31885. low = 0
  31886. mid = 0
  31887. c = int32(1)
  31888. object = libc.Xstrdup(tls, object)
  31889. for low <= high {
  31890. mid = (low + high) >> int32(1)
  31891. c = int32(*(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*4))) - int32(object)
  31892. if c == 0 {
  31893. libc.Xfree(tls, object)
  31894. return int32(m_FcTrue)
  31895. }
  31896. if c < 0 {
  31897. low = mid + int32(1)
  31898. } else {
  31899. high = mid - int32(1)
  31900. }
  31901. }
  31902. if c < 0 {
  31903. mid++
  31904. }
  31905. libc.Xmemmove(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*4+uintptr(1)*4, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*4, libc.Uint32FromInt32((*TFcObjectSet)(unsafe.Pointer(os)).Fnobject-mid)*uint32(4))
  31906. *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*4)) = object
  31907. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject++
  31908. return int32(m_FcTrue)
  31909. }
  31910. var XFcObjectSetAdd = XIA__FcObjectSetAdd
  31911. func XIA__FcObjectSetDestroy(tls *libc.TLS, os uintptr) {
  31912. var i int32
  31913. _ = i
  31914. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  31915. i = 0
  31916. for {
  31917. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31918. break
  31919. }
  31920. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)))
  31921. goto _1
  31922. _1:
  31923. ;
  31924. i++
  31925. }
  31926. libc.Xfree(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)
  31927. }
  31928. libc.Xfree(tls, os)
  31929. }
  31930. var XFcObjectSetDestroy = XIA__FcObjectSetDestroy
  31931. func XIA__FcObjectSetVaBuild(tls *libc.TLS, first uintptr, va Tva_list) (r uintptr) {
  31932. var __ob__, __os__, ret uintptr
  31933. _, _, _ = __ob__, __os__, ret
  31934. ret = uintptr(0)
  31935. __os__ = XIA__FcObjectSetCreate(tls)
  31936. if !(__os__ != 0) {
  31937. goto _FcObjectSetVapBuild_bail0
  31938. }
  31939. __ob__ = first
  31940. for __ob__ != 0 {
  31941. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  31942. goto _FcObjectSetVapBuild_bail1
  31943. }
  31944. __ob__ = libc.VaUintptr(&va)
  31945. }
  31946. ret = __os__
  31947. goto _FcObjectSetVapBuild_bail1
  31948. _FcObjectSetVapBuild_bail1:
  31949. ;
  31950. if !(ret != 0) && __os__ != 0 {
  31951. XIA__FcObjectSetDestroy(tls, __os__)
  31952. }
  31953. goto _FcObjectSetVapBuild_bail0
  31954. _FcObjectSetVapBuild_bail0:
  31955. ;
  31956. return ret
  31957. }
  31958. var XFcObjectSetVaBuild = XIA__FcObjectSetVaBuild
  31959. func XIA__FcObjectSetBuild(tls *libc.TLS, first uintptr, va1 uintptr) (r uintptr) {
  31960. var __ob__, __os__, os uintptr
  31961. var va Tva_list
  31962. _, _, _, _ = __ob__, __os__, os, va
  31963. va = va1
  31964. os = uintptr(0)
  31965. __os__ = XIA__FcObjectSetCreate(tls)
  31966. if !(__os__ != 0) {
  31967. goto _FcObjectSetVapBuild_bail0
  31968. }
  31969. __ob__ = first
  31970. for __ob__ != 0 {
  31971. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  31972. goto _FcObjectSetVapBuild_bail1
  31973. }
  31974. __ob__ = libc.VaUintptr(&va)
  31975. }
  31976. os = __os__
  31977. goto _FcObjectSetVapBuild_bail1
  31978. _FcObjectSetVapBuild_bail1:
  31979. ;
  31980. if !(os != 0) && __os__ != 0 {
  31981. XIA__FcObjectSetDestroy(tls, __os__)
  31982. }
  31983. goto _FcObjectSetVapBuild_bail0
  31984. _FcObjectSetVapBuild_bail0:
  31985. ;
  31986. _ = va
  31987. return os
  31988. }
  31989. var XFcObjectSetBuild = XIA__FcObjectSetBuild
  31990. // C documentation
  31991. //
  31992. // /*
  31993. // * Font must have a containing value for every value in the pattern
  31994. // */
  31995. func _FcListValueListMatchAny(tls *libc.TLS, patOrig TFcValueListPtr, fntOrig TFcValueListPtr) (r TFcBool) {
  31996. /* font */
  31997. var fnt, pat TFcValueListPtr
  31998. var v3, v4 uintptr
  31999. _, _, _, _ = fnt, pat, v3, v4
  32000. pat = patOrig
  32001. for {
  32002. if !(pat != libc.UintptrFromInt32(0)) {
  32003. break
  32004. }
  32005. fnt = fntOrig
  32006. for {
  32007. if !(fnt != libc.UintptrFromInt32(0)) {
  32008. break
  32009. }
  32010. /*
  32011. * make sure the font 'contains' the pattern.
  32012. * (OpListing is OpContains except for strings
  32013. * where it requires an exact match)
  32014. */
  32015. if XFcConfigCompareValue(tls, fnt+8, libc.Uint32FromInt32(int32(_FcOpListing)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), pat+8) != 0 {
  32016. break
  32017. }
  32018. goto _2
  32019. _2:
  32020. ;
  32021. if int32((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int32(1) != 0 {
  32022. v3 = uintptr(int32(fnt) + int32((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext) & ^libc.Int32FromInt32(1))
  32023. } else {
  32024. v3 = (*T_FcValueList)(unsafe.Pointer(fnt)).Fnext
  32025. }
  32026. fnt = v3
  32027. }
  32028. if fnt == libc.UintptrFromInt32(0) {
  32029. return m_FcFalse
  32030. }
  32031. goto _1
  32032. _1:
  32033. ;
  32034. if int32((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int32(1) != 0 {
  32035. v4 = uintptr(int32(pat) + int32((*T_FcValueList)(unsafe.Pointer(pat)).Fnext) & ^libc.Int32FromInt32(1))
  32036. } else {
  32037. v4 = (*T_FcValueList)(unsafe.Pointer(pat)).Fnext
  32038. }
  32039. pat = v4
  32040. }
  32041. return int32(m_FcTrue)
  32042. }
  32043. func _FcListValueListEqual(tls *libc.TLS, v1orig TFcValueListPtr, v2orig TFcValueListPtr) (r TFcBool) {
  32044. var v1, v2 TFcValueListPtr
  32045. var v3, v4, v7, v8 uintptr
  32046. _, _, _, _, _, _ = v1, v2, v3, v4, v7, v8
  32047. v1 = v1orig
  32048. for {
  32049. if !(v1 != libc.UintptrFromInt32(0)) {
  32050. break
  32051. }
  32052. v2 = v2orig
  32053. for {
  32054. if !(v2 != libc.UintptrFromInt32(0)) {
  32055. break
  32056. }
  32057. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  32058. break
  32059. }
  32060. goto _2
  32061. _2:
  32062. ;
  32063. if int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int32(1) != 0 {
  32064. v3 = uintptr(int32(v2) + int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext) & ^libc.Int32FromInt32(1))
  32065. } else {
  32066. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  32067. }
  32068. v2 = v3
  32069. }
  32070. if v2 == libc.UintptrFromInt32(0) {
  32071. return m_FcFalse
  32072. }
  32073. goto _1
  32074. _1:
  32075. ;
  32076. if int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int32(1) != 0 {
  32077. v4 = uintptr(int32(v1) + int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext) & ^libc.Int32FromInt32(1))
  32078. } else {
  32079. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  32080. }
  32081. v1 = v4
  32082. }
  32083. v2 = v2orig
  32084. for {
  32085. if !(v2 != libc.UintptrFromInt32(0)) {
  32086. break
  32087. }
  32088. v1 = v1orig
  32089. for {
  32090. if !(v1 != libc.UintptrFromInt32(0)) {
  32091. break
  32092. }
  32093. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  32094. break
  32095. }
  32096. goto _6
  32097. _6:
  32098. ;
  32099. if int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int32(1) != 0 {
  32100. v7 = uintptr(int32(v1) + int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext) & ^libc.Int32FromInt32(1))
  32101. } else {
  32102. v7 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  32103. }
  32104. v1 = v7
  32105. }
  32106. if v1 == libc.UintptrFromInt32(0) {
  32107. return m_FcFalse
  32108. }
  32109. goto _5
  32110. _5:
  32111. ;
  32112. if int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int32(1) != 0 {
  32113. v8 = uintptr(int32(v2) + int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext) & ^libc.Int32FromInt32(1))
  32114. } else {
  32115. v8 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  32116. }
  32117. v2 = v8
  32118. }
  32119. return int32(m_FcTrue)
  32120. }
  32121. func _FcListPatternEqual(tls *libc.TLS, p1 uintptr, p2 uintptr, os uintptr) (r TFcBool) {
  32122. var e1, e2, v2, v3 uintptr
  32123. var i int32
  32124. _, _, _, _, _ = e1, e2, i, v2, v3
  32125. i = 0
  32126. for {
  32127. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32128. break
  32129. }
  32130. e1 = XFcPatternObjectFindElt(tls, p1, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4))))
  32131. e2 = XFcPatternObjectFindElt(tls, p2, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4))))
  32132. if !(e1 != 0) && !(e2 != 0) {
  32133. goto _1
  32134. }
  32135. if !(e1 != 0) || !(e2 != 0) {
  32136. return m_FcFalse
  32137. }
  32138. if int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int32(1) != 0 {
  32139. v2 = uintptr(int32(e1) + int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues) & ^libc.Int32FromInt32(1))
  32140. } else {
  32141. v2 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  32142. }
  32143. if int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int32(1) != 0 {
  32144. v3 = uintptr(int32(e2) + int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues) & ^libc.Int32FromInt32(1))
  32145. } else {
  32146. v3 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  32147. }
  32148. if !(_FcListValueListEqual(tls, v2, v3) != 0) {
  32149. return m_FcFalse
  32150. }
  32151. goto _1
  32152. _1:
  32153. ;
  32154. i++
  32155. }
  32156. return int32(m_FcTrue)
  32157. }
  32158. /*
  32159. * FcTrue iff all objects in "p" match "font"
  32160. */
  32161. func XFcListPatternMatchAny(tls *libc.TLS, p uintptr, font uintptr) (r TFcBool) {
  32162. var fe, pe, v2, v3 uintptr
  32163. var i int32
  32164. _, _, _, _, _ = fe, i, pe, v2, v3
  32165. if !(p != 0) {
  32166. return m_FcFalse
  32167. }
  32168. i = 0
  32169. for {
  32170. if !(i < (*TFcPattern)(unsafe.Pointer(p)).Fnum) {
  32171. break
  32172. }
  32173. pe = uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*8
  32174. if (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject == int32(_FC_NAMELANG_OBJECT) {
  32175. /* "namelang" object is the alias object to change "familylang",
  32176. * "stylelang" and "fullnamelang" object all together. it won't be
  32177. * available on the font pattern. so checking its availability
  32178. * causes no results. we should ignore it here.
  32179. */
  32180. goto _1
  32181. }
  32182. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  32183. if !(fe != 0) {
  32184. return m_FcFalse
  32185. }
  32186. if int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int32(1) != 0 {
  32187. v2 = uintptr(int32(pe) + int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues) & ^libc.Int32FromInt32(1))
  32188. } else {
  32189. v2 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  32190. }
  32191. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  32192. v3 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  32193. } else {
  32194. v3 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32195. }
  32196. if !(_FcListValueListMatchAny(tls, v2, v3) != 0) { /* font elts */
  32197. return m_FcFalse
  32198. }
  32199. goto _1
  32200. _1:
  32201. ;
  32202. i++
  32203. }
  32204. return int32(m_FcTrue)
  32205. }
  32206. func _FcListMatrixHash(tls *libc.TLS, m uintptr) (r TFcChar32) {
  32207. var xx, xy, yx, yy int32
  32208. _, _, _, _ = xx, xy, yx, yy
  32209. xx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxx * libc.Float64FromInt32(100))
  32210. xy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxy * libc.Float64FromInt32(100))
  32211. yx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyx * libc.Float64FromInt32(100))
  32212. yy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyy * libc.Float64FromInt32(100))
  32213. return libc.Uint32FromInt32(xx) ^ libc.Uint32FromInt32(xy) ^ libc.Uint32FromInt32(yx) ^ libc.Uint32FromInt32(yy)
  32214. }
  32215. func _FcListValueHash(tls *libc.TLS, value uintptr) (r TFcChar32) {
  32216. bp := tls.Alloc(16)
  32217. defer tls.Free(16)
  32218. var _ /* v at bp+0 */ TFcValue
  32219. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32220. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, value)
  32221. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32222. case int32(_FcTypeUnknown):
  32223. fallthrough
  32224. case int32(_FcTypeVoid):
  32225. return uint32(0)
  32226. case int32(_FcTypeInteger):
  32227. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp + 8)))
  32228. case int32(_FcTypeDouble):
  32229. return libc.Uint32FromInt32(int32(*(*float64)(unsafe.Pointer(bp + 8))))
  32230. case int32(_FcTypeString):
  32231. return XFcStrHashIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32232. case int32(_FcTypeBool):
  32233. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)))
  32234. case int32(_FcTypeMatrix):
  32235. return _FcListMatrixHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32236. case int32(_FcTypeCharSet):
  32237. return XIA__FcCharSetCount(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32238. case int32(_FcTypeFTFace):
  32239. return libc.Uint32FromInt32(int32(*(*uintptr)(unsafe.Pointer(bp + 8))))
  32240. case int32(_FcTypeLangSet):
  32241. return XIA__FcLangSetHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32242. case int32(_FcTypeRange):
  32243. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32244. }
  32245. return uint32(0)
  32246. }
  32247. func _FcListValueListHash(tls *libc.TLS, list TFcValueListPtr) (r TFcChar32) {
  32248. var h TFcChar32
  32249. var v1 uintptr
  32250. _, _ = h, v1
  32251. h = uint32(0)
  32252. for list != libc.UintptrFromInt32(0) {
  32253. h = h ^ _FcListValueHash(tls, list+8)
  32254. if int32((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int32(1) != 0 {
  32255. v1 = uintptr(int32(list) + int32((*T_FcValueList)(unsafe.Pointer(list)).Fnext) & ^libc.Int32FromInt32(1))
  32256. } else {
  32257. v1 = (*T_FcValueList)(unsafe.Pointer(list)).Fnext
  32258. }
  32259. list = v1
  32260. }
  32261. return h
  32262. }
  32263. func _FcListPatternHash(tls *libc.TLS, font uintptr, os uintptr) (r TFcChar32) {
  32264. var e, v2 uintptr
  32265. var h TFcChar32
  32266. var n int32
  32267. _, _, _, _ = e, h, n, v2
  32268. h = uint32(0)
  32269. n = 0
  32270. for {
  32271. if !(n < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32272. break
  32273. }
  32274. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(n)*4))))
  32275. if e != 0 {
  32276. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  32277. v2 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  32278. } else {
  32279. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32280. }
  32281. h = h ^ _FcListValueListHash(tls, v2)
  32282. }
  32283. goto _1
  32284. _1:
  32285. ;
  32286. n++
  32287. }
  32288. return h
  32289. }
  32290. type TFcListBucket = struct {
  32291. Fnext uintptr
  32292. Fhash TFcChar32
  32293. Fpattern uintptr
  32294. }
  32295. type T_FcListBucket = TFcListBucket
  32296. type TFcListHashTable = struct {
  32297. Fentries int32
  32298. Fbuckets [4099]uintptr
  32299. }
  32300. type T_FcListHashTable = TFcListHashTable
  32301. func _FcListHashTableInit(tls *libc.TLS, table uintptr) {
  32302. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  32303. libc.Xmemset(tls, table+4, int32('\000'), uint32(16396))
  32304. }
  32305. func _FcListHashTableCleanup(tls *libc.TLS, table uintptr) {
  32306. var bucket, next uintptr
  32307. var i int32
  32308. _, _, _ = bucket, i, next
  32309. i = 0
  32310. for {
  32311. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  32312. break
  32313. }
  32314. bucket = *(*uintptr)(unsafe.Pointer(table + 4 + uintptr(i)*4))
  32315. for {
  32316. if !(bucket != 0) {
  32317. break
  32318. }
  32319. next = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  32320. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  32321. libc.Xfree(tls, bucket)
  32322. goto _2
  32323. _2:
  32324. ;
  32325. bucket = next
  32326. }
  32327. *(*uintptr)(unsafe.Pointer(table + 4 + uintptr(i)*4)) = uintptr(0)
  32328. goto _1
  32329. _1:
  32330. ;
  32331. i++
  32332. }
  32333. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  32334. }
  32335. func _FcGetDefaultObjectLangIndex(tls *libc.TLS, font uintptr, object TFcObject, lang uintptr) (r int32) {
  32336. bp := tls.Alloc(16)
  32337. defer tls.Free(16)
  32338. var defidx, i, idx, v4, v5 int32
  32339. var e, v2, v3 uintptr
  32340. var res TFcLangResult
  32341. var v TFcValueListPtr
  32342. var _ /* value at bp+0 */ TFcValue
  32343. _, _, _, _, _, _, _, _, _, _ = defidx, e, i, idx, res, v, v2, v3, v4, v5
  32344. e = XFcPatternObjectFindElt(tls, font, object)
  32345. idx = -int32(1)
  32346. defidx = -int32(1)
  32347. if e != 0 {
  32348. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  32349. v2 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  32350. } else {
  32351. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32352. }
  32353. v = v2
  32354. i = libc.Int32FromInt32(0)
  32355. for {
  32356. if !(v != 0) {
  32357. break
  32358. }
  32359. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v+8)
  32360. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) {
  32361. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), lang)
  32362. if res == int32(_FcLangEqual) {
  32363. return i
  32364. }
  32365. if res == int32(_FcLangDifferentCountry) && idx < 0 {
  32366. idx = i
  32367. }
  32368. if defidx < 0 {
  32369. /* workaround for fonts that has non-English value
  32370. * at the head of values.
  32371. */
  32372. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), __ccgo_ts+2789)
  32373. if res == int32(_FcLangEqual) {
  32374. defidx = i
  32375. }
  32376. }
  32377. }
  32378. goto _1
  32379. _1:
  32380. ;
  32381. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  32382. v3 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  32383. } else {
  32384. v3 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  32385. }
  32386. v = v3
  32387. i++
  32388. }
  32389. }
  32390. if idx > 0 {
  32391. v4 = idx
  32392. } else {
  32393. if defidx > 0 {
  32394. v5 = defidx
  32395. } else {
  32396. v5 = 0
  32397. }
  32398. v4 = v5
  32399. }
  32400. return v4
  32401. }
  32402. func _FcListAppend(tls *libc.TLS, table uintptr, font uintptr, os uintptr, lang uintptr) (r TFcBool) {
  32403. var bucket, e, prev, v2, v5, v6 uintptr
  32404. var defidx, familyidx, fullnameidx, idx, o, styleidx int32
  32405. var hash TFcChar32
  32406. var v TFcValueListPtr
  32407. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bucket, defidx, e, familyidx, fullnameidx, hash, idx, o, prev, styleidx, v, v2, v5, v6
  32408. familyidx = -int32(1)
  32409. fullnameidx = -int32(1)
  32410. styleidx = -int32(1)
  32411. defidx = 0
  32412. hash = _FcListPatternHash(tls, font, os)
  32413. prev = table + 4 + uintptr(hash%uint32(m_FC_LIST_HASH_SIZE))*4
  32414. for {
  32415. v2 = *(*uintptr)(unsafe.Pointer(prev))
  32416. bucket = v2
  32417. if !(v2 != 0) {
  32418. break
  32419. }
  32420. if (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash == hash && _FcListPatternEqual(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, font, os) != 0 {
  32421. return int32(m_FcTrue)
  32422. }
  32423. goto _1
  32424. _1:
  32425. ;
  32426. prev = bucket
  32427. }
  32428. bucket = libc.Xmalloc(tls, uint32(12))
  32429. if !(bucket != 0) {
  32430. goto bail0
  32431. }
  32432. (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext = uintptr(0)
  32433. (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash = hash
  32434. (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern = XIA__FcPatternCreate(tls)
  32435. if !((*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern != 0) {
  32436. goto bail1
  32437. }
  32438. o = 0
  32439. for {
  32440. if !(o < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32441. break
  32442. }
  32443. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4)), __ccgo_ts+5970) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4)), __ccgo_ts+5977) != 0) {
  32444. if familyidx < 0 {
  32445. familyidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FAMILYLANG_OBJECT), lang)
  32446. }
  32447. defidx = familyidx
  32448. } else {
  32449. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4)), __ccgo_ts+5988) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4)), __ccgo_ts+5997) != 0) {
  32450. if fullnameidx < 0 {
  32451. fullnameidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FULLNAMELANG_OBJECT), lang)
  32452. }
  32453. defidx = fullnameidx
  32454. } else {
  32455. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4)), __ccgo_ts+4740) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4)), __ccgo_ts+6010) != 0) {
  32456. if styleidx < 0 {
  32457. styleidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_STYLELANG_OBJECT), lang)
  32458. }
  32459. defidx = styleidx
  32460. } else {
  32461. defidx = 0
  32462. }
  32463. }
  32464. }
  32465. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4))))
  32466. if e != 0 {
  32467. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  32468. v5 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  32469. } else {
  32470. v5 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32471. }
  32472. v = v5
  32473. idx = libc.Int32FromInt32(0)
  32474. for {
  32475. if !(v != 0) {
  32476. break
  32477. }
  32478. if !(XIA__FcPatternAdd(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4)), XFcValueCanonicalize(tls, v+8), libc.BoolInt32(defidx != idx)) != 0) {
  32479. goto bail2
  32480. }
  32481. goto _4
  32482. _4:
  32483. ;
  32484. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  32485. v6 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  32486. } else {
  32487. v6 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  32488. }
  32489. v = v6
  32490. idx++
  32491. }
  32492. }
  32493. goto _3
  32494. _3:
  32495. ;
  32496. o++
  32497. }
  32498. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  32499. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries++
  32500. return int32(m_FcTrue)
  32501. goto bail2
  32502. bail2:
  32503. ;
  32504. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  32505. goto bail1
  32506. bail1:
  32507. ;
  32508. libc.Xfree(tls, bucket)
  32509. goto bail0
  32510. bail0:
  32511. ;
  32512. return m_FcFalse
  32513. return r
  32514. }
  32515. func XIA__FcFontSetList(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, os uintptr) (r uintptr) {
  32516. bp := tls.Alloc(16416)
  32517. defer tls.Free(16416)
  32518. var bucket, ret, s, v4 uintptr
  32519. var destroy_os, f, i, set int32
  32520. var _ /* lang at bp+16400 */ uintptr
  32521. var _ /* table at bp+0 */ TFcListHashTable
  32522. _, _, _, _, _, _, _, _ = bucket, destroy_os, f, i, ret, s, set, v4
  32523. destroy_os = 0
  32524. if !(config != 0) {
  32525. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  32526. goto bail0
  32527. }
  32528. }
  32529. config = XIA__FcConfigReference(tls, config)
  32530. if !(config != 0) {
  32531. goto bail0
  32532. }
  32533. _FcListHashTableInit(tls, bp)
  32534. if !(os != 0) {
  32535. os = XFcObjectGetSet(tls)
  32536. destroy_os = int32(1)
  32537. }
  32538. /*
  32539. * Walk all available fonts adding those that
  32540. * match to the hash table
  32541. */
  32542. set = 0
  32543. for {
  32544. if !(set < nsets) {
  32545. break
  32546. }
  32547. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*4))
  32548. if !(s != 0) {
  32549. goto _1
  32550. }
  32551. f = 0
  32552. for {
  32553. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  32554. break
  32555. }
  32556. if XFcListPatternMatchAny(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4))) != 0 { /* font */
  32557. if XFcPatternObjectGetString(tls, p, int32(_FC_NAMELANG_OBJECT), 0, bp+16400) != int32(_FcResultMatch) {
  32558. *(*uintptr)(unsafe.Pointer(bp + 16400)) = XFcGetDefaultLang(tls)
  32559. }
  32560. if !(_FcListAppend(tls, bp, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4)), os, *(*uintptr)(unsafe.Pointer(bp + 16400))) != 0) {
  32561. goto bail1
  32562. }
  32563. }
  32564. goto _2
  32565. _2:
  32566. ;
  32567. f++
  32568. }
  32569. goto _1
  32570. _1:
  32571. ;
  32572. set++
  32573. }
  32574. /*
  32575. * Walk the hash table and build
  32576. * a font set
  32577. */
  32578. ret = XIA__FcFontSetCreate(tls)
  32579. if !(ret != 0) {
  32580. goto bail1
  32581. }
  32582. i = 0
  32583. for {
  32584. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  32585. break
  32586. }
  32587. for {
  32588. v4 = *(*uintptr)(unsafe.Pointer(bp + 4 + uintptr(i)*4))
  32589. bucket = v4
  32590. if !(v4 != 0) {
  32591. break
  32592. }
  32593. if !(XIA__FcFontSetAdd(tls, ret, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern) != 0) {
  32594. goto bail2
  32595. }
  32596. *(*uintptr)(unsafe.Pointer(bp + 4 + uintptr(i)*4)) = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  32597. libc.Xfree(tls, bucket)
  32598. }
  32599. goto _3
  32600. _3:
  32601. ;
  32602. i++
  32603. }
  32604. if destroy_os != 0 {
  32605. XIA__FcObjectSetDestroy(tls, os)
  32606. }
  32607. XIA__FcConfigDestroy(tls, config)
  32608. return ret
  32609. goto bail2
  32610. bail2:
  32611. ;
  32612. XIA__FcFontSetDestroy(tls, ret)
  32613. goto bail1
  32614. bail1:
  32615. ;
  32616. _FcListHashTableCleanup(tls, bp)
  32617. XIA__FcConfigDestroy(tls, config)
  32618. goto bail0
  32619. bail0:
  32620. ;
  32621. if destroy_os != 0 {
  32622. XIA__FcObjectSetDestroy(tls, os)
  32623. }
  32624. return uintptr(0)
  32625. }
  32626. var XFcFontSetList = XIA__FcFontSetList
  32627. func XIA__FcFontList(tls *libc.TLS, config uintptr, p uintptr, os uintptr) (r uintptr) {
  32628. bp := tls.Alloc(16)
  32629. defer tls.Free(16)
  32630. var nsets, v1, v2 int32
  32631. var ret uintptr
  32632. var _ /* sets at bp+0 */ [2]uintptr
  32633. _, _, _, _ = nsets, ret, v1, v2
  32634. if !(config != 0) {
  32635. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  32636. return uintptr(0)
  32637. }
  32638. }
  32639. config = XIA__FcConfigReference(tls, config)
  32640. if !(config != 0) {
  32641. return libc.UintptrFromInt32(0)
  32642. }
  32643. nsets = 0
  32644. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4)) != 0 {
  32645. v1 = nsets
  32646. nsets++
  32647. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4))
  32648. }
  32649. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4)) != 0 {
  32650. v2 = nsets
  32651. nsets++
  32652. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4))
  32653. }
  32654. ret = XIA__FcFontSetList(tls, config, bp, nsets, p, os)
  32655. XIA__FcConfigDestroy(tls, config)
  32656. return ret
  32657. }
  32658. var XFcFontList = XIA__FcFontList
  32659. func _FcCompareNumber(tls *libc.TLS, value1 uintptr, value2 uintptr, bestValue uintptr) (r float64) {
  32660. var v, v1, v2 float64
  32661. _, _, _ = v, v1, v2
  32662. switch (*TFcValue)(unsafe.Pointer(value1)).Ftype1 {
  32663. case int32(_FcTypeInteger):
  32664. v1 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value1)).Fu)))
  32665. case int32(_FcTypeDouble):
  32666. v1 = *(*float64)(unsafe.Pointer(value1 + 8))
  32667. default:
  32668. return -libc.Float64FromFloat64(1)
  32669. }
  32670. switch (*TFcValue)(unsafe.Pointer(value2)).Ftype1 {
  32671. case int32(_FcTypeInteger):
  32672. v2 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value2)).Fu)))
  32673. case int32(_FcTypeDouble):
  32674. v2 = *(*float64)(unsafe.Pointer(value2 + 8))
  32675. default:
  32676. return -libc.Float64FromFloat64(1)
  32677. }
  32678. v = v2 - v1
  32679. if v < libc.Float64FromInt32(0) {
  32680. v = -v
  32681. }
  32682. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, value2)
  32683. return v
  32684. }
  32685. func _FcCompareString(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32686. var v11, v21 uintptr
  32687. _, _ = v11, v21
  32688. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32689. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32690. v11 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32691. } else {
  32692. v11 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32693. }
  32694. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32695. v21 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32696. } else {
  32697. v21 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32698. }
  32699. return float64(libc.Bool32(float64(XIA__FcStrCmpIgnoreCase(tls, v11, v21)) != libc.Float64FromInt32(0)))
  32700. }
  32701. func _FcCompareFamily(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32702. var v1_string, v2_string, v11, v21 uintptr
  32703. var v3, v4 int32
  32704. _, _, _, _, _, _ = v1_string, v2_string, v11, v21, v3, v4
  32705. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32706. v11 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32707. } else {
  32708. v11 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32709. }
  32710. /* rely on the guarantee in FcPatternObjectAddWithBinding that
  32711. * families are always FcTypeString. */
  32712. v1_string = v11
  32713. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32714. v21 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32715. } else {
  32716. v21 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32717. }
  32718. v2_string = v21
  32719. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32720. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  32721. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  32722. } else {
  32723. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  32724. }
  32725. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  32726. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  32727. } else {
  32728. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  32729. }
  32730. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  32731. return float64(1)
  32732. }
  32733. return float64(libc.Bool32(float64(XFcStrCmpIgnoreBlanksAndCase(tls, v1_string, v2_string)) != libc.Float64FromInt32(0)))
  32734. }
  32735. func _FcComparePostScript(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32736. var len1, len2, mlen Tsize_t
  32737. var n, v3, v4 int32
  32738. var v1_string, v2_string, v11, v21 uintptr
  32739. var v5 uint32
  32740. _, _, _, _, _, _, _, _, _, _, _ = len1, len2, mlen, n, v1_string, v2_string, v11, v21, v3, v4, v5
  32741. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32742. v11 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32743. } else {
  32744. v11 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32745. }
  32746. v1_string = v11
  32747. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32748. v21 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32749. } else {
  32750. v21 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32751. }
  32752. v2_string = v21
  32753. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32754. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  32755. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  32756. } else {
  32757. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  32758. }
  32759. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  32760. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  32761. } else {
  32762. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  32763. }
  32764. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  32765. return float64(1)
  32766. }
  32767. n = XFcStrMatchIgnoreCaseAndDelims(tls, v1_string, v2_string, __ccgo_ts+6020)
  32768. len1 = libc.Xstrlen(tls, v1_string)
  32769. len2 = libc.Xstrlen(tls, v2_string)
  32770. if len1 > len2 {
  32771. v5 = len1
  32772. } else {
  32773. v5 = len2
  32774. }
  32775. mlen = v5
  32776. return float64(mlen-libc.Uint32FromInt32(n)) / float64(mlen)
  32777. }
  32778. func _FcCompareLang(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32779. var result TFcLangResult
  32780. var v11, v21, v3, v4, v5, v6, v7, v8 uintptr
  32781. _, _, _, _, _, _, _, _, _ = result, v11, v21, v3, v4, v5, v6, v7, v8
  32782. switch (*TFcValue)(unsafe.Pointer(v1)).Ftype1 {
  32783. case int32(_FcTypeLangSet):
  32784. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  32785. case int32(_FcTypeLangSet):
  32786. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)))&int32(1) != 0 {
  32787. v11 = uintptr(int32(v1) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))) & ^libc.Int32FromInt32(1))
  32788. } else {
  32789. v11 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32790. }
  32791. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)))&int32(1) != 0 {
  32792. v21 = uintptr(int32(v2) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))) & ^libc.Int32FromInt32(1))
  32793. } else {
  32794. v21 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32795. }
  32796. result = XIA__FcLangSetCompare(tls, v11, v21)
  32797. case int32(_FcTypeString):
  32798. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)))&int32(1) != 0 {
  32799. v3 = uintptr(int32(v1) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))) & ^libc.Int32FromInt32(1))
  32800. } else {
  32801. v3 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32802. }
  32803. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32804. v4 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32805. } else {
  32806. v4 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32807. }
  32808. result = XIA__FcLangSetHasLang(tls, v3, v4)
  32809. default:
  32810. return -libc.Float64FromFloat64(1)
  32811. }
  32812. case int32(_FcTypeString):
  32813. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  32814. case int32(_FcTypeLangSet):
  32815. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)))&int32(1) != 0 {
  32816. v5 = uintptr(int32(v2) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))) & ^libc.Int32FromInt32(1))
  32817. } else {
  32818. v5 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32819. }
  32820. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32821. v6 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32822. } else {
  32823. v6 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32824. }
  32825. result = XIA__FcLangSetHasLang(tls, v5, v6)
  32826. case int32(_FcTypeString):
  32827. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32828. v7 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32829. } else {
  32830. v7 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32831. }
  32832. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32833. v8 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32834. } else {
  32835. v8 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32836. }
  32837. result = XFcLangCompare(tls, v7, v8)
  32838. default:
  32839. return -libc.Float64FromFloat64(1)
  32840. }
  32841. default:
  32842. return -libc.Float64FromFloat64(1)
  32843. }
  32844. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32845. switch result {
  32846. case int32(_FcLangEqual):
  32847. return libc.Float64FromInt32(0)
  32848. case int32(_FcLangDifferentCountry):
  32849. return libc.Float64FromInt32(1)
  32850. case int32(_FcLangDifferentLang):
  32851. fallthrough
  32852. default:
  32853. return libc.Float64FromInt32(2)
  32854. }
  32855. return r
  32856. }
  32857. func _FcCompareBool(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32858. if (*TFcValue)(unsafe.Pointer(v2)).Ftype1 != int32(_FcTypeBool) || (*TFcValue)(unsafe.Pointer(v1)).Ftype1 != int32(_FcTypeBool) {
  32859. return -libc.Float64FromFloat64(1)
  32860. }
  32861. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeBool)
  32862. if *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)) != int32(m_FcDontCare) {
  32863. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32864. } else {
  32865. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32866. }
  32867. return float64(libc.Bool32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))^*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)) == libc.Int32FromInt32(1)))
  32868. }
  32869. func _FcCompareCharSet(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32870. var v11, v21 uintptr
  32871. _, _ = v11, v21
  32872. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2) /* TODO Improve. */
  32873. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)))&int32(1) != 0 {
  32874. v11 = uintptr(int32(v1) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))) & ^libc.Int32FromInt32(1))
  32875. } else {
  32876. v11 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32877. }
  32878. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)))&int32(1) != 0 {
  32879. v21 = uintptr(int32(v2) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))) & ^libc.Int32FromInt32(1))
  32880. } else {
  32881. v21 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32882. }
  32883. return float64(XIA__FcCharSetSubtractCount(tls, v11, v21))
  32884. }
  32885. func _FcCompareRange(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32886. bp := tls.Alloc(32)
  32887. defer tls.Free(32)
  32888. var b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7 float64
  32889. var _ /* value1 at bp+0 */ TFcValue
  32890. var _ /* value2 at bp+16 */ TFcValue
  32891. _, _, _, _, _, _, _, _, _, _, _, _ = b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7
  32892. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32893. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  32894. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  32895. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  32896. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32897. case int32(_FcTypeInteger):
  32898. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  32899. e1 = v11
  32900. b1 = v11
  32901. case int32(_FcTypeDouble):
  32902. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  32903. e1 = v21
  32904. b1 = v21
  32905. case int32(_FcTypeRange):
  32906. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  32907. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  32908. default:
  32909. return float64(-libc.Int32FromInt32(1))
  32910. }
  32911. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  32912. case int32(_FcTypeInteger):
  32913. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  32914. e2 = v3
  32915. b2 = v3
  32916. case int32(_FcTypeDouble):
  32917. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  32918. e2 = v4
  32919. b2 = v4
  32920. case int32(_FcTypeRange):
  32921. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  32922. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  32923. default:
  32924. return float64(-libc.Int32FromInt32(1))
  32925. }
  32926. if e1 < b2 {
  32927. d = b2
  32928. } else {
  32929. if e2 < b1 {
  32930. d = e2
  32931. } else {
  32932. if b1 > b2 {
  32933. v5 = b1
  32934. } else {
  32935. v5 = b2
  32936. }
  32937. if e1 < e2 {
  32938. v6 = e1
  32939. } else {
  32940. v6 = e2
  32941. }
  32942. d = (v5 + v6) * float64(0.5)
  32943. }
  32944. }
  32945. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  32946. *(*float64)(unsafe.Pointer(bestValue + 8)) = d
  32947. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  32948. if e1 < b2 || e2 < b1 {
  32949. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  32950. v7 = libc.Xfabs(tls, b2-e1)
  32951. } else {
  32952. v7 = libc.Xfabs(tls, b1-e2)
  32953. }
  32954. return v7
  32955. } else {
  32956. return float64(0)
  32957. }
  32958. return r
  32959. }
  32960. func _FcCompareSize(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32961. bp := tls.Alloc(32)
  32962. defer tls.Free(32)
  32963. var b1, b2, e1, e2, v11, v21, v3, v4, v5 float64
  32964. var _ /* value1 at bp+0 */ TFcValue
  32965. var _ /* value2 at bp+16 */ TFcValue
  32966. _, _, _, _, _, _, _, _, _ = b1, b2, e1, e2, v11, v21, v3, v4, v5
  32967. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32968. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  32969. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  32970. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  32971. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32972. case int32(_FcTypeInteger):
  32973. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  32974. e1 = v11
  32975. b1 = v11
  32976. case int32(_FcTypeDouble):
  32977. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  32978. e1 = v21
  32979. b1 = v21
  32980. case int32(_FcTypeRange):
  32981. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  32982. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  32983. default:
  32984. return float64(-libc.Int32FromInt32(1))
  32985. }
  32986. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  32987. case int32(_FcTypeInteger):
  32988. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  32989. e2 = v3
  32990. b2 = v3
  32991. case int32(_FcTypeDouble):
  32992. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  32993. e2 = v4
  32994. b2 = v4
  32995. case int32(_FcTypeRange):
  32996. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  32997. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  32998. default:
  32999. return float64(-libc.Int32FromInt32(1))
  33000. }
  33001. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  33002. *(*float64)(unsafe.Pointer(bestValue + 8)) = (b1 + e1) * float64(0.5)
  33003. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  33004. if e1 < b2 || e2 < b1 {
  33005. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  33006. v5 = libc.Xfabs(tls, b2-e1)
  33007. } else {
  33008. v5 = libc.Xfabs(tls, b1-e2)
  33009. }
  33010. return v5
  33011. }
  33012. if b2 != e2 && b1 == e2 { /* Semi-closed interval. */
  33013. return float64(1e-15)
  33014. } else {
  33015. return float64(0)
  33016. }
  33017. return r
  33018. }
  33019. func _FcCompareFilename(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  33020. var s1, s2, v11, v21 uintptr
  33021. _, _, _, _ = s1, s2, v11, v21
  33022. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  33023. v11 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  33024. } else {
  33025. v11 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  33026. }
  33027. s1 = v11
  33028. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  33029. v21 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  33030. } else {
  33031. v21 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  33032. }
  33033. s2 = v21
  33034. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  33035. if XIA__FcStrCmp(tls, s1, s2) == 0 {
  33036. return float64(0)
  33037. } else {
  33038. if XIA__FcStrCmpIgnoreCase(tls, s1, s2) == 0 {
  33039. return float64(1)
  33040. } else {
  33041. if XFcStrGlobMatch(tls, s1, s2) != 0 {
  33042. return float64(2)
  33043. } else {
  33044. return float64(3)
  33045. }
  33046. }
  33047. }
  33048. return r
  33049. }
  33050. /* Define priorities to -1 for objects that don't have a compare function. */
  33051. type TFcMatcherPriorityDummy = int32
  33052. /* Define priorities to -1 for objects that don't have a compare function. */
  33053. type __FcMatcherPriorityDummy = int32
  33054. const _PRI_FAMILYLANG_STRONG = -1
  33055. const _PRI_FAMILYLANG_WEAK = -1
  33056. const _PRI_STYLELANG_STRONG = -1
  33057. const _PRI_STYLELANG_WEAK = -1
  33058. const _PRI_FULLNAME_STRONG = -1
  33059. const _PRI_FULLNAME_WEAK = -1
  33060. const _PRI_FULLNAMELANG_STRONG = -1
  33061. const _PRI_FULLNAMELANG_WEAK = -1
  33062. const _PRI_ASPECT_STRONG = -1
  33063. const _PRI_ASPECT_WEAK = -1
  33064. const _PRI_HINT_STYLE_STRONG = -1
  33065. const _PRI_HINT_STYLE_WEAK = -1
  33066. const _PRI_HINTING_STRONG = -1
  33067. const _PRI_HINTING_WEAK = -1
  33068. const _PRI_VERTICAL_LAYOUT_STRONG = -1
  33069. const _PRI_VERTICAL_LAYOUT_WEAK = -1
  33070. const _PRI_AUTOHINT_STRONG = -1
  33071. const _PRI_AUTOHINT_WEAK = -1
  33072. const _PRI_GLOBAL_ADVANCE_STRONG = -1
  33073. const _PRI_GLOBAL_ADVANCE_WEAK = -1
  33074. const _PRI_INDEX_STRONG = -1
  33075. const _PRI_INDEX_WEAK = -1
  33076. const _PRI_DPI_STRONG = -1
  33077. const _PRI_DPI_WEAK = -1
  33078. const _PRI_RGBA_STRONG = -1
  33079. const _PRI_RGBA_WEAK = -1
  33080. const _PRI_SCALE_STRONG = -1
  33081. const _PRI_SCALE_WEAK = -1
  33082. const _PRI_MINSPACE_STRONG = -1
  33083. const _PRI_MINSPACE_WEAK = -1
  33084. const _PRI_CHARWIDTH_STRONG = -1
  33085. const _PRI_CHARWIDTH_WEAK = -1
  33086. const _PRI_CHAR_HEIGHT_STRONG = -1
  33087. const _PRI_CHAR_HEIGHT_WEAK = -1
  33088. const _PRI_MATRIX_STRONG = -1
  33089. const _PRI_MATRIX_WEAK = -1
  33090. const _PRI_CAPABILITY_STRONG = -1
  33091. const _PRI_CAPABILITY_WEAK = -1
  33092. const _PRI_EMBOLDEN_STRONG = -1
  33093. const _PRI_EMBOLDEN_WEAK = -1
  33094. const _PRI_EMBEDDED_BITMAP_STRONG = -1
  33095. const _PRI_EMBEDDED_BITMAP_WEAK = -1
  33096. const _PRI_LCD_FILTER_STRONG = -1
  33097. const _PRI_LCD_FILTER_WEAK = -1
  33098. const _PRI_NAMELANG_STRONG = -1
  33099. const _PRI_NAMELANG_WEAK = -1
  33100. const _PRI_FONT_FEATURES_STRONG = -1
  33101. const _PRI_FONT_FEATURES_WEAK = -1
  33102. const _PRI_PRGNAME_STRONG = -1
  33103. const _PRI_PRGNAME_WEAK = -1
  33104. const _PRI_HASH_STRONG = -1
  33105. const _PRI_HASH_WEAK = -1
  33106. const _PRI_FONT_VARIATIONS_STRONG = -1
  33107. const _PRI_FONT_VARIATIONS_WEAK = -1
  33108. /* Canonical match priority order. */
  33109. type TFcMatcherPriority = int32
  33110. /* Canonical match priority order. */
  33111. type __FcMatcherPriority = int32
  33112. const _PRI_FILE = 0
  33113. const _PRI_FILE_STRONG = 0
  33114. const _PRI_FILE_WEAK = 0
  33115. const _PRI_FONTFORMAT = 1
  33116. const _PRI_FONTFORMAT_STRONG = 1
  33117. const _PRI_FONTFORMAT_WEAK = 1
  33118. const _PRI_VARIABLE = 2
  33119. const _PRI_VARIABLE_STRONG = 2
  33120. const _PRI_VARIABLE_WEAK = 2
  33121. const _PRI_SCALABLE = 3
  33122. const _PRI_SCALABLE_STRONG = 3
  33123. const _PRI_SCALABLE_WEAK = 3
  33124. const _PRI_COLOR = 4
  33125. const _PRI_COLOR_STRONG = 4
  33126. const _PRI_COLOR_WEAK = 4
  33127. const _PRI_FOUNDRY = 5
  33128. const _PRI_FOUNDRY_STRONG = 5
  33129. const _PRI_FOUNDRY_WEAK = 5
  33130. const _PRI_CHARSET = 6
  33131. const _PRI_CHARSET_STRONG = 6
  33132. const _PRI_CHARSET_WEAK = 6
  33133. const _PRI_FAMILY_STRONG = 7
  33134. const _PRI_POSTSCRIPT_NAME_STRONG = 8
  33135. const _PRI_LANG = 9
  33136. const _PRI_LANG_STRONG = 9
  33137. const _PRI_LANG_WEAK = 9
  33138. const _PRI_FAMILY_WEAK = 10
  33139. const _PRI_POSTSCRIPT_NAME_WEAK = 11
  33140. const _PRI_SYMBOL = 12
  33141. const _PRI_SYMBOL_STRONG = 12
  33142. const _PRI_SYMBOL_WEAK = 12
  33143. const _PRI_SPACING = 13
  33144. const _PRI_SPACING_STRONG = 13
  33145. const _PRI_SPACING_WEAK = 13
  33146. const _PRI_SIZE = 14
  33147. const _PRI_SIZE_STRONG = 14
  33148. const _PRI_SIZE_WEAK = 14
  33149. const _PRI_PIXEL_SIZE = 15
  33150. const _PRI_PIXEL_SIZE_STRONG = 15
  33151. const _PRI_PIXEL_SIZE_WEAK = 15
  33152. const _PRI_STYLE = 16
  33153. const _PRI_STYLE_STRONG = 16
  33154. const _PRI_STYLE_WEAK = 16
  33155. const _PRI_SLANT = 17
  33156. const _PRI_SLANT_STRONG = 17
  33157. const _PRI_SLANT_WEAK = 17
  33158. const _PRI_WEIGHT = 18
  33159. const _PRI_WEIGHT_STRONG = 18
  33160. const _PRI_WEIGHT_WEAK = 18
  33161. const _PRI_WIDTH = 19
  33162. const _PRI_WIDTH_STRONG = 19
  33163. const _PRI_WIDTH_WEAK = 19
  33164. const _PRI_FONT_HAS_HINT = 20
  33165. const _PRI_FONT_HAS_HINT_STRONG = 20
  33166. const _PRI_FONT_HAS_HINT_WEAK = 20
  33167. const _PRI_DECORATIVE = 21
  33168. const _PRI_DECORATIVE_STRONG = 21
  33169. const _PRI_DECORATIVE_WEAK = 21
  33170. const _PRI_ANTIALIAS = 22
  33171. const _PRI_ANTIALIAS_STRONG = 22
  33172. const _PRI_ANTIALIAS_WEAK = 22
  33173. const _PRI_RASTERIZER = 23
  33174. const _PRI_RASTERIZER_STRONG = 23
  33175. const _PRI_RASTERIZER_WEAK = 23
  33176. const _PRI_OUTLINE = 24
  33177. const _PRI_OUTLINE_STRONG = 24
  33178. const _PRI_OUTLINE_WEAK = 24
  33179. const _PRI_ORDER = 25
  33180. const _PRI_ORDER_STRONG = 25
  33181. const _PRI_ORDER_WEAK = 25
  33182. const _PRI_FONTVERSION = 26
  33183. const _PRI_FONTVERSION_STRONG = 26
  33184. const _PRI_FONTVERSION_WEAK = 26
  33185. const _PRI_END = 27
  33186. type TFcMatcher = struct {
  33187. Fobject TFcObject
  33188. Fcompare uintptr
  33189. Fstrong int32
  33190. Fweak int32
  33191. }
  33192. type T_FcMatcher = TFcMatcher
  33193. // C documentation
  33194. //
  33195. // /*
  33196. // * Order is significant, it defines the precedence of
  33197. // * each value, earlier values are more significant than
  33198. // * later values
  33199. // */
  33200. var __FcMatchers = [53]TFcMatcher{
  33201. 0: {
  33202. Fstrong: -int32(1),
  33203. Fweak: -int32(1),
  33204. },
  33205. 1: {
  33206. Fobject: int32(_FC_FAMILY_OBJECT),
  33207. Fstrong: int32(_PRI_FAMILY_STRONG),
  33208. Fweak: int32(_PRI_FAMILY_WEAK),
  33209. },
  33210. 2: {
  33211. Fobject: int32(_FC_FAMILYLANG_OBJECT),
  33212. Fstrong: int32(_PRI_FAMILYLANG_STRONG),
  33213. Fweak: int32(_PRI_FAMILYLANG_WEAK),
  33214. },
  33215. 3: {
  33216. Fobject: int32(_FC_STYLE_OBJECT),
  33217. Fstrong: int32(_PRI_STYLE_STRONG),
  33218. Fweak: int32(_PRI_STYLE_WEAK),
  33219. },
  33220. 4: {
  33221. Fobject: int32(_FC_STYLELANG_OBJECT),
  33222. Fstrong: int32(_PRI_STYLELANG_STRONG),
  33223. Fweak: int32(_PRI_STYLELANG_WEAK),
  33224. },
  33225. 5: {
  33226. Fobject: int32(_FC_FULLNAME_OBJECT),
  33227. Fstrong: int32(_PRI_FULLNAME_STRONG),
  33228. Fweak: int32(_PRI_FULLNAME_WEAK),
  33229. },
  33230. 6: {
  33231. Fobject: int32(_FC_FULLNAMELANG_OBJECT),
  33232. Fstrong: int32(_PRI_FULLNAMELANG_STRONG),
  33233. Fweak: int32(_PRI_FULLNAMELANG_WEAK),
  33234. },
  33235. 7: {
  33236. Fobject: int32(_FC_SLANT_OBJECT),
  33237. Fstrong: int32(_PRI_SLANT_STRONG),
  33238. Fweak: int32(_PRI_SLANT_WEAK),
  33239. },
  33240. 8: {
  33241. Fobject: int32(_FC_WEIGHT_OBJECT),
  33242. Fstrong: int32(_PRI_WEIGHT_STRONG),
  33243. Fweak: int32(_PRI_WEIGHT_WEAK),
  33244. },
  33245. 9: {
  33246. Fobject: int32(_FC_WIDTH_OBJECT),
  33247. Fstrong: int32(_PRI_WIDTH_STRONG),
  33248. Fweak: int32(_PRI_WIDTH_WEAK),
  33249. },
  33250. 10: {
  33251. Fobject: int32(_FC_SIZE_OBJECT),
  33252. Fstrong: int32(_PRI_SIZE_STRONG),
  33253. Fweak: int32(_PRI_SIZE_WEAK),
  33254. },
  33255. 11: {
  33256. Fobject: int32(_FC_ASPECT_OBJECT),
  33257. Fstrong: int32(_PRI_ASPECT_STRONG),
  33258. Fweak: int32(_PRI_ASPECT_WEAK),
  33259. },
  33260. 12: {
  33261. Fobject: int32(_FC_PIXEL_SIZE_OBJECT),
  33262. Fstrong: int32(_PRI_PIXEL_SIZE_STRONG),
  33263. Fweak: int32(_PRI_PIXEL_SIZE_WEAK),
  33264. },
  33265. 13: {
  33266. Fobject: int32(_FC_SPACING_OBJECT),
  33267. Fstrong: int32(_PRI_SPACING_STRONG),
  33268. Fweak: int32(_PRI_SPACING_WEAK),
  33269. },
  33270. 14: {
  33271. Fobject: int32(_FC_FOUNDRY_OBJECT),
  33272. Fstrong: int32(_PRI_FOUNDRY_STRONG),
  33273. Fweak: int32(_PRI_FOUNDRY_WEAK),
  33274. },
  33275. 15: {
  33276. Fobject: int32(_FC_ANTIALIAS_OBJECT),
  33277. Fstrong: int32(_PRI_ANTIALIAS_STRONG),
  33278. Fweak: int32(_PRI_ANTIALIAS_WEAK),
  33279. },
  33280. 16: {
  33281. Fobject: int32(_FC_HINT_STYLE_OBJECT),
  33282. Fstrong: int32(_PRI_HINT_STYLE_STRONG),
  33283. Fweak: int32(_PRI_HINT_STYLE_WEAK),
  33284. },
  33285. 17: {
  33286. Fobject: int32(_FC_HINTING_OBJECT),
  33287. Fstrong: int32(_PRI_HINTING_STRONG),
  33288. Fweak: int32(_PRI_HINTING_WEAK),
  33289. },
  33290. 18: {
  33291. Fobject: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  33292. Fstrong: int32(_PRI_VERTICAL_LAYOUT_STRONG),
  33293. Fweak: int32(_PRI_VERTICAL_LAYOUT_WEAK),
  33294. },
  33295. 19: {
  33296. Fobject: int32(_FC_AUTOHINT_OBJECT),
  33297. Fstrong: int32(_PRI_AUTOHINT_STRONG),
  33298. Fweak: int32(_PRI_AUTOHINT_WEAK),
  33299. },
  33300. 20: {
  33301. Fobject: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  33302. Fstrong: int32(_PRI_GLOBAL_ADVANCE_STRONG),
  33303. Fweak: int32(_PRI_GLOBAL_ADVANCE_WEAK),
  33304. },
  33305. 21: {
  33306. Fobject: int32(_FC_FILE_OBJECT),
  33307. },
  33308. 22: {
  33309. Fobject: int32(_FC_INDEX_OBJECT),
  33310. Fstrong: int32(_PRI_INDEX_STRONG),
  33311. Fweak: int32(_PRI_INDEX_WEAK),
  33312. },
  33313. 23: {
  33314. Fobject: int32(_FC_RASTERIZER_OBJECT),
  33315. Fstrong: int32(_PRI_RASTERIZER_STRONG),
  33316. Fweak: int32(_PRI_RASTERIZER_WEAK),
  33317. },
  33318. 24: {
  33319. Fobject: int32(_FC_OUTLINE_OBJECT),
  33320. Fstrong: int32(_PRI_OUTLINE_STRONG),
  33321. Fweak: int32(_PRI_OUTLINE_WEAK),
  33322. },
  33323. 25: {
  33324. Fobject: int32(_FC_SCALABLE_OBJECT),
  33325. Fstrong: int32(_PRI_SCALABLE_STRONG),
  33326. Fweak: int32(_PRI_SCALABLE_WEAK),
  33327. },
  33328. 26: {
  33329. Fobject: int32(_FC_DPI_OBJECT),
  33330. Fstrong: int32(_PRI_DPI_STRONG),
  33331. Fweak: int32(_PRI_DPI_WEAK),
  33332. },
  33333. 27: {
  33334. Fobject: int32(_FC_RGBA_OBJECT),
  33335. Fstrong: int32(_PRI_RGBA_STRONG),
  33336. Fweak: int32(_PRI_RGBA_WEAK),
  33337. },
  33338. 28: {
  33339. Fobject: int32(_FC_SCALE_OBJECT),
  33340. Fstrong: int32(_PRI_SCALE_STRONG),
  33341. Fweak: int32(_PRI_SCALE_WEAK),
  33342. },
  33343. 29: {
  33344. Fobject: int32(_FC_MINSPACE_OBJECT),
  33345. Fstrong: int32(_PRI_MINSPACE_STRONG),
  33346. Fweak: int32(_PRI_MINSPACE_WEAK),
  33347. },
  33348. 30: {
  33349. Fobject: int32(_FC_CHARWIDTH_OBJECT),
  33350. Fstrong: int32(_PRI_CHARWIDTH_STRONG),
  33351. Fweak: int32(_PRI_CHARWIDTH_WEAK),
  33352. },
  33353. 31: {
  33354. Fobject: int32(_FC_CHAR_HEIGHT_OBJECT),
  33355. Fstrong: int32(_PRI_CHAR_HEIGHT_STRONG),
  33356. Fweak: int32(_PRI_CHAR_HEIGHT_WEAK),
  33357. },
  33358. 32: {
  33359. Fobject: int32(_FC_MATRIX_OBJECT),
  33360. Fstrong: int32(_PRI_MATRIX_STRONG),
  33361. Fweak: int32(_PRI_MATRIX_WEAK),
  33362. },
  33363. 33: {
  33364. Fobject: int32(_FC_CHARSET_OBJECT),
  33365. Fstrong: int32(_PRI_CHARSET_STRONG),
  33366. Fweak: int32(_PRI_CHARSET_WEAK),
  33367. },
  33368. 34: {
  33369. Fobject: int32(_FC_LANG_OBJECT),
  33370. Fstrong: int32(_PRI_LANG_STRONG),
  33371. Fweak: int32(_PRI_LANG_WEAK),
  33372. },
  33373. 35: {
  33374. Fobject: int32(_FC_FONTVERSION_OBJECT),
  33375. Fstrong: int32(_PRI_FONTVERSION_STRONG),
  33376. Fweak: int32(_PRI_FONTVERSION_WEAK),
  33377. },
  33378. 36: {
  33379. Fobject: int32(_FC_CAPABILITY_OBJECT),
  33380. Fstrong: int32(_PRI_CAPABILITY_STRONG),
  33381. Fweak: int32(_PRI_CAPABILITY_WEAK),
  33382. },
  33383. 37: {
  33384. Fobject: int32(_FC_FONTFORMAT_OBJECT),
  33385. Fstrong: int32(_PRI_FONTFORMAT_STRONG),
  33386. Fweak: int32(_PRI_FONTFORMAT_WEAK),
  33387. },
  33388. 38: {
  33389. Fobject: int32(_FC_EMBOLDEN_OBJECT),
  33390. Fstrong: int32(_PRI_EMBOLDEN_STRONG),
  33391. Fweak: int32(_PRI_EMBOLDEN_WEAK),
  33392. },
  33393. 39: {
  33394. Fobject: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  33395. Fstrong: int32(_PRI_EMBEDDED_BITMAP_STRONG),
  33396. Fweak: int32(_PRI_EMBEDDED_BITMAP_WEAK),
  33397. },
  33398. 40: {
  33399. Fobject: int32(_FC_DECORATIVE_OBJECT),
  33400. Fstrong: int32(_PRI_DECORATIVE_STRONG),
  33401. Fweak: int32(_PRI_DECORATIVE_WEAK),
  33402. },
  33403. 41: {
  33404. Fobject: int32(_FC_LCD_FILTER_OBJECT),
  33405. Fstrong: int32(_PRI_LCD_FILTER_STRONG),
  33406. Fweak: int32(_PRI_LCD_FILTER_WEAK),
  33407. },
  33408. 42: {
  33409. Fobject: int32(_FC_NAMELANG_OBJECT),
  33410. Fstrong: int32(_PRI_NAMELANG_STRONG),
  33411. Fweak: int32(_PRI_NAMELANG_WEAK),
  33412. },
  33413. 43: {
  33414. Fobject: int32(_FC_FONT_FEATURES_OBJECT),
  33415. Fstrong: int32(_PRI_FONT_FEATURES_STRONG),
  33416. Fweak: int32(_PRI_FONT_FEATURES_WEAK),
  33417. },
  33418. 44: {
  33419. Fobject: int32(_FC_PRGNAME_OBJECT),
  33420. Fstrong: int32(_PRI_PRGNAME_STRONG),
  33421. Fweak: int32(_PRI_PRGNAME_WEAK),
  33422. },
  33423. 45: {
  33424. Fobject: int32(_FC_HASH_OBJECT),
  33425. Fstrong: int32(_PRI_HASH_STRONG),
  33426. Fweak: int32(_PRI_HASH_WEAK),
  33427. },
  33428. 46: {
  33429. Fobject: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  33430. Fstrong: int32(_PRI_POSTSCRIPT_NAME_STRONG),
  33431. Fweak: int32(_PRI_POSTSCRIPT_NAME_WEAK),
  33432. },
  33433. 47: {
  33434. Fobject: int32(_FC_COLOR_OBJECT),
  33435. Fstrong: int32(_PRI_COLOR_STRONG),
  33436. Fweak: int32(_PRI_COLOR_WEAK),
  33437. },
  33438. 48: {
  33439. Fobject: int32(_FC_SYMBOL_OBJECT),
  33440. Fstrong: int32(_PRI_SYMBOL_STRONG),
  33441. Fweak: int32(_PRI_SYMBOL_WEAK),
  33442. },
  33443. 49: {
  33444. Fobject: int32(_FC_FONT_VARIATIONS_OBJECT),
  33445. Fstrong: int32(_PRI_FONT_VARIATIONS_STRONG),
  33446. Fweak: int32(_PRI_FONT_VARIATIONS_WEAK),
  33447. },
  33448. 50: {
  33449. Fobject: int32(_FC_VARIABLE_OBJECT),
  33450. Fstrong: int32(_PRI_VARIABLE_STRONG),
  33451. Fweak: int32(_PRI_VARIABLE_WEAK),
  33452. },
  33453. 51: {
  33454. Fobject: int32(_FC_FONT_HAS_HINT_OBJECT),
  33455. Fstrong: int32(_PRI_FONT_HAS_HINT_STRONG),
  33456. Fweak: int32(_PRI_FONT_HAS_HINT_WEAK),
  33457. },
  33458. 52: {
  33459. Fobject: int32(_FC_ORDER_OBJECT),
  33460. Fstrong: int32(_PRI_ORDER_STRONG),
  33461. Fweak: int32(_PRI_ORDER_WEAK),
  33462. },
  33463. }
  33464. func init() {
  33465. p := unsafe.Pointer(&__FcMatchers)
  33466. *(*uintptr)(unsafe.Add(p, 20)) = __ccgo_fp(_FcCompareFamily)
  33467. *(*uintptr)(unsafe.Add(p, 52)) = __ccgo_fp(_FcCompareString)
  33468. *(*uintptr)(unsafe.Add(p, 116)) = __ccgo_fp(_FcCompareNumber)
  33469. *(*uintptr)(unsafe.Add(p, 132)) = __ccgo_fp(_FcCompareRange)
  33470. *(*uintptr)(unsafe.Add(p, 148)) = __ccgo_fp(_FcCompareRange)
  33471. *(*uintptr)(unsafe.Add(p, 164)) = __ccgo_fp(_FcCompareSize)
  33472. *(*uintptr)(unsafe.Add(p, 196)) = __ccgo_fp(_FcCompareNumber)
  33473. *(*uintptr)(unsafe.Add(p, 212)) = __ccgo_fp(_FcCompareNumber)
  33474. *(*uintptr)(unsafe.Add(p, 228)) = __ccgo_fp(_FcCompareString)
  33475. *(*uintptr)(unsafe.Add(p, 244)) = __ccgo_fp(_FcCompareBool)
  33476. *(*uintptr)(unsafe.Add(p, 340)) = __ccgo_fp(_FcCompareFilename)
  33477. *(*uintptr)(unsafe.Add(p, 372)) = __ccgo_fp(_FcCompareString)
  33478. *(*uintptr)(unsafe.Add(p, 388)) = __ccgo_fp(_FcCompareBool)
  33479. *(*uintptr)(unsafe.Add(p, 404)) = __ccgo_fp(_FcCompareBool)
  33480. *(*uintptr)(unsafe.Add(p, 532)) = __ccgo_fp(_FcCompareCharSet)
  33481. *(*uintptr)(unsafe.Add(p, 548)) = __ccgo_fp(_FcCompareLang)
  33482. *(*uintptr)(unsafe.Add(p, 564)) = __ccgo_fp(_FcCompareNumber)
  33483. *(*uintptr)(unsafe.Add(p, 596)) = __ccgo_fp(_FcCompareString)
  33484. *(*uintptr)(unsafe.Add(p, 644)) = __ccgo_fp(_FcCompareBool)
  33485. *(*uintptr)(unsafe.Add(p, 740)) = __ccgo_fp(_FcComparePostScript)
  33486. *(*uintptr)(unsafe.Add(p, 756)) = __ccgo_fp(_FcCompareBool)
  33487. *(*uintptr)(unsafe.Add(p, 772)) = __ccgo_fp(_FcCompareBool)
  33488. *(*uintptr)(unsafe.Add(p, 804)) = __ccgo_fp(_FcCompareBool)
  33489. *(*uintptr)(unsafe.Add(p, 820)) = __ccgo_fp(_FcCompareBool)
  33490. *(*uintptr)(unsafe.Add(p, 836)) = __ccgo_fp(_FcCompareNumber)
  33491. }
  33492. func _FcObjectToMatcher(tls *libc.TLS, object TFcObject, include_lang TFcBool) (r uintptr) {
  33493. if include_lang != 0 {
  33494. switch object {
  33495. case int32(_FC_FAMILYLANG_OBJECT):
  33496. fallthrough
  33497. case int32(_FC_STYLELANG_OBJECT):
  33498. fallthrough
  33499. case int32(_FC_FULLNAMELANG_OBJECT):
  33500. object = int32(_FC_LANG_OBJECT)
  33501. break
  33502. }
  33503. }
  33504. if object > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) || !(__FcMatchers[object].Fcompare != 0) || __FcMatchers[object].Fstrong == -int32(1) || __FcMatchers[object].Fweak == -int32(1) {
  33505. return libc.UintptrFromInt32(0)
  33506. }
  33507. return uintptr(unsafe.Pointer(&__FcMatchers)) + uintptr(object)*16
  33508. }
  33509. func _FcCompareValueList(tls *libc.TLS, object TFcObject, match uintptr, v1orig TFcValueListPtr, v2orig TFcValueListPtr, bestValue uintptr, value uintptr, n uintptr, result uintptr) (r TFcBool) {
  33510. bp := tls.Alloc(48)
  33511. defer tls.Free(48)
  33512. var best, bestStrong, bestWeak, v float64
  33513. var j, k, pos, strong, weak, v3 int32
  33514. var v1, v2 TFcValueListPtr
  33515. var v4, v5 uintptr
  33516. var _ /* matchValue at bp+0 */ TFcValue
  33517. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestStrong, bestWeak, j, k, pos, strong, v, v1, v2, weak, v3, v4, v5
  33518. pos = 0
  33519. if !(match != 0) {
  33520. if bestValue != 0 {
  33521. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2orig+8)
  33522. }
  33523. if n != 0 {
  33524. *(*int32)(unsafe.Pointer(n)) = 0
  33525. }
  33526. return int32(m_FcTrue)
  33527. }
  33528. weak = (*TFcMatcher)(unsafe.Pointer(match)).Fweak
  33529. strong = (*TFcMatcher)(unsafe.Pointer(match)).Fstrong
  33530. best = float64(1e+99)
  33531. bestStrong = float64(1e+99)
  33532. bestWeak = float64(1e+99)
  33533. v1 = v1orig
  33534. j = libc.Int32FromInt32(0)
  33535. for {
  33536. if !(v1 != 0) {
  33537. break
  33538. }
  33539. v2 = v2orig
  33540. k = libc.Int32FromInt32(0)
  33541. for {
  33542. if !(v2 != 0) {
  33543. break
  33544. }
  33545. v = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) float64)(unsafe.Pointer(&struct{ uintptr }{(*TFcMatcher)(unsafe.Pointer(match)).Fcompare})))(tls, v1+8, v2+8, bp)
  33546. if v < libc.Float64FromInt32(0) {
  33547. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultTypeMismatch)
  33548. return m_FcFalse
  33549. }
  33550. if (*T_FcValueList)(unsafe.Pointer(v2)).Fvalue.Ftype1 == int32(_FcTypeString) {
  33551. v3 = int32(1)
  33552. } else {
  33553. v3 = 0
  33554. }
  33555. v = v*libc.Float64FromInt32(1000) + float64(j*int32(100)) + float64(k*v3)
  33556. if v < best {
  33557. if bestValue != 0 {
  33558. *(*TFcValue)(unsafe.Pointer(bestValue)) = *(*TFcValue)(unsafe.Pointer(bp))
  33559. }
  33560. best = v
  33561. pos = k
  33562. }
  33563. if weak == strong {
  33564. /* found the best possible match */
  33565. if best < libc.Float64FromInt32(1000) {
  33566. goto done
  33567. }
  33568. } else {
  33569. if (*T_FcValueList)(unsafe.Pointer(v1)).Fbinding == int32(_FcValueBindingStrong) {
  33570. if v < bestStrong {
  33571. bestStrong = v
  33572. }
  33573. } else {
  33574. if v < bestWeak {
  33575. bestWeak = v
  33576. }
  33577. }
  33578. }
  33579. goto _2
  33580. _2:
  33581. ;
  33582. if int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int32(1) != 0 {
  33583. v4 = uintptr(int32(v2) + int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext) & ^libc.Int32FromInt32(1))
  33584. } else {
  33585. v4 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  33586. }
  33587. v2 = v4
  33588. k++
  33589. }
  33590. goto _1
  33591. _1:
  33592. ;
  33593. if int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int32(1) != 0 {
  33594. v5 = uintptr(int32(v1) + int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext) & ^libc.Int32FromInt32(1))
  33595. } else {
  33596. v5 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  33597. }
  33598. v1 = v5
  33599. j++
  33600. }
  33601. goto done
  33602. done:
  33603. ;
  33604. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33605. libc.Xprintf(tls, __ccgo_ts+6023, libc.VaList(bp+24, XFcObjectName(tls, object), best))
  33606. XFcValueListPrint(tls, v1orig)
  33607. libc.Xprintf(tls, __ccgo_ts+6032, 0)
  33608. XFcValueListPrint(tls, v2orig)
  33609. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  33610. }
  33611. if value != 0 {
  33612. if weak == strong {
  33613. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += best
  33614. } else {
  33615. *(*float64)(unsafe.Pointer(value + uintptr(weak)*8)) += bestWeak
  33616. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += bestStrong
  33617. }
  33618. }
  33619. if n != 0 {
  33620. *(*int32)(unsafe.Pointer(n)) = pos
  33621. }
  33622. return int32(m_FcTrue)
  33623. }
  33624. // C documentation
  33625. //
  33626. // /* The bulk of the time in FcFontMatch and FcFontSort goes to
  33627. // * walking long lists of family names. We speed this up with a
  33628. // * hash table.
  33629. // */
  33630. type TFamilyEntry = struct {
  33631. F__ccgo_align [0]uint32
  33632. Fstrong_value float64
  33633. Fweak_value float64
  33634. }
  33635. type TFcCompareData = struct {
  33636. Ffamily_hash uintptr
  33637. }
  33638. func _FcCompareDataClear(tls *libc.TLS, data uintptr) {
  33639. XFcHashTableDestroy(tls, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash)
  33640. }
  33641. func _FcCompareDataInit(tls *libc.TLS, pat uintptr, data uintptr) {
  33642. bp := tls.Alloc(16)
  33643. defer tls.Free(16)
  33644. var elt, key, table, v2, v3, v4 uintptr
  33645. var i int32
  33646. var l TFcValueListPtr
  33647. var _ /* e at bp+0 */ uintptr
  33648. _, _, _, _, _, _, _, _ = elt, i, key, l, table, v2, v3, v4
  33649. table = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree))
  33650. elt = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  33651. if elt != 0 {
  33652. if int32((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int32(1) != 0 {
  33653. v2 = uintptr(int32(elt) + int32((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues) & ^libc.Int32FromInt32(1))
  33654. } else {
  33655. v2 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  33656. }
  33657. l = v2
  33658. i = libc.Int32FromInt32(0)
  33659. for {
  33660. if !(l != 0) {
  33661. break
  33662. }
  33663. if int32((*TFcValue)(unsafe.Pointer(l+8)).Fu.Fs)&int32(1) != 0 {
  33664. v3 = uintptr(Tintptr_t(l+8) + int32((*TFcValue)(unsafe.Pointer(l+8)).Fu.Fs) & ^libc.Int32FromInt32(1))
  33665. } else {
  33666. v3 = (*TFcValue)(unsafe.Pointer(l + 8)).Fu.Fs
  33667. }
  33668. key = v3
  33669. if !(XFcHashTableFind(tls, table, key, bp) != 0) {
  33670. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint32(16))
  33671. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(1e+99)
  33672. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(1e+99)
  33673. XFcHashTableAdd(tls, table, key, *(*uintptr)(unsafe.Pointer(bp)))
  33674. }
  33675. if (*T_FcValueList)(unsafe.Pointer(l)).Fbinding == int32(_FcValueBindingWeak) {
  33676. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value {
  33677. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(i)
  33678. }
  33679. } else {
  33680. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value {
  33681. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(i)
  33682. }
  33683. }
  33684. goto _1
  33685. _1:
  33686. ;
  33687. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  33688. v4 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  33689. } else {
  33690. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  33691. }
  33692. l = v4
  33693. i++
  33694. }
  33695. }
  33696. (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash = table
  33697. }
  33698. func _FcCompareFamilies(tls *libc.TLS, pat uintptr, v1orig TFcValueListPtr, fnt uintptr, v2orig TFcValueListPtr, value uintptr, result uintptr, table uintptr) (r TFcBool) {
  33699. bp := tls.Alloc(32)
  33700. defer tls.Free(32)
  33701. var key, v21, v3 uintptr
  33702. var strong_value, weak_value float64
  33703. var v2 TFcValueListPtr
  33704. var _ /* e at bp+0 */ uintptr
  33705. _, _, _, _, _, _ = key, strong_value, v2, weak_value, v21, v3
  33706. strong_value = float64(1e+99)
  33707. weak_value = float64(1e+99)
  33708. v2 = v2orig
  33709. for {
  33710. if !(v2 != 0) {
  33711. break
  33712. }
  33713. if int32((*TFcValue)(unsafe.Pointer(v2+8)).Fu.Fs)&int32(1) != 0 {
  33714. v21 = uintptr(Tintptr_t(v2+8) + int32((*TFcValue)(unsafe.Pointer(v2+8)).Fu.Fs) & ^libc.Int32FromInt32(1))
  33715. } else {
  33716. v21 = (*TFcValue)(unsafe.Pointer(v2 + 8)).Fu.Fs
  33717. }
  33718. key = v21
  33719. if XFcHashTableFind(tls, table, key, bp) != 0 {
  33720. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value < strong_value {
  33721. strong_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value
  33722. }
  33723. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value < weak_value {
  33724. weak_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value
  33725. }
  33726. }
  33727. goto _1
  33728. _1:
  33729. ;
  33730. if int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int32(1) != 0 {
  33731. v3 = uintptr(int32(v2) + int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext) & ^libc.Int32FromInt32(1))
  33732. } else {
  33733. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  33734. }
  33735. v2 = v3
  33736. }
  33737. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33738. libc.Xprintf(tls, __ccgo_ts+6035, libc.VaList(bp+16, XFcObjectName(tls, int32(_FC_FAMILY_OBJECT)), strong_value))
  33739. XFcValueListPrint(tls, v1orig)
  33740. libc.Xprintf(tls, __ccgo_ts+6032, 0)
  33741. XFcValueListPrint(tls, v2orig)
  33742. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  33743. }
  33744. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_STRONG)*8)) = strong_value
  33745. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_WEAK)*8)) = weak_value
  33746. return int32(m_FcTrue)
  33747. }
  33748. /*
  33749. * Return a value indicating the distance between the two lists of
  33750. * values
  33751. */
  33752. func _FcCompare(tls *libc.TLS, pat uintptr, fnt uintptr, value uintptr, result uintptr, data uintptr) (r TFcBool) {
  33753. var elt_i1, elt_i2, match, v2, v3, v4, v5 uintptr
  33754. var i, i1, i2 int32
  33755. _, _, _, _, _, _, _, _, _, _ = elt_i1, elt_i2, i, i1, i2, match, v2, v3, v4, v5
  33756. i = 0
  33757. for {
  33758. if !(i < int32(_PRI_END)) {
  33759. break
  33760. }
  33761. *(*float64)(unsafe.Pointer(value + uintptr(i)*8)) = float64(0)
  33762. goto _1
  33763. _1:
  33764. ;
  33765. i++
  33766. }
  33767. i1 = 0
  33768. i2 = 0
  33769. for i1 < (*TFcPattern)(unsafe.Pointer(pat)).Fnum && i2 < (*TFcPattern)(unsafe.Pointer(fnt)).Fnum {
  33770. elt_i1 = uintptr(int32(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i1)*8
  33771. elt_i2 = uintptr(int32(fnt)+(*TFcPattern)(unsafe.Pointer(fnt)).Felts_offset) + uintptr(i2)*8
  33772. i = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject - (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fobject
  33773. if i > 0 {
  33774. i2++
  33775. } else {
  33776. if i < 0 {
  33777. i1++
  33778. } else {
  33779. if (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject == int32(_FC_FAMILY_OBJECT) && (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash != 0 {
  33780. if int32((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int32(1) != 0 {
  33781. v2 = uintptr(int32(elt_i1) + int32((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues) & ^libc.Int32FromInt32(1))
  33782. } else {
  33783. v2 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  33784. }
  33785. if int32((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int32(1) != 0 {
  33786. v3 = uintptr(int32(elt_i2) + int32((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues) & ^libc.Int32FromInt32(1))
  33787. } else {
  33788. v3 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  33789. }
  33790. if !(_FcCompareFamilies(tls, pat, v2, fnt, v3, value, result, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash) != 0) {
  33791. return m_FcFalse
  33792. }
  33793. i1++
  33794. i2++
  33795. } else {
  33796. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, m_FcFalse)
  33797. if int32((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int32(1) != 0 {
  33798. v4 = uintptr(int32(elt_i1) + int32((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues) & ^libc.Int32FromInt32(1))
  33799. } else {
  33800. v4 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  33801. }
  33802. if int32((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int32(1) != 0 {
  33803. v5 = uintptr(int32(elt_i2) + int32((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues) & ^libc.Int32FromInt32(1))
  33804. } else {
  33805. v5 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  33806. }
  33807. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, match, v4, v5, libc.UintptrFromInt32(0), value, libc.UintptrFromInt32(0), result) != 0) {
  33808. return m_FcFalse
  33809. }
  33810. i1++
  33811. i2++
  33812. }
  33813. }
  33814. }
  33815. }
  33816. return int32(m_FcTrue)
  33817. }
  33818. func XIA__FcFontRenderPrepare(tls *libc.TLS, config uintptr, pat uintptr, font uintptr) (r uintptr) {
  33819. bp := tls.Alloc(272)
  33820. defer tls.Free(272)
  33821. var binding TFcValueBinding
  33822. var fe, fel, func1, match, match1, new1, pe, pel, tag, v10, v11, v12, v13, v14, v15, v17, v19, v2, v3, v5, v6, v7, v8, v9 uintptr
  33823. var i, j int32
  33824. var l1, l11, l2, l21, ll, ln TFcValueListPtr
  33825. var num float64
  33826. var v16 bool
  33827. var _ /* n at bp+108 */ int32
  33828. var _ /* result at bp+16 */ TFcResult
  33829. var _ /* temp at bp+112 */ [128]TFcChar8
  33830. var _ /* v at bp+0 */ TFcValue
  33831. var _ /* variable at bp+20 */ TFcBool
  33832. var _ /* variations at bp+24 */ TFcStrBuf
  33833. var _ /* vars at bp+240 */ uintptr
  33834. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = binding, fe, fel, func1, i, j, l1, l11, l2, l21, ll, ln, match, match1, new1, num, pe, pel, tag, v10, v11, v12, v13, v14, v15, v16, v17, v19, v2, v3, v5, v6, v7, v8, v9
  33835. *(*TFcBool)(unsafe.Pointer(bp + 20)) = m_FcFalse
  33836. XFcPatternObjectGetBool(tls, font, int32(_FC_VARIABLE_OBJECT), 0, bp+20)
  33837. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 {
  33838. XFcStrBufInit(tls, bp+24, libc.UintptrFromInt32(0), 0)
  33839. }
  33840. new1 = XIA__FcPatternCreate(tls)
  33841. if !(new1 != 0) {
  33842. return libc.UintptrFromInt32(0)
  33843. }
  33844. i = 0
  33845. for {
  33846. if !(i < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  33847. break
  33848. }
  33849. fe = uintptr(int32(font)+(*TFcPattern)(unsafe.Pointer(font)).Felts_offset) + uintptr(i)*8
  33850. if (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FAMILYLANG_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_STYLELANG_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FULLNAMELANG_OBJECT) {
  33851. /* ignore those objects. we need to deal with them
  33852. * another way */
  33853. goto _1
  33854. }
  33855. if (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FAMILY_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_STYLE_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FULLNAME_OBJECT) {
  33856. fel = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  33857. pel = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  33858. if fel != 0 && pel != 0 {
  33859. /* The font has name languages, and pattern asks for specific language(s).
  33860. * Match on language and and prefer that result.
  33861. * Note: Currently the code only give priority to first matching language.
  33862. */
  33863. *(*int32)(unsafe.Pointer(bp + 108)) = int32(1)
  33864. ln = libc.UintptrFromInt32(0)
  33865. ll = libc.UintptrFromInt32(0)
  33866. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, int32(m_FcTrue))
  33867. if int32((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int32(1) != 0 {
  33868. v2 = uintptr(int32(pel) + int32((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues) & ^libc.Int32FromInt32(1))
  33869. } else {
  33870. v2 = (*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues
  33871. }
  33872. if int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int32(1) != 0 {
  33873. v3 = uintptr(int32(fel) + int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues) & ^libc.Int32FromInt32(1))
  33874. } else {
  33875. v3 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33876. }
  33877. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+108, bp+16) != 0) {
  33878. XIA__FcPatternDestroy(tls, new1)
  33879. return libc.UintptrFromInt32(0)
  33880. }
  33881. j = 0
  33882. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33883. v5 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33884. } else {
  33885. v5 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33886. }
  33887. l1 = v5
  33888. if int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int32(1) != 0 {
  33889. v6 = uintptr(int32(fel) + int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues) & ^libc.Int32FromInt32(1))
  33890. } else {
  33891. v6 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33892. }
  33893. l2 = v6
  33894. for {
  33895. if !(l1 != libc.UintptrFromInt32(0) || l2 != libc.UintptrFromInt32(0)) {
  33896. break
  33897. }
  33898. binding = int32(_FcValueBindingEnd)
  33899. if j == *(*int32)(unsafe.Pointer(bp + 108)) {
  33900. binding = int32(_FcValueBindingStrong)
  33901. func1 = __ccgo_fp(XFcValueListPrepend)
  33902. } else {
  33903. func1 = __ccgo_fp(XFcValueListAppend)
  33904. }
  33905. if l1 != 0 {
  33906. ln = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ln, XFcValueCanonicalize(tls, l1+8), (*T_FcValueList)(unsafe.Pointer(l1)).Fbinding)
  33907. }
  33908. if l2 != 0 {
  33909. if binding == int32(_FcValueBindingEnd) {
  33910. binding = (*T_FcValueList)(unsafe.Pointer(l2)).Fbinding
  33911. }
  33912. ll = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ll, XFcValueCanonicalize(tls, l2+8), binding)
  33913. }
  33914. goto _4
  33915. _4:
  33916. ;
  33917. j++
  33918. if l1 != 0 {
  33919. if int32((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int32(1) != 0 {
  33920. v8 = uintptr(int32(l1) + int32((*T_FcValueList)(unsafe.Pointer(l1)).Fnext) & ^libc.Int32FromInt32(1))
  33921. } else {
  33922. v8 = (*T_FcValueList)(unsafe.Pointer(l1)).Fnext
  33923. }
  33924. v7 = v8
  33925. } else {
  33926. v7 = libc.UintptrFromInt32(0)
  33927. }
  33928. l1 = v7
  33929. if l2 != 0 {
  33930. if int32((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int32(1) != 0 {
  33931. v10 = uintptr(int32(l2) + int32((*T_FcValueList)(unsafe.Pointer(l2)).Fnext) & ^libc.Int32FromInt32(1))
  33932. } else {
  33933. v10 = (*T_FcValueList)(unsafe.Pointer(l2)).Fnext
  33934. }
  33935. v9 = v10
  33936. } else {
  33937. v9 = libc.UintptrFromInt32(0)
  33938. }
  33939. l2 = v9
  33940. }
  33941. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, ln, m_FcFalse)
  33942. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, ll, m_FcFalse)
  33943. goto _1
  33944. } else {
  33945. if fel != 0 {
  33946. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33947. v11 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33948. } else {
  33949. v11 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33950. }
  33951. l11 = XFcValueListDuplicate(tls, v11)
  33952. if int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int32(1) != 0 {
  33953. v12 = uintptr(int32(fel) + int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues) & ^libc.Int32FromInt32(1))
  33954. } else {
  33955. v12 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33956. }
  33957. l21 = XFcValueListDuplicate(tls, v12)
  33958. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, l11, m_FcFalse)
  33959. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, l21, m_FcFalse)
  33960. goto _1
  33961. }
  33962. }
  33963. }
  33964. pe = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject)
  33965. if pe != 0 {
  33966. match1 = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, m_FcFalse)
  33967. if int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int32(1) != 0 {
  33968. v13 = uintptr(int32(pe) + int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues) & ^libc.Int32FromInt32(1))
  33969. } else {
  33970. v13 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  33971. }
  33972. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33973. v14 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33974. } else {
  33975. v14 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33976. }
  33977. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, match1, v13, v14, bp, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+16) != 0) {
  33978. XIA__FcPatternDestroy(tls, new1)
  33979. return libc.UintptrFromInt32(0)
  33980. }
  33981. XFcPatternObjectAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, *(*TFcValue)(unsafe.Pointer(bp)), m_FcFalse)
  33982. /* Set font-variations settings for standard axes in variable fonts. */
  33983. if v16 = *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0; v16 {
  33984. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33985. v15 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33986. } else {
  33987. v15 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33988. }
  33989. }
  33990. if v16 && (*TFcValueList)(unsafe.Pointer(v15)).Fvalue.Ftype1 == int32(_FcTypeRange) && ((*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_WEIGHT_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_WIDTH_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_SIZE_OBJECT)) {
  33991. tag = __ccgo_ts + 6043
  33992. num = *(*float64)(unsafe.Pointer(bp + 8))
  33993. if (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  33994. XFcStrBufChar(tls, bp+24, uint8(','))
  33995. }
  33996. switch (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject {
  33997. case int32(_FC_WEIGHT_OBJECT):
  33998. tag = __ccgo_ts + 6048
  33999. num = float64(XIA__FcWeightToOpenType(tls, int32(num)))
  34000. case int32(_FC_WIDTH_OBJECT):
  34001. tag = __ccgo_ts + 6053
  34002. case int32(_FC_SIZE_OBJECT):
  34003. tag = __ccgo_ts + 6058
  34004. break
  34005. }
  34006. libc.Xsprintf(tls, bp+112, __ccgo_ts+6063, libc.VaList(bp+256, tag, num))
  34007. XFcStrBufString(tls, bp+24, bp+112)
  34008. }
  34009. } else {
  34010. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  34011. v17 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  34012. } else {
  34013. v17 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  34014. }
  34015. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, XFcValueListDuplicate(tls, v17), int32(m_FcTrue))
  34016. }
  34017. goto _1
  34018. _1:
  34019. ;
  34020. i++
  34021. }
  34022. i = 0
  34023. for {
  34024. if !(i < (*TFcPattern)(unsafe.Pointer(pat)).Fnum) {
  34025. break
  34026. }
  34027. pe = uintptr(int32(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i)*8
  34028. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  34029. if !(fe != 0) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_FAMILYLANG_OBJECT) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_STYLELANG_OBJECT) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_FULLNAMELANG_OBJECT) {
  34030. if int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int32(1) != 0 {
  34031. v19 = uintptr(int32(pe) + int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues) & ^libc.Int32FromInt32(1))
  34032. } else {
  34033. v19 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  34034. }
  34035. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, XFcValueListDuplicate(tls, v19), m_FcFalse)
  34036. }
  34037. goto _18
  34038. _18:
  34039. ;
  34040. i++
  34041. }
  34042. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 && (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  34043. *(*uintptr)(unsafe.Pointer(bp + 240)) = libc.UintptrFromInt32(0)
  34044. if XFcPatternObjectGetString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), 0, bp+240) == int32(_FcResultMatch) {
  34045. XFcStrBufChar(tls, bp+24, uint8(','))
  34046. XFcStrBufString(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 240)))
  34047. XFcPatternObjectDel(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT))
  34048. }
  34049. XFcPatternObjectAddString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), XFcStrBufDoneStatic(tls, bp+24))
  34050. XFcStrBufDestroy(tls, bp+24)
  34051. }
  34052. XIA__FcConfigSubstituteWithPat(tls, config, new1, pat, int32(_FcMatchFont))
  34053. return new1
  34054. }
  34055. var XFcFontRenderPrepare = XIA__FcFontRenderPrepare
  34056. func _FcFontSetMatchInternal(tls *libc.TLS, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  34057. bp := tls.Alloc(240)
  34058. defer tls.Free(240)
  34059. var best, elt, env, match, os, p1, pat, s, s1, ss, x, v11, v12, v14, v15, v8 uintptr
  34060. var bestscore [27]float64
  34061. var binding TFcValueBinding
  34062. var f, i, set int32
  34063. var f1 TFcBool
  34064. var l, ll, new1, t, v10 TFcValueListPtr
  34065. var len1 Tsize_t
  34066. var v TFcValue
  34067. var _ /* data at bp+216 */ TFcCompareData
  34068. var _ /* score at bp+0 */ [27]float64
  34069. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestscore, binding, elt, env, f, f1, i, l, len1, ll, match, new1, os, p1, pat, s, s1, set, ss, t, v, x, v10, v11, v12, v14, v15, v8
  34070. pat = libc.UintptrFromInt32(0)
  34071. i = 0
  34072. for {
  34073. if !(i < int32(_PRI_END)) {
  34074. break
  34075. }
  34076. bestscore[i] = libc.Float64FromInt32(0)
  34077. goto _1
  34078. _1:
  34079. ;
  34080. i++
  34081. }
  34082. best = uintptr(0)
  34083. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34084. libc.Xprintf(tls, __ccgo_ts+6070, 0)
  34085. XIA__FcPatternPrint(tls, p)
  34086. }
  34087. _FcCompareDataInit(tls, p, bp+216)
  34088. set = 0
  34089. for {
  34090. if !(set < nsets) {
  34091. break
  34092. }
  34093. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*4))
  34094. if !(s != 0) {
  34095. goto _2
  34096. }
  34097. f = 0
  34098. for {
  34099. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  34100. break
  34101. }
  34102. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34103. libc.Xprintf(tls, __ccgo_ts+2729, libc.VaList(bp+232, f))
  34104. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4)))
  34105. }
  34106. if !(_FcCompare(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4)), bp, result, bp+216) != 0) {
  34107. _FcCompareDataClear(tls, bp+216)
  34108. return uintptr(0)
  34109. }
  34110. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34111. libc.Xprintf(tls, __ccgo_ts+6077, 0)
  34112. i = 0
  34113. for {
  34114. if !(i < int32(_PRI_END)) {
  34115. break
  34116. }
  34117. libc.Xprintf(tls, __ccgo_ts+6083, libc.VaList(bp+232, (*(*[27]float64)(unsafe.Pointer(bp)))[i]))
  34118. goto _4
  34119. _4:
  34120. ;
  34121. i++
  34122. }
  34123. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  34124. }
  34125. i = 0
  34126. for {
  34127. if !(i < int32(_PRI_END)) {
  34128. break
  34129. }
  34130. if best != 0 && bestscore[i] < (*(*[27]float64)(unsafe.Pointer(bp)))[i] {
  34131. break
  34132. }
  34133. if !(best != 0) || (*(*[27]float64)(unsafe.Pointer(bp)))[i] < bestscore[i] {
  34134. i = 0
  34135. for {
  34136. if !(i < int32(_PRI_END)) {
  34137. break
  34138. }
  34139. bestscore[i] = (*(*[27]float64)(unsafe.Pointer(bp)))[i]
  34140. goto _6
  34141. _6:
  34142. ;
  34143. i++
  34144. }
  34145. best = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4))
  34146. break
  34147. }
  34148. goto _5
  34149. _5:
  34150. ;
  34151. i++
  34152. }
  34153. goto _3
  34154. _3:
  34155. ;
  34156. f++
  34157. }
  34158. goto _2
  34159. _2:
  34160. ;
  34161. set++
  34162. }
  34163. _FcCompareDataClear(tls, bp+216)
  34164. /* Update the binding according to the score to indicate how exactly values matches on. */
  34165. if best != 0 {
  34166. pat = XIA__FcPatternCreate(tls)
  34167. elt = uintptr(int32(best) + (*TFcPattern)(unsafe.Pointer(best)).Felts_offset)
  34168. i = 0
  34169. for {
  34170. if !(i < XIA__FcPatternObjectCount(tls, best)) {
  34171. break
  34172. }
  34173. match = _FcObjectToMatcher(tls, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*8))).Fobject, m_FcFalse)
  34174. if int32((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  34175. v8 = uintptr(Tintptr_t(elt+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  34176. } else {
  34177. v8 = (*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*8)).Fvalues
  34178. }
  34179. l = v8
  34180. if !(match != 0) {
  34181. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*8))).Fobject, XFcValueListDuplicate(tls, l), int32(m_FcTrue))
  34182. } else {
  34183. binding = int32(_FcValueBindingWeak)
  34184. new1 = libc.UintptrFromInt32(0)
  34185. t = libc.UintptrFromInt32(0)
  34186. /* If the value was matched exactly, update the binding to Strong. */
  34187. if bestscore[(*TFcMatcher)(unsafe.Pointer(match)).Fstrong] < libc.Float64FromInt32(1000) {
  34188. binding = int32(_FcValueBindingStrong)
  34189. }
  34190. ll = l
  34191. for {
  34192. if !(ll != libc.UintptrFromInt32(0)) {
  34193. break
  34194. }
  34195. if !(new1 != 0) {
  34196. v10 = XFcValueListCreate(tls)
  34197. new1 = v10
  34198. t = v10
  34199. } else {
  34200. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  34201. if int32((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int32(1) != 0 {
  34202. v11 = uintptr(int32(t) + int32((*T_FcValueList)(unsafe.Pointer(t)).Fnext) & ^libc.Int32FromInt32(1))
  34203. } else {
  34204. v11 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  34205. }
  34206. t = v11
  34207. }
  34208. v = XFcValueCanonicalize(tls, ll+8)
  34209. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XIA__FcValueSave(tls, v)
  34210. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = binding
  34211. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  34212. goto _9
  34213. _9:
  34214. ;
  34215. if int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int32(1) != 0 {
  34216. v12 = uintptr(int32(ll) + int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext) & ^libc.Int32FromInt32(1))
  34217. } else {
  34218. v12 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  34219. }
  34220. ll = v12
  34221. }
  34222. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*8))).Fobject, new1, int32(m_FcTrue))
  34223. }
  34224. goto _7
  34225. _7:
  34226. ;
  34227. i++
  34228. }
  34229. }
  34230. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34231. libc.Xprintf(tls, __ccgo_ts+6087, 0)
  34232. i = 0
  34233. for {
  34234. if !(i < int32(_PRI_END)) {
  34235. break
  34236. }
  34237. libc.Xprintf(tls, __ccgo_ts+6083, libc.VaList(bp+232, bestscore[i]))
  34238. goto _13
  34239. _13:
  34240. ;
  34241. i++
  34242. }
  34243. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  34244. XIA__FcPatternPrint(tls, pat)
  34245. }
  34246. if XFcDebugVal&int32(m_FC_DBG_MATCH2) != 0 {
  34247. env = libc.Xgetenv(tls, __ccgo_ts+6098)
  34248. os = libc.UintptrFromInt32(0)
  34249. if env != 0 {
  34250. f1 = int32(m_FcTrue)
  34251. v14 = libc.Xstrdup(tls, env)
  34252. s1 = v14
  34253. ss = v14
  34254. os = XIA__FcObjectSetCreate(tls)
  34255. for f1 != 0 {
  34256. v15 = libc.Xstrchr(tls, s1, int32(','))
  34257. p1 = v15
  34258. if !(v15 != 0) {
  34259. f1 = m_FcFalse
  34260. len1 = libc.Xstrlen(tls, s1)
  34261. } else {
  34262. len1 = libc.Uint32FromInt32(int32(p1) - int32(s1))
  34263. }
  34264. x = libc.Xmalloc(tls, uint32(1)*(len1+uint32(1)))
  34265. if x != 0 {
  34266. libc.Xstrcpy(tls, x, s1)
  34267. if XFcObjectFromName(tls, x) > 0 {
  34268. XIA__FcObjectSetAdd(tls, os, x)
  34269. }
  34270. s1 = p1 + uintptr(1)
  34271. libc.Xfree(tls, x)
  34272. }
  34273. }
  34274. libc.Xfree(tls, ss)
  34275. }
  34276. XFcPatternPrint2(tls, p, pat, os)
  34277. if os != 0 {
  34278. XIA__FcObjectSetDestroy(tls, os)
  34279. }
  34280. }
  34281. /* assuming that 'result' is initialized with FcResultNoMatch
  34282. * outside this function */
  34283. if pat != 0 {
  34284. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  34285. }
  34286. return pat
  34287. }
  34288. func XIA__FcFontSetMatch(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  34289. var best, ret uintptr
  34290. _, _ = best, ret
  34291. ret = libc.UintptrFromInt32(0)
  34292. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34293. config = XIA__FcConfigReference(tls, config)
  34294. if !(config != 0) {
  34295. return libc.UintptrFromInt32(0)
  34296. }
  34297. best = _FcFontSetMatchInternal(tls, sets, nsets, p, result)
  34298. if best != 0 {
  34299. ret = XIA__FcFontRenderPrepare(tls, config, p, best)
  34300. XIA__FcPatternDestroy(tls, best)
  34301. }
  34302. XIA__FcConfigDestroy(tls, config)
  34303. return ret
  34304. }
  34305. var XFcFontSetMatch = XIA__FcFontSetMatch
  34306. func XIA__FcFontMatch(tls *libc.TLS, config uintptr, p uintptr, result uintptr) (r uintptr) {
  34307. bp := tls.Alloc(16)
  34308. defer tls.Free(16)
  34309. var best, ret uintptr
  34310. var nsets, v1, v2 int32
  34311. var _ /* sets at bp+0 */ [2]uintptr
  34312. _, _, _, _, _ = best, nsets, ret, v1, v2
  34313. ret = libc.UintptrFromInt32(0)
  34314. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34315. config = XIA__FcConfigReference(tls, config)
  34316. if !(config != 0) {
  34317. return libc.UintptrFromInt32(0)
  34318. }
  34319. nsets = 0
  34320. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4)) != 0 {
  34321. v1 = nsets
  34322. nsets++
  34323. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4))
  34324. }
  34325. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4)) != 0 {
  34326. v2 = nsets
  34327. nsets++
  34328. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4))
  34329. }
  34330. best = _FcFontSetMatchInternal(tls, bp, nsets, p, result)
  34331. if best != 0 {
  34332. ret = XIA__FcFontRenderPrepare(tls, config, p, best)
  34333. XIA__FcPatternDestroy(tls, best)
  34334. }
  34335. XIA__FcConfigDestroy(tls, config)
  34336. return ret
  34337. }
  34338. var XFcFontMatch = XIA__FcFontMatch
  34339. type TFcSortNode = struct {
  34340. F__ccgo_align [0]uint32
  34341. Fpattern uintptr
  34342. F__ccgo_align1 [4]byte
  34343. Fscore [27]float64
  34344. }
  34345. type T_FcSortNode = TFcSortNode
  34346. func _FcSortCompare(tls *libc.TLS, aa uintptr, ab uintptr) (r int32) {
  34347. var a, as, b, bs, v3, v5 uintptr
  34348. var ad, bd, v2, v4 float64
  34349. var i, v1, v7, v8 int32
  34350. var v6 bool
  34351. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, ad, as, b, bd, bs, i, v1, v2, v3, v4, v5, v6, v7, v8
  34352. a = *(*uintptr)(unsafe.Pointer(aa))
  34353. b = *(*uintptr)(unsafe.Pointer(ab))
  34354. as = a + 8
  34355. bs = b + 8
  34356. ad = libc.Float64FromInt32(0)
  34357. bd = libc.Float64FromInt32(0)
  34358. i = int32(_PRI_END)
  34359. for {
  34360. v1 = i
  34361. i--
  34362. if v6 = v1 != 0; v6 {
  34363. v3 = as
  34364. as += 8
  34365. v2 = *(*float64)(unsafe.Pointer(v3))
  34366. ad = v2
  34367. v5 = bs
  34368. bs += 8
  34369. v4 = *(*float64)(unsafe.Pointer(v5))
  34370. bd = v4
  34371. }
  34372. if !(v6 && v2 == v4) {
  34373. break
  34374. }
  34375. }
  34376. if ad < bd {
  34377. v7 = -int32(1)
  34378. } else {
  34379. if ad > bd {
  34380. v8 = int32(1)
  34381. } else {
  34382. v8 = 0
  34383. }
  34384. v7 = v8
  34385. }
  34386. return v7
  34387. }
  34388. func _FcSortWalk(tls *libc.TLS, n uintptr, nnode int32, fs uintptr, csp uintptr, trim TFcBool) (r TFcBool) {
  34389. bp := tls.Alloc(16)
  34390. defer tls.Free(16)
  34391. var cs, node, v2 uintptr
  34392. var i int32
  34393. var ret TFcBool
  34394. var _ /* adds_chars at bp+0 */ TFcBool
  34395. var _ /* ncs at bp+4 */ uintptr
  34396. _, _, _, _, _ = cs, i, node, ret, v2
  34397. ret = m_FcFalse
  34398. cs = uintptr(0)
  34399. if trim != 0 || csp != 0 {
  34400. cs = XIA__FcCharSetCreate(tls)
  34401. if cs == libc.UintptrFromInt32(0) {
  34402. goto bail
  34403. }
  34404. }
  34405. i = 0
  34406. for {
  34407. if !(i < nnode) {
  34408. break
  34409. }
  34410. v2 = n
  34411. n += 4
  34412. node = *(*uintptr)(unsafe.Pointer(v2))
  34413. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  34414. /*
  34415. * Only fetch node charset if we'd need it
  34416. */
  34417. if cs != 0 {
  34418. if XIA__FcPatternGetCharSet(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern, __ccgo_ts+6118, 0, bp+4) != int32(_FcResultMatch) {
  34419. goto _1
  34420. }
  34421. if !(XIA__FcCharSetMerge(tls, cs, *(*uintptr)(unsafe.Pointer(bp + 4)), bp) != 0) {
  34422. goto bail
  34423. }
  34424. }
  34425. /*
  34426. * If this font isn't a subset of the previous fonts,
  34427. * add it to the list
  34428. */
  34429. if !(i != 0) || !(trim != 0) || *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  34430. XIA__FcPatternReference(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34431. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34432. libc.Xprintf(tls, __ccgo_ts+6126, 0)
  34433. XIA__FcPatternPrint(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34434. }
  34435. if !(XIA__FcFontSetAdd(tls, fs, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern) != 0) {
  34436. XIA__FcPatternDestroy(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34437. goto bail
  34438. }
  34439. }
  34440. goto _1
  34441. _1:
  34442. ;
  34443. i++
  34444. }
  34445. if csp != 0 {
  34446. *(*uintptr)(unsafe.Pointer(csp)) = cs
  34447. cs = uintptr(0)
  34448. }
  34449. ret = int32(m_FcTrue)
  34450. goto bail
  34451. bail:
  34452. ;
  34453. if cs != 0 {
  34454. XIA__FcCharSetDestroy(tls, cs)
  34455. }
  34456. return ret
  34457. }
  34458. func XIA__FcFontSetSortDestroy(tls *libc.TLS, fs uintptr) {
  34459. XIA__FcFontSetDestroy(tls, fs)
  34460. }
  34461. var XFcFontSetSortDestroy = XIA__FcFontSetSortDestroy
  34462. func XIA__FcFontSetSort(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  34463. bp := tls.Alloc(96)
  34464. defer tls.Free(96)
  34465. var compare float64
  34466. var f, i, nPatternLang, nnodes, set int32
  34467. var new1, nodep, nodeps, nodes, patternLangSat, ret, s uintptr
  34468. var satisfies TFcBool
  34469. var _ /* data at bp+16 */ TFcCompareData
  34470. var _ /* family at bp+56 */ uintptr
  34471. var _ /* matchValue at bp+40 */ TFcValue
  34472. var _ /* nodeLang at bp+24 */ TFcValue
  34473. var _ /* patternLang at bp+0 */ TFcValue
  34474. var _ /* style at bp+60 */ uintptr
  34475. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = compare, f, i, nPatternLang, new1, nnodes, nodep, nodeps, nodes, patternLangSat, ret, s, satisfies, set
  34476. /* There are some implementation that relying on the result of
  34477. * "result" to check if the return value of FcFontSetSort
  34478. * is valid or not.
  34479. * So we should initialize it to the conservative way since
  34480. * this function doesn't return NULL anymore.
  34481. */
  34482. if result != 0 {
  34483. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34484. }
  34485. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34486. libc.Xprintf(tls, __ccgo_ts+6131, 0)
  34487. XIA__FcPatternPrint(tls, p)
  34488. }
  34489. nnodes = 0
  34490. set = 0
  34491. for {
  34492. if !(set < nsets) {
  34493. break
  34494. }
  34495. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*4))
  34496. if !(s != 0) {
  34497. goto _1
  34498. }
  34499. nnodes += (*TFcFontSet)(unsafe.Pointer(s)).Fnfont
  34500. goto _1
  34501. _1:
  34502. ;
  34503. set++
  34504. }
  34505. if !(nnodes != 0) {
  34506. return XIA__FcFontSetCreate(tls)
  34507. }
  34508. nPatternLang = 0
  34509. for {
  34510. if !(XIA__FcPatternGet(tls, p, __ccgo_ts+6137, nPatternLang, bp) == int32(_FcResultMatch)) {
  34511. break
  34512. }
  34513. goto _2
  34514. _2:
  34515. ;
  34516. nPatternLang++
  34517. }
  34518. /* freed below */
  34519. nodes = libc.Xmalloc(tls, libc.Uint32FromInt32(nnodes)*uint32(224)+libc.Uint32FromInt32(nnodes)*uint32(4)+libc.Uint32FromInt32(nPatternLang)*uint32(4))
  34520. if !(nodes != 0) {
  34521. goto bail0
  34522. }
  34523. nodeps = nodes + uintptr(nnodes)*224
  34524. patternLangSat = nodeps + uintptr(nnodes)*4
  34525. _FcCompareDataInit(tls, p, bp+16)
  34526. new1 = nodes
  34527. nodep = nodeps
  34528. set = 0
  34529. for {
  34530. if !(set < nsets) {
  34531. break
  34532. }
  34533. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*4))
  34534. if !(s != 0) {
  34535. goto _3
  34536. }
  34537. f = 0
  34538. for {
  34539. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  34540. break
  34541. }
  34542. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34543. libc.Xprintf(tls, __ccgo_ts+2729, libc.VaList(bp+72, f))
  34544. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4)))
  34545. }
  34546. (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4))
  34547. if !(_FcCompare(tls, p, (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern, new1+8, result, bp+16) != 0) {
  34548. goto bail1
  34549. }
  34550. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34551. libc.Xprintf(tls, __ccgo_ts+6077, 0)
  34552. i = 0
  34553. for {
  34554. if !(i < int32(_PRI_END)) {
  34555. break
  34556. }
  34557. libc.Xprintf(tls, __ccgo_ts+6083, libc.VaList(bp+72, *(*float64)(unsafe.Pointer(new1 + 8 + uintptr(i)*8))))
  34558. goto _5
  34559. _5:
  34560. ;
  34561. i++
  34562. }
  34563. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  34564. }
  34565. *(*uintptr)(unsafe.Pointer(nodep)) = new1
  34566. new1 += 224
  34567. nodep += 4
  34568. goto _4
  34569. _4:
  34570. ;
  34571. f++
  34572. }
  34573. goto _3
  34574. _3:
  34575. ;
  34576. set++
  34577. }
  34578. _FcCompareDataClear(tls, bp+16)
  34579. nnodes = (int32(new1) - int32(nodes)) / 224
  34580. libc.Xqsort(tls, nodeps, libc.Uint32FromInt32(nnodes), uint32(4), __ccgo_fp(_FcSortCompare))
  34581. i = 0
  34582. for {
  34583. if !(i < nPatternLang) {
  34584. break
  34585. }
  34586. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = m_FcFalse
  34587. goto _6
  34588. _6:
  34589. ;
  34590. i++
  34591. }
  34592. f = 0
  34593. for {
  34594. if !(f < nnodes) {
  34595. break
  34596. }
  34597. satisfies = m_FcFalse
  34598. /*
  34599. * If this node matches any language, go check
  34600. * which ones and satisfy those entries
  34601. */
  34602. if *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)) + 8 + uintptr(_PRI_LANG)*8)) < libc.Float64FromInt32(2000) {
  34603. i = 0
  34604. for {
  34605. if !(i < nPatternLang) {
  34606. break
  34607. }
  34608. if !(*(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) != 0) && XIA__FcPatternGet(tls, p, __ccgo_ts+6137, i, bp) == int32(_FcResultMatch) && XIA__FcPatternGet(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)))).Fpattern, __ccgo_ts+6137, 0, bp+24) == int32(_FcResultMatch) {
  34609. compare = _FcCompareLang(tls, bp, bp+24, bp+40)
  34610. if compare >= libc.Float64FromInt32(0) && compare < libc.Float64FromInt32(2) {
  34611. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34612. if XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)))).Fpattern, __ccgo_ts+5970, 0, bp+56) == int32(_FcResultMatch) && XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)))).Fpattern, __ccgo_ts+4740, 0, bp+60) == int32(_FcResultMatch) {
  34613. libc.Xprintf(tls, __ccgo_ts+6142, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(bp + 56)), *(*uintptr)(unsafe.Pointer(bp + 60)), i))
  34614. }
  34615. }
  34616. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = int32(m_FcTrue)
  34617. satisfies = int32(m_FcTrue)
  34618. break
  34619. }
  34620. }
  34621. goto _8
  34622. _8:
  34623. ;
  34624. i++
  34625. }
  34626. }
  34627. if !(satisfies != 0) {
  34628. *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)) + 8 + uintptr(_PRI_LANG)*8)) = float64(10000)
  34629. }
  34630. goto _7
  34631. _7:
  34632. ;
  34633. f++
  34634. }
  34635. /*
  34636. * Re-sort once the language issues have been settled
  34637. */
  34638. libc.Xqsort(tls, nodeps, libc.Uint32FromInt32(nnodes), uint32(4), __ccgo_fp(_FcSortCompare))
  34639. ret = XIA__FcFontSetCreate(tls)
  34640. if !(ret != 0) {
  34641. goto bail1
  34642. }
  34643. if !(_FcSortWalk(tls, nodeps, nnodes, ret, csp, trim) != 0) {
  34644. goto bail2
  34645. }
  34646. libc.Xfree(tls, nodes)
  34647. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34648. libc.Xprintf(tls, __ccgo_ts+6174, 0)
  34649. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(ret)).Ffonts)))
  34650. }
  34651. if (*TFcFontSet)(unsafe.Pointer(ret)).Fnfont > 0 {
  34652. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  34653. }
  34654. return ret
  34655. goto bail2
  34656. bail2:
  34657. ;
  34658. XIA__FcFontSetDestroy(tls, ret)
  34659. goto bail1
  34660. bail1:
  34661. ;
  34662. libc.Xfree(tls, nodes)
  34663. goto bail0
  34664. bail0:
  34665. ;
  34666. return uintptr(0)
  34667. return r
  34668. }
  34669. var XFcFontSetSort = XIA__FcFontSetSort
  34670. func XIA__FcFontSort(tls *libc.TLS, config uintptr, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  34671. bp := tls.Alloc(16)
  34672. defer tls.Free(16)
  34673. var nsets, v1, v2 int32
  34674. var ret uintptr
  34675. var _ /* sets at bp+0 */ [2]uintptr
  34676. _, _, _, _ = nsets, ret, v1, v2
  34677. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34678. config = XIA__FcConfigReference(tls, config)
  34679. if !(config != 0) {
  34680. return libc.UintptrFromInt32(0)
  34681. }
  34682. nsets = 0
  34683. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4)) != 0 {
  34684. v1 = nsets
  34685. nsets++
  34686. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4))
  34687. }
  34688. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4)) != 0 {
  34689. v2 = nsets
  34690. nsets++
  34691. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4))
  34692. }
  34693. ret = XIA__FcFontSetSort(tls, config, bp, nsets, p, trim, csp, result)
  34694. XIA__FcConfigDestroy(tls, config)
  34695. return ret
  34696. }
  34697. var XFcFontSort = XIA__FcFontSort
  34698. func XIA__FcMatrixCopy(tls *libc.TLS, mat uintptr) (r1 uintptr) {
  34699. var r uintptr
  34700. _ = r
  34701. if !(mat != 0) {
  34702. return uintptr(0)
  34703. }
  34704. r = libc.Xmalloc(tls, uint32(32))
  34705. if !(r != 0) {
  34706. return uintptr(0)
  34707. }
  34708. *(*TFcMatrix)(unsafe.Pointer(r)) = *(*TFcMatrix)(unsafe.Pointer(mat))
  34709. return r
  34710. }
  34711. var XFcMatrixCopy = XIA__FcMatrixCopy
  34712. func XFcMatrixFree(tls *libc.TLS, mat uintptr) {
  34713. if mat != uintptr(unsafe.Pointer(&XFcIdentityMatrix)) {
  34714. libc.Xfree(tls, mat)
  34715. }
  34716. }
  34717. func XIA__FcMatrixEqual(tls *libc.TLS, mat1 uintptr, mat2 uintptr) (r TFcBool) {
  34718. if mat1 == mat2 {
  34719. return int32(m_FcTrue)
  34720. }
  34721. if mat1 == uintptr(0) || mat2 == uintptr(0) {
  34722. return m_FcFalse
  34723. }
  34724. return libc.BoolInt32((*TFcMatrix)(unsafe.Pointer(mat1)).Fxx == (*TFcMatrix)(unsafe.Pointer(mat2)).Fxx && (*TFcMatrix)(unsafe.Pointer(mat1)).Fxy == (*TFcMatrix)(unsafe.Pointer(mat2)).Fxy && (*TFcMatrix)(unsafe.Pointer(mat1)).Fyx == (*TFcMatrix)(unsafe.Pointer(mat2)).Fyx && (*TFcMatrix)(unsafe.Pointer(mat1)).Fyy == (*TFcMatrix)(unsafe.Pointer(mat2)).Fyy)
  34725. }
  34726. var XFcMatrixEqual = XIA__FcMatrixEqual
  34727. func XIA__FcMatrixMultiply(tls *libc.TLS, result uintptr, a uintptr, b uintptr) {
  34728. var r TFcMatrix
  34729. _ = r
  34730. r.Fxx = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  34731. r.Fxy = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  34732. r.Fyx = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  34733. r.Fyy = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  34734. *(*TFcMatrix)(unsafe.Pointer(result)) = r
  34735. }
  34736. var XFcMatrixMultiply = XIA__FcMatrixMultiply
  34737. func XIA__FcMatrixRotate(tls *libc.TLS, m uintptr, c float64, s float64) {
  34738. bp := tls.Alloc(32)
  34739. defer tls.Free(32)
  34740. var _ /* r at bp+0 */ TFcMatrix
  34741. /*
  34742. * X Coordinate system is upside down, swap to make
  34743. * rotations counterclockwise
  34744. */
  34745. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = c
  34746. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = -s
  34747. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = s
  34748. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = c
  34749. XIA__FcMatrixMultiply(tls, m, bp, m)
  34750. }
  34751. var XFcMatrixRotate = XIA__FcMatrixRotate
  34752. func XIA__FcMatrixScale(tls *libc.TLS, m uintptr, sx float64, sy float64) {
  34753. bp := tls.Alloc(32)
  34754. defer tls.Free(32)
  34755. var _ /* r at bp+0 */ TFcMatrix
  34756. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = sx
  34757. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = libc.Float64FromInt32(0)
  34758. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = libc.Float64FromInt32(0)
  34759. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = sy
  34760. XIA__FcMatrixMultiply(tls, m, bp, m)
  34761. }
  34762. var XFcMatrixScale = XIA__FcMatrixScale
  34763. func XIA__FcMatrixShear(tls *libc.TLS, m uintptr, sh float64, sv float64) {
  34764. bp := tls.Alloc(32)
  34765. defer tls.Free(32)
  34766. var _ /* r at bp+0 */ TFcMatrix
  34767. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = libc.Float64FromInt32(1)
  34768. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = sh
  34769. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = sv
  34770. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = libc.Float64FromInt32(1)
  34771. XIA__FcMatrixMultiply(tls, m, bp, m)
  34772. }
  34773. var XFcMatrixShear = XIA__FcMatrixShear
  34774. const m_FC_ESCAPE_FIXED = "\\-:,"
  34775. const m_FC_ESCAPE_VARIABLE = "\\=_:,"
  34776. var _FcObjects = [52]TFcObjectType{
  34777. 0: {
  34778. Fobject: __ccgo_ts + 5970,
  34779. Ftype1: int32(_FcTypeString),
  34780. },
  34781. 1: {
  34782. Fobject: __ccgo_ts + 5977,
  34783. Ftype1: int32(_FcTypeString),
  34784. },
  34785. 2: {
  34786. Fobject: __ccgo_ts + 4740,
  34787. Ftype1: int32(_FcTypeString),
  34788. },
  34789. 3: {
  34790. Fobject: __ccgo_ts + 6010,
  34791. Ftype1: int32(_FcTypeString),
  34792. },
  34793. 4: {
  34794. Fobject: __ccgo_ts + 5988,
  34795. Ftype1: int32(_FcTypeString),
  34796. },
  34797. 5: {
  34798. Fobject: __ccgo_ts + 5997,
  34799. Ftype1: int32(_FcTypeString),
  34800. },
  34801. 6: {
  34802. Fobject: __ccgo_ts + 6186,
  34803. Ftype1: int32(_FcTypeInteger),
  34804. },
  34805. 7: {
  34806. Fobject: __ccgo_ts + 6192,
  34807. Ftype1: int32(_FcTypeRange),
  34808. },
  34809. 8: {
  34810. Fobject: __ccgo_ts + 6199,
  34811. Ftype1: int32(_FcTypeRange),
  34812. },
  34813. 9: {
  34814. Fobject: __ccgo_ts + 6205,
  34815. Ftype1: int32(_FcTypeRange),
  34816. },
  34817. 10: {
  34818. Fobject: __ccgo_ts + 6210,
  34819. Ftype1: int32(_FcTypeDouble),
  34820. },
  34821. 11: {
  34822. Fobject: __ccgo_ts + 6217,
  34823. Ftype1: int32(_FcTypeDouble),
  34824. },
  34825. 12: {
  34826. Fobject: __ccgo_ts + 6227,
  34827. Ftype1: int32(_FcTypeInteger),
  34828. },
  34829. 13: {
  34830. Fobject: __ccgo_ts + 6235,
  34831. Ftype1: int32(_FcTypeString),
  34832. },
  34833. 14: {
  34834. Fobject: __ccgo_ts + 6243,
  34835. Ftype1: int32(_FcTypeBool),
  34836. },
  34837. 15: {
  34838. Fobject: __ccgo_ts + 6253,
  34839. Ftype1: int32(_FcTypeInteger),
  34840. },
  34841. 16: {
  34842. Fobject: __ccgo_ts + 6263,
  34843. Ftype1: int32(_FcTypeBool),
  34844. },
  34845. 17: {
  34846. Fobject: __ccgo_ts + 6271,
  34847. Ftype1: int32(_FcTypeBool),
  34848. },
  34849. 18: {
  34850. Fobject: __ccgo_ts + 6286,
  34851. Ftype1: int32(_FcTypeBool),
  34852. },
  34853. 19: {
  34854. Fobject: __ccgo_ts + 6295,
  34855. Ftype1: int32(_FcTypeBool),
  34856. },
  34857. 20: {
  34858. Fobject: __ccgo_ts + 6309,
  34859. Ftype1: int32(_FcTypeString),
  34860. },
  34861. 21: {
  34862. Fobject: __ccgo_ts + 6314,
  34863. Ftype1: int32(_FcTypeInteger),
  34864. },
  34865. 22: {
  34866. Fobject: __ccgo_ts + 6320,
  34867. Ftype1: int32(_FcTypeString),
  34868. },
  34869. 23: {
  34870. Fobject: __ccgo_ts + 6331,
  34871. Ftype1: int32(_FcTypeBool),
  34872. },
  34873. 24: {
  34874. Fobject: __ccgo_ts + 6339,
  34875. Ftype1: int32(_FcTypeBool),
  34876. },
  34877. 25: {
  34878. Fobject: __ccgo_ts + 6348,
  34879. Ftype1: int32(_FcTypeDouble),
  34880. },
  34881. 26: {
  34882. Fobject: __ccgo_ts + 6352,
  34883. Ftype1: int32(_FcTypeInteger),
  34884. },
  34885. 27: {
  34886. Fobject: __ccgo_ts + 6357,
  34887. Ftype1: int32(_FcTypeDouble),
  34888. },
  34889. 28: {
  34890. Fobject: __ccgo_ts + 6363,
  34891. Ftype1: int32(_FcTypeBool),
  34892. },
  34893. 29: {
  34894. Fobject: __ccgo_ts + 6372,
  34895. Ftype1: int32(_FcTypeInteger),
  34896. },
  34897. 30: {
  34898. Fobject: __ccgo_ts + 6382,
  34899. Ftype1: int32(_FcTypeInteger),
  34900. },
  34901. 31: {
  34902. Fobject: __ccgo_ts + 6393,
  34903. Ftype1: int32(_FcTypeMatrix),
  34904. },
  34905. 32: {
  34906. Fobject: __ccgo_ts + 6118,
  34907. Ftype1: int32(_FcTypeCharSet),
  34908. },
  34909. 33: {
  34910. Fobject: __ccgo_ts + 6137,
  34911. Ftype1: int32(_FcTypeLangSet),
  34912. },
  34913. 34: {
  34914. Fobject: __ccgo_ts + 6400,
  34915. Ftype1: int32(_FcTypeInteger),
  34916. },
  34917. 35: {
  34918. Fobject: __ccgo_ts + 6412,
  34919. Ftype1: int32(_FcTypeString),
  34920. },
  34921. 36: {
  34922. Fobject: __ccgo_ts + 6423,
  34923. Ftype1: int32(_FcTypeString),
  34924. },
  34925. 37: {
  34926. Fobject: __ccgo_ts + 6434,
  34927. Ftype1: int32(_FcTypeBool),
  34928. },
  34929. 38: {
  34930. Fobject: __ccgo_ts + 6443,
  34931. Ftype1: int32(_FcTypeBool),
  34932. },
  34933. 39: {
  34934. Fobject: __ccgo_ts + 6458,
  34935. Ftype1: int32(_FcTypeBool),
  34936. },
  34937. 40: {
  34938. Fobject: __ccgo_ts + 6469,
  34939. Ftype1: int32(_FcTypeInteger),
  34940. },
  34941. 41: {
  34942. Fobject: __ccgo_ts + 6479,
  34943. Ftype1: int32(_FcTypeString),
  34944. },
  34945. 42: {
  34946. Fobject: __ccgo_ts + 6488,
  34947. Ftype1: int32(_FcTypeString),
  34948. },
  34949. 43: {
  34950. Fobject: __ccgo_ts + 6501,
  34951. Ftype1: int32(_FcTypeString),
  34952. },
  34953. 44: {
  34954. Fobject: __ccgo_ts + 6509,
  34955. Ftype1: int32(_FcTypeString),
  34956. },
  34957. 45: {
  34958. Fobject: __ccgo_ts + 6514,
  34959. Ftype1: int32(_FcTypeString),
  34960. },
  34961. 46: {
  34962. Fobject: __ccgo_ts + 6529,
  34963. Ftype1: int32(_FcTypeBool),
  34964. },
  34965. 47: {
  34966. Fobject: __ccgo_ts + 6535,
  34967. Ftype1: int32(_FcTypeBool),
  34968. },
  34969. 48: {
  34970. Fobject: __ccgo_ts + 6542,
  34971. Ftype1: int32(_FcTypeString),
  34972. },
  34973. 49: {
  34974. Fobject: __ccgo_ts + 6557,
  34975. Ftype1: int32(_FcTypeBool),
  34976. },
  34977. 50: {
  34978. Fobject: __ccgo_ts + 6566,
  34979. Ftype1: int32(_FcTypeBool),
  34980. },
  34981. 51: {
  34982. Fobject: __ccgo_ts + 6578,
  34983. Ftype1: int32(_FcTypeInteger),
  34984. },
  34985. }
  34986. func _FcObjectFindById(tls *libc.TLS, object TFcObject) (r uintptr) {
  34987. if int32(1) <= object && object <= libc.Int32FromUint32(libc.Uint32FromInt64(416)/libc.Uint32FromInt64(8)) {
  34988. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(object-int32(1))*8
  34989. }
  34990. return XFcObjectLookupOtherTypeById(tls, object)
  34991. }
  34992. func XIA__FcNameRegisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  34993. /* Deprecated. */
  34994. return m_FcFalse
  34995. }
  34996. var XFcNameRegisterObjectTypes = XIA__FcNameRegisterObjectTypes
  34997. func XIA__FcNameUnregisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  34998. /* Deprecated. */
  34999. return m_FcFalse
  35000. }
  35001. var XFcNameUnregisterObjectTypes = XIA__FcNameUnregisterObjectTypes
  35002. func XIA__FcNameGetObjectType(tls *libc.TLS, object uintptr) (r uintptr) {
  35003. var id int32
  35004. _ = id
  35005. id = XFcObjectLookupBuiltinIdByName(tls, object)
  35006. if !(id != 0) {
  35007. return XFcObjectLookupOtherTypeByName(tls, object)
  35008. }
  35009. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(id-int32(1))*8
  35010. }
  35011. var XFcNameGetObjectType = XIA__FcNameGetObjectType
  35012. func XFcObjectValidType(tls *libc.TLS, object TFcObject, type1 TFcType) (r TFcBool) {
  35013. var t uintptr
  35014. _ = t
  35015. t = _FcObjectFindById(tls, object)
  35016. if t != 0 {
  35017. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  35018. case int32(_FcTypeUnknown):
  35019. return int32(m_FcTrue)
  35020. case int32(_FcTypeDouble):
  35021. fallthrough
  35022. case int32(_FcTypeInteger):
  35023. if type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  35024. return int32(m_FcTrue)
  35025. }
  35026. case int32(_FcTypeLangSet):
  35027. if type1 == int32(_FcTypeLangSet) || type1 == int32(_FcTypeString) {
  35028. return int32(m_FcTrue)
  35029. }
  35030. case int32(_FcTypeRange):
  35031. if type1 == int32(_FcTypeRange) || type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  35032. return int32(m_FcTrue)
  35033. }
  35034. default:
  35035. if type1 == (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  35036. return int32(m_FcTrue)
  35037. }
  35038. break
  35039. }
  35040. return m_FcFalse
  35041. }
  35042. return int32(m_FcTrue)
  35043. }
  35044. func XFcObjectFromName(tls *libc.TLS, name uintptr) (r TFcObject) {
  35045. return XFcObjectLookupIdByName(tls, name)
  35046. }
  35047. func XFcObjectGetSet(tls *libc.TLS) (r uintptr) {
  35048. var i int32
  35049. var os uintptr
  35050. _, _ = i, os
  35051. os = libc.UintptrFromInt32(0)
  35052. os = XIA__FcObjectSetCreate(tls)
  35053. i = 0
  35054. for {
  35055. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(416)/libc.Uint32FromInt64(8))) {
  35056. break
  35057. }
  35058. XIA__FcObjectSetAdd(tls, os, _FcObjects[i].Fobject)
  35059. goto _1
  35060. _1:
  35061. ;
  35062. i++
  35063. }
  35064. return os
  35065. }
  35066. func XFcObjectName(tls *libc.TLS, object TFcObject) (r uintptr) {
  35067. var o uintptr
  35068. _ = o
  35069. o = _FcObjectFindById(tls, object)
  35070. if o != 0 {
  35071. return (*TFcObjectType)(unsafe.Pointer(o)).Fobject
  35072. }
  35073. return XFcObjectLookupOtherNameById(tls, object)
  35074. }
  35075. var __FcBaseConstants = [57]TFcConstant{
  35076. 0: {
  35077. Fname: __ccgo_ts + 3903,
  35078. Fobject: __ccgo_ts + 6192,
  35079. },
  35080. 1: {
  35081. Fname: __ccgo_ts + 3908,
  35082. Fobject: __ccgo_ts + 6192,
  35083. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  35084. },
  35085. 2: {
  35086. Fname: __ccgo_ts + 3919,
  35087. Fobject: __ccgo_ts + 6192,
  35088. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  35089. },
  35090. 3: {
  35091. Fname: __ccgo_ts + 3930,
  35092. Fobject: __ccgo_ts + 6192,
  35093. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  35094. },
  35095. 4: {
  35096. Fname: __ccgo_ts + 3940,
  35097. Fobject: __ccgo_ts + 6192,
  35098. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  35099. },
  35100. 5: {
  35101. Fname: __ccgo_ts + 3950,
  35102. Fobject: __ccgo_ts + 6192,
  35103. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  35104. },
  35105. 6: {
  35106. Fname: __ccgo_ts + 3956,
  35107. Fobject: __ccgo_ts + 6192,
  35108. Fvalue: int32(m_FC_WEIGHT_BOOK),
  35109. },
  35110. 7: {
  35111. Fname: __ccgo_ts + 3961,
  35112. Fobject: __ccgo_ts + 6192,
  35113. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  35114. },
  35115. 8: {
  35116. Fname: __ccgo_ts + 3976,
  35117. Fobject: __ccgo_ts + 6192,
  35118. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  35119. },
  35120. 9: {
  35121. Fname: __ccgo_ts + 3983,
  35122. Fobject: __ccgo_ts + 6192,
  35123. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  35124. },
  35125. 10: {
  35126. Fname: __ccgo_ts + 3997,
  35127. Fobject: __ccgo_ts + 6192,
  35128. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  35129. },
  35130. 11: {
  35131. Fname: __ccgo_ts + 4036,
  35132. Fobject: __ccgo_ts + 6192,
  35133. Fvalue: int32(m_FC_WEIGHT_BOLD),
  35134. },
  35135. 12: {
  35136. Fname: __ccgo_ts + 4006,
  35137. Fobject: __ccgo_ts + 6192,
  35138. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  35139. },
  35140. 13: {
  35141. Fname: __ccgo_ts + 4026,
  35142. Fobject: __ccgo_ts + 6192,
  35143. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  35144. },
  35145. 14: {
  35146. Fname: __ccgo_ts + 4081,
  35147. Fobject: __ccgo_ts + 6192,
  35148. Fvalue: int32(m_FC_WEIGHT_BLACK),
  35149. },
  35150. 15: {
  35151. Fname: __ccgo_ts + 4087,
  35152. Fobject: __ccgo_ts + 6192,
  35153. Fvalue: int32(m_FC_WEIGHT_BLACK),
  35154. },
  35155. 16: {
  35156. Fname: __ccgo_ts + 6584,
  35157. Fobject: __ccgo_ts + 6186,
  35158. },
  35159. 17: {
  35160. Fname: __ccgo_ts + 4206,
  35161. Fobject: __ccgo_ts + 6186,
  35162. Fvalue: int32(m_FC_SLANT_ITALIC),
  35163. },
  35164. 18: {
  35165. Fname: __ccgo_ts + 4220,
  35166. Fobject: __ccgo_ts + 6186,
  35167. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  35168. },
  35169. 19: {
  35170. Fname: __ccgo_ts + 4093,
  35171. Fobject: __ccgo_ts + 6199,
  35172. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  35173. },
  35174. 20: {
  35175. Fname: __ccgo_ts + 4108,
  35176. Fobject: __ccgo_ts + 6199,
  35177. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  35178. },
  35179. 21: {
  35180. Fname: __ccgo_ts + 4137,
  35181. Fobject: __ccgo_ts + 6199,
  35182. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  35183. },
  35184. 22: {
  35185. Fname: __ccgo_ts + 4123,
  35186. Fobject: __ccgo_ts + 6199,
  35187. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  35188. },
  35189. 23: {
  35190. Fname: __ccgo_ts + 3969,
  35191. Fobject: __ccgo_ts + 6199,
  35192. Fvalue: int32(m_FC_WIDTH_NORMAL),
  35193. },
  35194. 24: {
  35195. Fname: __ccgo_ts + 4147,
  35196. Fobject: __ccgo_ts + 6199,
  35197. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  35198. },
  35199. 25: {
  35200. Fname: __ccgo_ts + 4188,
  35201. Fobject: __ccgo_ts + 6199,
  35202. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  35203. },
  35204. 26: {
  35205. Fname: __ccgo_ts + 4160,
  35206. Fobject: __ccgo_ts + 6199,
  35207. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  35208. },
  35209. 27: {
  35210. Fname: __ccgo_ts + 4174,
  35211. Fobject: __ccgo_ts + 6199,
  35212. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  35213. },
  35214. 28: {
  35215. Fname: __ccgo_ts + 6590,
  35216. Fobject: __ccgo_ts + 6227,
  35217. },
  35218. 29: {
  35219. Fname: __ccgo_ts + 6603,
  35220. Fobject: __ccgo_ts + 6227,
  35221. Fvalue: int32(m_FC_DUAL),
  35222. },
  35223. 30: {
  35224. Fname: __ccgo_ts + 6608,
  35225. Fobject: __ccgo_ts + 6227,
  35226. Fvalue: int32(m_FC_MONO),
  35227. },
  35228. 31: {
  35229. Fname: __ccgo_ts + 6613,
  35230. Fobject: __ccgo_ts + 6227,
  35231. Fvalue: int32(m_FC_CHARCELL),
  35232. },
  35233. 32: {
  35234. Fname: __ccgo_ts + 4864,
  35235. Fobject: __ccgo_ts + 6352,
  35236. },
  35237. 33: {
  35238. Fname: __ccgo_ts + 6622,
  35239. Fobject: __ccgo_ts + 6352,
  35240. Fvalue: int32(m_FC_RGBA_RGB),
  35241. },
  35242. 34: {
  35243. Fname: __ccgo_ts + 6626,
  35244. Fobject: __ccgo_ts + 6352,
  35245. Fvalue: int32(m_FC_RGBA_BGR),
  35246. },
  35247. 35: {
  35248. Fname: __ccgo_ts + 6630,
  35249. Fobject: __ccgo_ts + 6352,
  35250. Fvalue: int32(m_FC_RGBA_VRGB),
  35251. },
  35252. 36: {
  35253. Fname: __ccgo_ts + 6635,
  35254. Fobject: __ccgo_ts + 6352,
  35255. Fvalue: int32(m_FC_RGBA_VBGR),
  35256. },
  35257. 37: {
  35258. Fname: __ccgo_ts + 2502,
  35259. Fobject: __ccgo_ts + 6352,
  35260. Fvalue: int32(m_FC_RGBA_NONE),
  35261. },
  35262. 38: {
  35263. Fname: __ccgo_ts + 6640,
  35264. Fobject: __ccgo_ts + 6253,
  35265. },
  35266. 39: {
  35267. Fname: __ccgo_ts + 6649,
  35268. Fobject: __ccgo_ts + 6253,
  35269. Fvalue: int32(m_FC_HINT_SLIGHT),
  35270. },
  35271. 40: {
  35272. Fname: __ccgo_ts + 6660,
  35273. Fobject: __ccgo_ts + 6253,
  35274. Fvalue: int32(m_FC_HINT_MEDIUM),
  35275. },
  35276. 41: {
  35277. Fname: __ccgo_ts + 6671,
  35278. Fobject: __ccgo_ts + 6253,
  35279. Fvalue: int32(m_FC_HINT_FULL),
  35280. },
  35281. 42: {
  35282. Fname: __ccgo_ts + 6243,
  35283. Fobject: __ccgo_ts + 6243,
  35284. Fvalue: int32(m_FcTrue),
  35285. },
  35286. 43: {
  35287. Fname: __ccgo_ts + 6263,
  35288. Fobject: __ccgo_ts + 6263,
  35289. Fvalue: int32(m_FcTrue),
  35290. },
  35291. 44: {
  35292. Fname: __ccgo_ts + 6271,
  35293. Fobject: __ccgo_ts + 6271,
  35294. Fvalue: int32(m_FcTrue),
  35295. },
  35296. 45: {
  35297. Fname: __ccgo_ts + 6286,
  35298. Fobject: __ccgo_ts + 6286,
  35299. Fvalue: int32(m_FcTrue),
  35300. },
  35301. 46: {
  35302. Fname: __ccgo_ts + 6295,
  35303. Fobject: __ccgo_ts + 6295,
  35304. Fvalue: int32(m_FcTrue),
  35305. },
  35306. 47: {
  35307. Fname: __ccgo_ts + 6331,
  35308. Fobject: __ccgo_ts + 6331,
  35309. Fvalue: int32(m_FcTrue),
  35310. },
  35311. 48: {
  35312. Fname: __ccgo_ts + 6339,
  35313. Fobject: __ccgo_ts + 6339,
  35314. Fvalue: int32(m_FcTrue),
  35315. },
  35316. 49: {
  35317. Fname: __ccgo_ts + 6363,
  35318. Fobject: __ccgo_ts + 6363,
  35319. Fvalue: int32(m_FcTrue),
  35320. },
  35321. 50: {
  35322. Fname: __ccgo_ts + 6434,
  35323. Fobject: __ccgo_ts + 6434,
  35324. Fvalue: int32(m_FcTrue),
  35325. },
  35326. 51: {
  35327. Fname: __ccgo_ts + 6443,
  35328. Fobject: __ccgo_ts + 6443,
  35329. Fvalue: int32(m_FcTrue),
  35330. },
  35331. 52: {
  35332. Fname: __ccgo_ts + 6458,
  35333. Fobject: __ccgo_ts + 6458,
  35334. Fvalue: int32(m_FcTrue),
  35335. },
  35336. 53: {
  35337. Fname: __ccgo_ts + 6680,
  35338. Fobject: __ccgo_ts + 6469,
  35339. },
  35340. 54: {
  35341. Fname: __ccgo_ts + 6688,
  35342. Fobject: __ccgo_ts + 6469,
  35343. Fvalue: int32(m_FC_LCD_DEFAULT),
  35344. },
  35345. 55: {
  35346. Fname: __ccgo_ts + 6699,
  35347. Fobject: __ccgo_ts + 6469,
  35348. Fvalue: int32(m_FC_LCD_LIGHT),
  35349. },
  35350. 56: {
  35351. Fname: __ccgo_ts + 6708,
  35352. Fobject: __ccgo_ts + 6469,
  35353. Fvalue: int32(m_FC_LCD_LEGACY),
  35354. },
  35355. }
  35356. func XIA__FcNameRegisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  35357. /* Deprecated. */
  35358. return m_FcFalse
  35359. }
  35360. var XFcNameRegisterConstants = XIA__FcNameRegisterConstants
  35361. func XIA__FcNameUnregisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  35362. /* Deprecated. */
  35363. return m_FcFalse
  35364. }
  35365. var XFcNameUnregisterConstants = XIA__FcNameUnregisterConstants
  35366. func XIA__FcNameGetConstant(tls *libc.TLS, string1 uintptr) (r uintptr) {
  35367. var i uint32
  35368. _ = i
  35369. i = uint32(0)
  35370. for {
  35371. if !(i < libc.Uint32FromInt64(684)/libc.Uint32FromInt64(12)) {
  35372. break
  35373. }
  35374. if !(XIA__FcStrCmpIgnoreCase(tls, string1, __FcBaseConstants[i].Fname) != 0) {
  35375. return uintptr(unsafe.Pointer(&__FcBaseConstants)) + uintptr(i)*12
  35376. }
  35377. goto _1
  35378. _1:
  35379. ;
  35380. i++
  35381. }
  35382. return uintptr(0)
  35383. }
  35384. var XFcNameGetConstant = XIA__FcNameGetConstant
  35385. func XIA__FcNameConstant(tls *libc.TLS, string1 uintptr, result uintptr) (r TFcBool) {
  35386. var c, v1 uintptr
  35387. _, _ = c, v1
  35388. v1 = XIA__FcNameGetConstant(tls, string1)
  35389. c = v1
  35390. if v1 != 0 {
  35391. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  35392. return int32(m_FcTrue)
  35393. }
  35394. return m_FcFalse
  35395. }
  35396. var XFcNameConstant = XIA__FcNameConstant
  35397. func XFcNameConstantWithObjectCheck(tls *libc.TLS, string1 uintptr, object uintptr, result uintptr) (r TFcBool) {
  35398. bp := tls.Alloc(32)
  35399. defer tls.Free(32)
  35400. var c, v1 uintptr
  35401. _, _ = c, v1
  35402. v1 = XIA__FcNameGetConstant(tls, string1)
  35403. c = v1
  35404. if v1 != 0 {
  35405. if libc.Xstrcmp(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject, object) != 0 {
  35406. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6718, libc.VaList(bp+8, string1, object, (*TFcConstant)(unsafe.Pointer(c)).Fobject))
  35407. return m_FcFalse
  35408. }
  35409. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  35410. return int32(m_FcTrue)
  35411. }
  35412. return m_FcFalse
  35413. }
  35414. func XFcNameBool(tls *libc.TLS, v uintptr, result uintptr) (r TFcBool) {
  35415. var c0, c1 uint8
  35416. var v1, v2 int32
  35417. _, _, _, _ = c0, c1, v1, v2
  35418. c0 = *(*TFcChar8)(unsafe.Pointer(v))
  35419. if int32(0101) <= libc.Int32FromUint8(c0) && libc.Int32FromUint8(c0) <= int32(0132) {
  35420. v1 = libc.Int32FromUint8(c0) - int32(0101) + int32(0141)
  35421. } else {
  35422. v1 = libc.Int32FromUint8(c0)
  35423. }
  35424. c0 = libc.Uint8FromInt32(v1)
  35425. if libc.Int32FromUint8(c0) == int32('t') || libc.Int32FromUint8(c0) == int32('y') || libc.Int32FromUint8(c0) == int32('1') {
  35426. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  35427. return int32(m_FcTrue)
  35428. }
  35429. if libc.Int32FromUint8(c0) == int32('f') || libc.Int32FromUint8(c0) == int32('n') || libc.Int32FromUint8(c0) == int32('0') {
  35430. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  35431. return int32(m_FcTrue)
  35432. }
  35433. if libc.Int32FromUint8(c0) == int32('d') || libc.Int32FromUint8(c0) == int32('x') || libc.Int32FromUint8(c0) == int32('2') {
  35434. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  35435. return int32(m_FcTrue)
  35436. }
  35437. if libc.Int32FromUint8(c0) == int32('o') {
  35438. c1 = *(*TFcChar8)(unsafe.Pointer(v + 1))
  35439. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  35440. v2 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  35441. } else {
  35442. v2 = libc.Int32FromUint8(c1)
  35443. }
  35444. c1 = libc.Uint8FromInt32(v2)
  35445. if libc.Int32FromUint8(c1) == int32('n') {
  35446. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  35447. return int32(m_FcTrue)
  35448. }
  35449. if libc.Int32FromUint8(c1) == int32('f') {
  35450. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  35451. return int32(m_FcTrue)
  35452. }
  35453. if libc.Int32FromUint8(c1) == int32('r') {
  35454. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  35455. return int32(m_FcTrue)
  35456. }
  35457. }
  35458. return m_FcFalse
  35459. }
  35460. func _FcNameConvert(tls *libc.TLS, type1 TFcType, object uintptr, string1 uintptr) (r TFcValue) {
  35461. bp := tls.Alloc(128)
  35462. defer tls.Free(128)
  35463. var ec, sc uintptr
  35464. var len1 Tsize_t
  35465. var v11, v12 float64
  35466. var _ /* b at bp+48 */ float64
  35467. var _ /* e at bp+56 */ float64
  35468. var _ /* ei at bp+72 */ int32
  35469. var _ /* m at bp+16 */ TFcMatrix
  35470. var _ /* p at bp+64 */ uintptr
  35471. var _ /* si at bp+68 */ int32
  35472. var _ /* v at bp+0 */ TFcValue
  35473. _, _, _, _, _ = ec, len1, sc, v11, v12
  35474. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = type1
  35475. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35476. case int32(_FcTypeInteger):
  35477. goto _1
  35478. case int32(_FcTypeString):
  35479. goto _2
  35480. case int32(_FcTypeBool):
  35481. goto _3
  35482. case int32(_FcTypeDouble):
  35483. goto _4
  35484. case int32(_FcTypeMatrix):
  35485. goto _5
  35486. case int32(_FcTypeCharSet):
  35487. goto _6
  35488. case int32(_FcTypeLangSet):
  35489. goto _7
  35490. case int32(_FcTypeRange):
  35491. goto _8
  35492. default:
  35493. goto _9
  35494. }
  35495. goto _10
  35496. _1:
  35497. ;
  35498. if !(XFcNameConstantWithObjectCheck(tls, string1, object, bp+8) != 0) {
  35499. *(*int32)(unsafe.Pointer(bp + 8)) = libc.Xatoi(tls, string1)
  35500. }
  35501. goto _10
  35502. _2:
  35503. ;
  35504. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, string1)
  35505. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35506. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35507. }
  35508. goto _10
  35509. _3:
  35510. ;
  35511. if !(XFcNameBool(tls, string1, bp+8) != 0) {
  35512. *(*TFcBool)(unsafe.Pointer(bp + 8)) = m_FcFalse
  35513. }
  35514. goto _10
  35515. _4:
  35516. ;
  35517. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, uintptr(0))
  35518. goto _10
  35519. _5:
  35520. ;
  35521. v11 = libc.Float64FromInt32(1)
  35522. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyy = v11
  35523. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxx = v11
  35524. v12 = libc.Float64FromInt32(0)
  35525. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyx = v12
  35526. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxy = v12
  35527. libc.Xsscanf(tls, string1, __ccgo_ts+6804, libc.VaList(bp+88, bp+16, bp+16+8, bp+16+16, bp+16+24))
  35528. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcMatrixCopy(tls, bp+16)
  35529. goto _10
  35530. _6:
  35531. ;
  35532. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseCharSet(tls, string1)
  35533. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35534. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35535. }
  35536. goto _10
  35537. _7:
  35538. ;
  35539. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseLangSet(tls, string1)
  35540. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35541. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35542. }
  35543. goto _10
  35544. _8:
  35545. ;
  35546. if libc.Xsscanf(tls, string1, __ccgo_ts+6820, libc.VaList(bp+88, bp+48, bp+56)) != int32(2) {
  35547. len1 = libc.Xstrlen(tls, string1)
  35548. sc = libc.Xmalloc(tls, len1+uint32(1))
  35549. ec = libc.Xmalloc(tls, len1+uint32(1))
  35550. if !(sc != 0 && ec != 0 && libc.Xsscanf(tls, string1, __ccgo_ts+6830, libc.VaList(bp+88, sc, ec)) == int32(2)) {
  35551. goto _13
  35552. }
  35553. if XFcNameConstantWithObjectCheck(tls, sc, object, bp+68) != 0 && XFcNameConstantWithObjectCheck(tls, ec, object, bp+72) != 0 {
  35554. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCreateDouble(tls, float64(*(*int32)(unsafe.Pointer(bp + 68))), float64(*(*int32)(unsafe.Pointer(bp + 72))))
  35555. } else {
  35556. goto bail1
  35557. }
  35558. goto _14
  35559. _13:
  35560. ;
  35561. goto bail1
  35562. bail1:
  35563. ;
  35564. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  35565. if XFcNameConstantWithObjectCheck(tls, string1, object, bp+68) != 0 {
  35566. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 68)))
  35567. } else {
  35568. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, bp+64)
  35569. if *(*uintptr)(unsafe.Pointer(bp + 64)) != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64))))) != 0 {
  35570. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35571. }
  35572. }
  35573. _14:
  35574. ;
  35575. if sc != 0 {
  35576. libc.Xfree(tls, sc)
  35577. }
  35578. if ec != 0 {
  35579. libc.Xfree(tls, ec)
  35580. }
  35581. } else {
  35582. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCreateDouble(tls, *(*float64)(unsafe.Pointer(bp + 48)), *(*float64)(unsafe.Pointer(bp + 56)))
  35583. }
  35584. goto _10
  35585. _9:
  35586. ;
  35587. goto _10
  35588. _10:
  35589. ;
  35590. return *(*TFcValue)(unsafe.Pointer(bp))
  35591. }
  35592. func _FcNameFindNext(tls *libc.TLS, cur uintptr, delim uintptr, save uintptr, last uintptr) (r uintptr) {
  35593. var c, v1, v5, v6 TFcChar8
  35594. var v2, v3 int32
  35595. var v7 uintptr
  35596. _, _, _, _, _, _, _ = c, v1, v2, v3, v5, v6, v7
  35597. for {
  35598. v1 = *(*TFcChar8)(unsafe.Pointer(cur))
  35599. c = v1
  35600. if !(v1 != 0) {
  35601. break
  35602. }
  35603. v2 = libc.Int32FromUint8(c)
  35604. v3 = libc.BoolInt32(v2 == int32(' ') || libc.Uint32FromInt32(v2)-uint32('\t') < uint32(5))
  35605. goto _4
  35606. _4:
  35607. if !(v3 != 0) {
  35608. break
  35609. }
  35610. cur++
  35611. }
  35612. for {
  35613. v5 = *(*TFcChar8)(unsafe.Pointer(cur))
  35614. c = v5
  35615. if !(v5 != 0) {
  35616. break
  35617. }
  35618. if libc.Int32FromUint8(c) == int32('\\') {
  35619. cur++
  35620. v6 = *(*TFcChar8)(unsafe.Pointer(cur))
  35621. c = v6
  35622. if !(v6 != 0) {
  35623. break
  35624. }
  35625. } else {
  35626. if libc.Xstrchr(tls, delim, libc.Int32FromUint8(c)) != 0 {
  35627. break
  35628. }
  35629. }
  35630. cur++
  35631. v7 = save
  35632. save++
  35633. *(*TFcChar8)(unsafe.Pointer(v7)) = c
  35634. }
  35635. *(*TFcChar8)(unsafe.Pointer(save)) = uint8(0)
  35636. *(*TFcChar8)(unsafe.Pointer(last)) = *(*TFcChar8)(unsafe.Pointer(cur))
  35637. if *(*TFcChar8)(unsafe.Pointer(cur)) != 0 {
  35638. cur++
  35639. }
  35640. return cur
  35641. }
  35642. func XIA__FcNameParse(tls *libc.TLS, name uintptr) (r uintptr) {
  35643. bp := tls.Alloc(16)
  35644. defer tls.Free(16)
  35645. var c, pat, save, t, v4 uintptr
  35646. var d float64
  35647. var v TFcValue
  35648. var _ /* delim at bp+4 */ TFcChar8
  35649. var _ /* e at bp+0 */ uintptr
  35650. _, _, _, _, _, _, _ = c, d, pat, save, t, v, v4
  35651. /* freed below */
  35652. save = libc.Xmalloc(tls, libc.Xstrlen(tls, name)+uint32(1))
  35653. if !(save != 0) {
  35654. goto bail0
  35655. }
  35656. pat = XIA__FcPatternCreate(tls)
  35657. if !(pat != 0) {
  35658. goto bail1
  35659. }
  35660. for {
  35661. name = _FcNameFindNext(tls, name, __ccgo_ts+6841, save, bp+4)
  35662. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  35663. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), save) != 0) {
  35664. goto bail2
  35665. }
  35666. }
  35667. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) != int32(',') {
  35668. break
  35669. }
  35670. goto _1
  35671. _1:
  35672. }
  35673. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) == int32('-') {
  35674. for {
  35675. name = _FcNameFindNext(tls, name, __ccgo_ts+6841, save, bp+4)
  35676. d = libc.Xstrtod(tls, save, bp)
  35677. if *(*uintptr)(unsafe.Pointer(bp)) != save {
  35678. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), d) != 0) {
  35679. goto bail2
  35680. }
  35681. }
  35682. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) != int32(',') {
  35683. break
  35684. }
  35685. goto _2
  35686. _2:
  35687. }
  35688. }
  35689. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) == int32(':') {
  35690. name = _FcNameFindNext(tls, name, __ccgo_ts+6845, save, bp+4)
  35691. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  35692. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) == int32('=') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) == int32('_') {
  35693. t = XIA__FcNameGetObjectType(tls, save)
  35694. for {
  35695. name = _FcNameFindNext(tls, name, __ccgo_ts+6849, save, bp+4)
  35696. if t != 0 {
  35697. v = _FcNameConvert(tls, (*TFcObjectType)(unsafe.Pointer(t)).Ftype1, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, save)
  35698. if !(XIA__FcPatternAdd(tls, pat, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, v, int32(m_FcTrue)) != 0) {
  35699. XIA__FcValueDestroy(tls, v)
  35700. goto bail2
  35701. }
  35702. XIA__FcValueDestroy(tls, v)
  35703. }
  35704. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) != int32(',') {
  35705. break
  35706. }
  35707. goto _3
  35708. _3:
  35709. }
  35710. } else {
  35711. v4 = XIA__FcNameGetConstant(tls, save)
  35712. c = v4
  35713. if v4 != 0 {
  35714. t = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  35715. if t == libc.UintptrFromInt32(0) {
  35716. goto bail2
  35717. }
  35718. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  35719. case int32(_FcTypeInteger):
  35720. fallthrough
  35721. case int32(_FcTypeDouble):
  35722. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35723. goto bail2
  35724. }
  35725. case int32(_FcTypeBool):
  35726. if !(XIA__FcPatternAddBool(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35727. goto bail2
  35728. }
  35729. case int32(_FcTypeRange):
  35730. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35731. goto bail2
  35732. }
  35733. default:
  35734. break
  35735. }
  35736. }
  35737. }
  35738. }
  35739. }
  35740. libc.Xfree(tls, save)
  35741. return pat
  35742. goto bail2
  35743. bail2:
  35744. ;
  35745. XIA__FcPatternDestroy(tls, pat)
  35746. goto bail1
  35747. bail1:
  35748. ;
  35749. libc.Xfree(tls, save)
  35750. goto bail0
  35751. bail0:
  35752. ;
  35753. return uintptr(0)
  35754. return r
  35755. }
  35756. var XFcNameParse = XIA__FcNameParse
  35757. func _FcNameUnparseString(tls *libc.TLS, buf uintptr, string1 uintptr, escape uintptr) (r TFcBool) {
  35758. var c, v1 TFcChar8
  35759. var v2 uintptr
  35760. _, _, _ = c, v1, v2
  35761. for {
  35762. v2 = string1
  35763. string1++
  35764. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  35765. c = v1
  35766. if !(v1 != 0) {
  35767. break
  35768. }
  35769. if escape != 0 && libc.Xstrchr(tls, escape, libc.Int32FromUint8(c)) != 0 {
  35770. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(escape))) != 0) {
  35771. return m_FcFalse
  35772. }
  35773. }
  35774. if !(XFcStrBufChar(tls, buf, c) != 0) {
  35775. return m_FcFalse
  35776. }
  35777. }
  35778. return int32(m_FcTrue)
  35779. }
  35780. func XFcNameUnparseValue(tls *libc.TLS, buf uintptr, v0 uintptr, escape uintptr) (r TFcBool) {
  35781. bp := tls.Alloc(1088)
  35782. defer tls.Free(1088)
  35783. var v1, v2 uintptr
  35784. var _ /* temp at bp+0 */ [1024]TFcChar8
  35785. var _ /* v at bp+1024 */ TFcValue
  35786. _, _ = v1, v2
  35787. *(*TFcValue)(unsafe.Pointer(bp + 1024)) = TFcValue{}
  35788. *(*T_FcValue)(unsafe.Pointer(bp + 1024)) = XFcValueCanonicalize(tls, v0)
  35789. switch (*(*TFcValue)(unsafe.Pointer(bp + 1024))).Ftype1 {
  35790. case int32(_FcTypeUnknown):
  35791. fallthrough
  35792. case int32(_FcTypeVoid):
  35793. return int32(m_FcTrue)
  35794. case int32(_FcTypeInteger):
  35795. libc.Xsprintf(tls, bp, __ccgo_ts+2507, libc.VaList(bp+1048, *(*int32)(unsafe.Pointer(bp + 1024 + 8))))
  35796. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35797. case int32(_FcTypeDouble):
  35798. libc.Xsprintf(tls, bp, __ccgo_ts+2510, libc.VaList(bp+1048, *(*float64)(unsafe.Pointer(bp + 1024 + 8))))
  35799. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35800. case int32(_FcTypeString):
  35801. return _FcNameUnparseString(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)), escape)
  35802. case int32(_FcTypeBool):
  35803. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == int32(m_FcTrue) {
  35804. v1 = __ccgo_ts + 1941
  35805. } else {
  35806. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == m_FcFalse {
  35807. v2 = __ccgo_ts + 1946
  35808. } else {
  35809. v2 = __ccgo_ts + 1952
  35810. }
  35811. v1 = v2
  35812. }
  35813. return _FcNameUnparseString(tls, buf, v1, uintptr(0))
  35814. case int32(_FcTypeMatrix):
  35815. libc.Xsprintf(tls, bp, __ccgo_ts+6852, libc.VaList(bp+1048, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyy))
  35816. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35817. case int32(_FcTypeCharSet):
  35818. return XFcNameUnparseCharSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  35819. case int32(_FcTypeLangSet):
  35820. return XFcNameUnparseLangSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  35821. case int32(_FcTypeFTFace):
  35822. return int32(m_FcTrue)
  35823. case int32(_FcTypeRange):
  35824. libc.Xsprintf(tls, bp, __ccgo_ts+1981, libc.VaList(bp+1048, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fend))
  35825. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35826. }
  35827. return m_FcFalse
  35828. }
  35829. func XFcNameUnparseValueList(tls *libc.TLS, buf uintptr, v TFcValueListPtr, escape uintptr) (r TFcBool) {
  35830. var v1 TFcValueListPtr
  35831. var v2 uintptr
  35832. _, _ = v1, v2
  35833. for v != 0 {
  35834. if !(XFcNameUnparseValue(tls, buf, v+8, escape) != 0) {
  35835. return m_FcFalse
  35836. }
  35837. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  35838. v2 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  35839. } else {
  35840. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  35841. }
  35842. v1 = v2
  35843. v = v1
  35844. if v1 != libc.UintptrFromInt32(0) {
  35845. if !(_FcNameUnparseString(tls, buf, __ccgo_ts+6864, uintptr(0)) != 0) {
  35846. return m_FcFalse
  35847. }
  35848. }
  35849. }
  35850. return int32(m_FcTrue)
  35851. }
  35852. func XIA__FcNameUnparse(tls *libc.TLS, pat uintptr) (r uintptr) {
  35853. return XFcNameUnparseEscaped(tls, pat, int32(m_FcTrue))
  35854. }
  35855. var XFcNameUnparse = XIA__FcNameUnparse
  35856. func XFcNameUnparseEscaped(tls *libc.TLS, pat uintptr, escape TFcBool) (r uintptr) {
  35857. bp := tls.Alloc(8624)
  35858. defer tls.Free(8624)
  35859. var e, o, p, v1, v2, v3, v4, v6, v7, v8 uintptr
  35860. var i int32
  35861. var id TFcObject
  35862. var _ /* buf at bp+0 */ TFcStrBuf
  35863. var _ /* buf2 at bp+84 */ TFcStrBuf
  35864. var _ /* buf2_static at bp+8360 */ [256]TFcChar8
  35865. var _ /* buf_static at bp+168 */ [8192]TFcChar8
  35866. _, _, _, _, _, _, _, _, _, _, _, _ = e, i, id, o, p, v1, v2, v3, v4, v6, v7, v8
  35867. XFcStrBufInit(tls, bp, bp+168, int32(8192))
  35868. XFcStrBufInit(tls, bp+84, bp+8360, int32(256))
  35869. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  35870. if e != 0 {
  35871. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  35872. v1 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  35873. } else {
  35874. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35875. }
  35876. if escape != 0 {
  35877. v2 = __ccgo_ts + 6866
  35878. } else {
  35879. v2 = uintptr(0)
  35880. }
  35881. if !(XFcNameUnparseValueList(tls, bp, v1, v2) != 0) {
  35882. goto bail0
  35883. }
  35884. }
  35885. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_SIZE_OBJECT))
  35886. if e != 0 {
  35887. if !(_FcNameUnparseString(tls, bp+84, __ccgo_ts+6871, uintptr(0)) != 0) {
  35888. goto bail0
  35889. }
  35890. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  35891. v3 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  35892. } else {
  35893. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35894. }
  35895. if escape != 0 {
  35896. v4 = __ccgo_ts + 6866
  35897. } else {
  35898. v4 = uintptr(0)
  35899. }
  35900. if !(XFcNameUnparseValueList(tls, bp+84, v3, v4) != 0) {
  35901. goto bail0
  35902. }
  35903. p = XFcStrBufDoneStatic(tls, bp+84)
  35904. XFcStrBufDestroy(tls, bp+84)
  35905. if libc.Xstrlen(tls, p) > uint32(1) {
  35906. if !(XFcStrBufString(tls, bp, p) != 0) {
  35907. goto bail0
  35908. }
  35909. }
  35910. }
  35911. i = 0
  35912. for {
  35913. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(416)/libc.Uint32FromInt64(8))) {
  35914. break
  35915. }
  35916. id = i + int32(1)
  35917. o = uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(i)*8
  35918. if !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+5970) != 0) || !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+6205) != 0) {
  35919. goto _5
  35920. }
  35921. e = XFcPatternObjectFindElt(tls, pat, id)
  35922. if e != 0 {
  35923. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6873, uintptr(0)) != 0) {
  35924. goto bail0
  35925. }
  35926. if escape != 0 {
  35927. v6 = __ccgo_ts + 6875
  35928. } else {
  35929. v6 = uintptr(0)
  35930. }
  35931. if !(_FcNameUnparseString(tls, bp, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, v6) != 0) {
  35932. goto bail0
  35933. }
  35934. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6881, uintptr(0)) != 0) {
  35935. goto bail0
  35936. }
  35937. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  35938. v7 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  35939. } else {
  35940. v7 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35941. }
  35942. if escape != 0 {
  35943. v8 = __ccgo_ts + 6875
  35944. } else {
  35945. v8 = uintptr(0)
  35946. }
  35947. if !(XFcNameUnparseValueList(tls, bp, v7, v8) != 0) {
  35948. goto bail0
  35949. }
  35950. }
  35951. goto _5
  35952. _5:
  35953. ;
  35954. i++
  35955. }
  35956. return XFcStrBufDone(tls, bp)
  35957. goto bail0
  35958. bail0:
  35959. ;
  35960. XFcStrBufDestroy(tls, bp)
  35961. return uintptr(0)
  35962. }
  35963. /* ANSI-C code produced by gperf version 3.1 */
  35964. /* Command-line: gperf --pic -m 100 fcobjshash.gperf */
  35965. /* Computed positions: -k'3,5' */
  35966. type TFcObjectTypeInfo = struct {
  35967. Fname int32
  35968. Fid int32
  35969. }
  35970. /* maximum key range = 59, duplicates = 0 */
  35971. func _FcObjectTypeHash(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uint32) {
  35972. var hval uint32
  35973. _ = hval
  35974. hval = len1
  35975. switch hval {
  35976. default:
  35977. hval += uint32(_asso_values[*(*uint8)(unsafe.Pointer(str + 4))])
  35978. /*FALLTHROUGH*/
  35979. fallthrough
  35980. case uint32(4):
  35981. fallthrough
  35982. case uint32(3):
  35983. hval += uint32(_asso_values[*(*uint8)(unsafe.Pointer(str + 2))])
  35984. break
  35985. }
  35986. return hval
  35987. }
  35988. var _asso_values = [256]uint8{
  35989. 0: uint8(66),
  35990. 1: uint8(66),
  35991. 2: uint8(66),
  35992. 3: uint8(66),
  35993. 4: uint8(66),
  35994. 5: uint8(66),
  35995. 6: uint8(66),
  35996. 7: uint8(66),
  35997. 8: uint8(66),
  35998. 9: uint8(66),
  35999. 10: uint8(66),
  36000. 11: uint8(66),
  36001. 12: uint8(66),
  36002. 13: uint8(66),
  36003. 14: uint8(66),
  36004. 15: uint8(66),
  36005. 16: uint8(66),
  36006. 17: uint8(66),
  36007. 18: uint8(66),
  36008. 19: uint8(66),
  36009. 20: uint8(66),
  36010. 21: uint8(66),
  36011. 22: uint8(66),
  36012. 23: uint8(66),
  36013. 24: uint8(66),
  36014. 25: uint8(66),
  36015. 26: uint8(66),
  36016. 27: uint8(66),
  36017. 28: uint8(66),
  36018. 29: uint8(66),
  36019. 30: uint8(66),
  36020. 31: uint8(66),
  36021. 32: uint8(66),
  36022. 33: uint8(66),
  36023. 34: uint8(66),
  36024. 35: uint8(66),
  36025. 36: uint8(66),
  36026. 37: uint8(66),
  36027. 38: uint8(66),
  36028. 39: uint8(66),
  36029. 40: uint8(66),
  36030. 41: uint8(66),
  36031. 42: uint8(66),
  36032. 43: uint8(66),
  36033. 44: uint8(66),
  36034. 45: uint8(66),
  36035. 46: uint8(66),
  36036. 47: uint8(66),
  36037. 48: uint8(66),
  36038. 49: uint8(66),
  36039. 50: uint8(66),
  36040. 51: uint8(66),
  36041. 52: uint8(66),
  36042. 53: uint8(66),
  36043. 54: uint8(66),
  36044. 55: uint8(66),
  36045. 56: uint8(66),
  36046. 57: uint8(66),
  36047. 58: uint8(66),
  36048. 59: uint8(66),
  36049. 60: uint8(66),
  36050. 61: uint8(66),
  36051. 62: uint8(66),
  36052. 63: uint8(66),
  36053. 64: uint8(66),
  36054. 65: uint8(66),
  36055. 66: uint8(66),
  36056. 67: uint8(66),
  36057. 68: uint8(66),
  36058. 69: uint8(66),
  36059. 70: uint8(66),
  36060. 71: uint8(66),
  36061. 72: uint8(66),
  36062. 73: uint8(66),
  36063. 74: uint8(66),
  36064. 75: uint8(66),
  36065. 76: uint8(66),
  36066. 77: uint8(66),
  36067. 78: uint8(66),
  36068. 79: uint8(66),
  36069. 80: uint8(66),
  36070. 81: uint8(66),
  36071. 82: uint8(66),
  36072. 83: uint8(66),
  36073. 84: uint8(66),
  36074. 85: uint8(66),
  36075. 86: uint8(66),
  36076. 87: uint8(66),
  36077. 88: uint8(66),
  36078. 89: uint8(66),
  36079. 90: uint8(66),
  36080. 91: uint8(66),
  36081. 92: uint8(66),
  36082. 93: uint8(66),
  36083. 94: uint8(66),
  36084. 95: uint8(66),
  36085. 96: uint8(66),
  36086. 97: uint8(4),
  36087. 98: uint8(10),
  36088. 99: uint8(32),
  36089. 100: uint8(21),
  36090. 101: uint8(29),
  36091. 102: uint8(28),
  36092. 103: uint8(49),
  36093. 104: uint8(14),
  36094. 105: uint8(4),
  36095. 106: uint8(66),
  36096. 107: uint8(66),
  36097. 108: uint8(5),
  36098. 109: uint8(31),
  36099. 110: uint8(18),
  36100. 111: uint8(22),
  36101. 112: uint8(27),
  36102. 113: uint8(66),
  36103. 114: uint8(15),
  36104. 115: uint8(9),
  36105. 116: uint8(8),
  36106. 117: uint8(23),
  36107. 118: uint8(23),
  36108. 119: uint8(13),
  36109. 120: uint8(23),
  36110. 121: uint8(16),
  36111. 122: uint8(4),
  36112. 123: uint8(66),
  36113. 124: uint8(66),
  36114. 125: uint8(66),
  36115. 126: uint8(66),
  36116. 127: uint8(66),
  36117. 128: uint8(66),
  36118. 129: uint8(66),
  36119. 130: uint8(66),
  36120. 131: uint8(66),
  36121. 132: uint8(66),
  36122. 133: uint8(66),
  36123. 134: uint8(66),
  36124. 135: uint8(66),
  36125. 136: uint8(66),
  36126. 137: uint8(66),
  36127. 138: uint8(66),
  36128. 139: uint8(66),
  36129. 140: uint8(66),
  36130. 141: uint8(66),
  36131. 142: uint8(66),
  36132. 143: uint8(66),
  36133. 144: uint8(66),
  36134. 145: uint8(66),
  36135. 146: uint8(66),
  36136. 147: uint8(66),
  36137. 148: uint8(66),
  36138. 149: uint8(66),
  36139. 150: uint8(66),
  36140. 151: uint8(66),
  36141. 152: uint8(66),
  36142. 153: uint8(66),
  36143. 154: uint8(66),
  36144. 155: uint8(66),
  36145. 156: uint8(66),
  36146. 157: uint8(66),
  36147. 158: uint8(66),
  36148. 159: uint8(66),
  36149. 160: uint8(66),
  36150. 161: uint8(66),
  36151. 162: uint8(66),
  36152. 163: uint8(66),
  36153. 164: uint8(66),
  36154. 165: uint8(66),
  36155. 166: uint8(66),
  36156. 167: uint8(66),
  36157. 168: uint8(66),
  36158. 169: uint8(66),
  36159. 170: uint8(66),
  36160. 171: uint8(66),
  36161. 172: uint8(66),
  36162. 173: uint8(66),
  36163. 174: uint8(66),
  36164. 175: uint8(66),
  36165. 176: uint8(66),
  36166. 177: uint8(66),
  36167. 178: uint8(66),
  36168. 179: uint8(66),
  36169. 180: uint8(66),
  36170. 181: uint8(66),
  36171. 182: uint8(66),
  36172. 183: uint8(66),
  36173. 184: uint8(66),
  36174. 185: uint8(66),
  36175. 186: uint8(66),
  36176. 187: uint8(66),
  36177. 188: uint8(66),
  36178. 189: uint8(66),
  36179. 190: uint8(66),
  36180. 191: uint8(66),
  36181. 192: uint8(66),
  36182. 193: uint8(66),
  36183. 194: uint8(66),
  36184. 195: uint8(66),
  36185. 196: uint8(66),
  36186. 197: uint8(66),
  36187. 198: uint8(66),
  36188. 199: uint8(66),
  36189. 200: uint8(66),
  36190. 201: uint8(66),
  36191. 202: uint8(66),
  36192. 203: uint8(66),
  36193. 204: uint8(66),
  36194. 205: uint8(66),
  36195. 206: uint8(66),
  36196. 207: uint8(66),
  36197. 208: uint8(66),
  36198. 209: uint8(66),
  36199. 210: uint8(66),
  36200. 211: uint8(66),
  36201. 212: uint8(66),
  36202. 213: uint8(66),
  36203. 214: uint8(66),
  36204. 215: uint8(66),
  36205. 216: uint8(66),
  36206. 217: uint8(66),
  36207. 218: uint8(66),
  36208. 219: uint8(66),
  36209. 220: uint8(66),
  36210. 221: uint8(66),
  36211. 222: uint8(66),
  36212. 223: uint8(66),
  36213. 224: uint8(66),
  36214. 225: uint8(66),
  36215. 226: uint8(66),
  36216. 227: uint8(66),
  36217. 228: uint8(66),
  36218. 229: uint8(66),
  36219. 230: uint8(66),
  36220. 231: uint8(66),
  36221. 232: uint8(66),
  36222. 233: uint8(66),
  36223. 234: uint8(66),
  36224. 235: uint8(66),
  36225. 236: uint8(66),
  36226. 237: uint8(66),
  36227. 238: uint8(66),
  36228. 239: uint8(66),
  36229. 240: uint8(66),
  36230. 241: uint8(66),
  36231. 242: uint8(66),
  36232. 243: uint8(66),
  36233. 244: uint8(66),
  36234. 245: uint8(66),
  36235. 246: uint8(66),
  36236. 247: uint8(66),
  36237. 248: uint8(66),
  36238. 249: uint8(66),
  36239. 250: uint8(66),
  36240. 251: uint8(66),
  36241. 252: uint8(66),
  36242. 253: uint8(66),
  36243. 254: uint8(66),
  36244. 255: uint8(66),
  36245. }
  36246. type TFcObjectTypeNamePool_t = struct {
  36247. FFcObjectTypeNamePool_str7 [4]uint8
  36248. FFcObjectTypeNamePool_str8 [5]uint8
  36249. FFcObjectTypeNamePool_str9 [5]uint8
  36250. FFcObjectTypeNamePool_str13 [5]uint8
  36251. FFcObjectTypeNamePool_str14 [5]uint8
  36252. FFcObjectTypeNamePool_str15 [8]uint8
  36253. FFcObjectTypeNamePool_str16 [9]uint8
  36254. FFcObjectTypeNamePool_str17 [6]uint8
  36255. FFcObjectTypeNamePool_str18 [7]uint8
  36256. FFcObjectTypeNamePool_str19 [8]uint8
  36257. FFcObjectTypeNamePool_str20 [8]uint8
  36258. FFcObjectTypeNamePool_str21 [10]uint8
  36259. FFcObjectTypeNamePool_str22 [5]uint8
  36260. FFcObjectTypeNamePool_str23 [9]uint8
  36261. FFcObjectTypeNamePool_str24 [7]uint8
  36262. FFcObjectTypeNamePool_str25 [6]uint8
  36263. FFcObjectTypeNamePool_str26 [10]uint8
  36264. FFcObjectTypeNamePool_str27 [9]uint8
  36265. FFcObjectTypeNamePool_str28 [11]uint8
  36266. FFcObjectTypeNamePool_str29 [8]uint8
  36267. FFcObjectTypeNamePool_str30 [9]uint8
  36268. FFcObjectTypeNamePool_str31 [9]uint8
  36269. FFcObjectTypeNamePool_str32 [15]uint8
  36270. FFcObjectTypeNamePool_str33 [15]uint8
  36271. FFcObjectTypeNamePool_str34 [10]uint8
  36272. FFcObjectTypeNamePool_str35 [13]uint8
  36273. FFcObjectTypeNamePool_str36 [10]uint8
  36274. FFcObjectTypeNamePool_str37 [10]uint8
  36275. FFcObjectTypeNamePool_str38 [6]uint8
  36276. FFcObjectTypeNamePool_str39 [14]uint8
  36277. FFcObjectTypeNamePool_str40 [6]uint8
  36278. FFcObjectTypeNamePool_str41 [6]uint8
  36279. FFcObjectTypeNamePool_str42 [7]uint8
  36280. FFcObjectTypeNamePool_str43 [12]uint8
  36281. FFcObjectTypeNamePool_str44 [9]uint8
  36282. FFcObjectTypeNamePool_str45 [15]uint8
  36283. FFcObjectTypeNamePool_str46 [11]uint8
  36284. FFcObjectTypeNamePool_str47 [11]uint8
  36285. FFcObjectTypeNamePool_str48 [11]uint8
  36286. FFcObjectTypeNamePool_str49 [6]uint8
  36287. FFcObjectTypeNamePool_str50 [6]uint8
  36288. FFcObjectTypeNamePool_str51 [8]uint8
  36289. FFcObjectTypeNamePool_str52 [12]uint8
  36290. FFcObjectTypeNamePool_str53 [9]uint8
  36291. FFcObjectTypeNamePool_str54 [10]uint8
  36292. FFcObjectTypeNamePool_str55 [15]uint8
  36293. FFcObjectTypeNamePool_str56 [11]uint8
  36294. FFcObjectTypeNamePool_str57 [11]uint8
  36295. FFcObjectTypeNamePool_str58 [13]uint8
  36296. FFcObjectTypeNamePool_str59 [7]uint8
  36297. FFcObjectTypeNamePool_str60 [8]uint8
  36298. FFcObjectTypeNamePool_str65 [7]uint8
  36299. }
  36300. var _FcObjectTypeNamePool_contents = TFcObjectTypeNamePool_t{
  36301. FFcObjectTypeNamePool_str7: [4]uint8{'d', 'p', 'i'},
  36302. FFcObjectTypeNamePool_str8: [5]uint8{'s', 'i', 'z', 'e'},
  36303. FFcObjectTypeNamePool_str9: [5]uint8{'f', 'i', 'l', 'e'},
  36304. FFcObjectTypeNamePool_str13: [5]uint8{'h', 'a', 's', 'h'},
  36305. FFcObjectTypeNamePool_str14: [5]uint8{'r', 'g', 'b', 'a'},
  36306. FFcObjectTypeNamePool_str15: [8]uint8{'s', 'p', 'a', 'c', 'i', 'n', 'g'},
  36307. FFcObjectTypeNamePool_str16: [9]uint8{'s', 'c', 'a', 'l', 'a', 'b', 'l', 'e'},
  36308. FFcObjectTypeNamePool_str17: [6]uint8{'s', 'l', 'a', 'n', 't'},
  36309. FFcObjectTypeNamePool_str18: [7]uint8{'m', 'a', 't', 'r', 'i', 'x'},
  36310. FFcObjectTypeNamePool_str19: [8]uint8{'o', 'u', 't', 'l', 'i', 'n', 'e'},
  36311. FFcObjectTypeNamePool_str20: [8]uint8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  36312. FFcObjectTypeNamePool_str21: [10]uint8{'a', 'n', 't', 'i', 'a', 'l', 'i', 'a', 's'},
  36313. FFcObjectTypeNamePool_str22: [5]uint8{'l', 'a', 'n', 'g'},
  36314. FFcObjectTypeNamePool_str23: [9]uint8{'e', 'm', 'b', 'o', 'l', 'd', 'e', 'n'},
  36315. FFcObjectTypeNamePool_str24: [7]uint8{'w', 'e', 'i', 'g', 'h', 't'},
  36316. FFcObjectTypeNamePool_str25: [6]uint8{'c', 'o', 'l', 'o', 'r'},
  36317. FFcObjectTypeNamePool_str26: [10]uint8{'c', 'h', 'a', 'r', 'w', 'i', 'd', 't', 'h'},
  36318. FFcObjectTypeNamePool_str27: [9]uint8{'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e'},
  36319. FFcObjectTypeNamePool_str28: [11]uint8{'c', 'h', 'a', 'r', 'h', 'e', 'i', 'g', 'h', 't'},
  36320. FFcObjectTypeNamePool_str29: [8]uint8{'h', 'i', 'n', 't', 'i', 'n', 'g'},
  36321. FFcObjectTypeNamePool_str30: [9]uint8{'a', 'u', 't', 'o', 'h', 'i', 'n', 't'},
  36322. FFcObjectTypeNamePool_str31: [9]uint8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e'},
  36323. FFcObjectTypeNamePool_str32: [15]uint8{'p', 'o', 's', 't', 's', 'c', 'r', 'i', 'p', 't', 'n', 'a', 'm', 'e'},
  36324. FFcObjectTypeNamePool_str33: [15]uint8{'v', 'e', 'r', 't', 'i', 'c', 'a', 'l', 'l', 'a', 'y', 'o', 'u', 't'},
  36325. FFcObjectTypeNamePool_str34: [10]uint8{'l', 'c', 'd', 'f', 'i', 'l', 't', 'e', 'r'},
  36326. FFcObjectTypeNamePool_str35: [13]uint8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  36327. FFcObjectTypeNamePool_str36: [10]uint8{'h', 'i', 'n', 't', 's', 't', 'y', 'l', 'e'},
  36328. FFcObjectTypeNamePool_str37: [10]uint8{'p', 'i', 'x', 'e', 'l', 's', 'i', 'z', 'e'},
  36329. FFcObjectTypeNamePool_str38: [6]uint8{'s', 'c', 'a', 'l', 'e'},
  36330. FFcObjectTypeNamePool_str39: [14]uint8{'g', 'l', 'o', 'b', 'a', 'l', 'a', 'd', 'v', 'a', 'n', 'c', 'e'},
  36331. FFcObjectTypeNamePool_str40: [6]uint8{'w', 'i', 'd', 't', 'h'},
  36332. FFcObjectTypeNamePool_str41: [6]uint8{'o', 'r', 'd', 'e', 'r'},
  36333. FFcObjectTypeNamePool_str42: [7]uint8{'f', 'a', 'm', 'i', 'l', 'y'},
  36334. FFcObjectTypeNamePool_str43: [12]uint8{'f', 'o', 'n', 't', 'h', 'a', 's', 'h', 'i', 'n', 't'},
  36335. FFcObjectTypeNamePool_str44: [9]uint8{'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  36336. FFcObjectTypeNamePool_str45: [15]uint8{'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', 'b', 'i', 't', 'm', 'a', 'p'},
  36337. FFcObjectTypeNamePool_str46: [11]uint8{'f', 'a', 'm', 'i', 'l', 'y', 'l', 'a', 'n', 'g'},
  36338. FFcObjectTypeNamePool_str47: [11]uint8{'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y'},
  36339. FFcObjectTypeNamePool_str48: [11]uint8{'r', 'a', 's', 't', 'e', 'r', 'i', 'z', 'e', 'r'},
  36340. FFcObjectTypeNamePool_str49: [6]uint8{'i', 'n', 'd', 'e', 'x'},
  36341. FFcObjectTypeNamePool_str50: [6]uint8{'s', 't', 'y', 'l', 'e'},
  36342. FFcObjectTypeNamePool_str51: [8]uint8{'f', 'o', 'u', 'n', 'd', 'r', 'y'},
  36343. FFcObjectTypeNamePool_str52: [12]uint8{'f', 'o', 'n', 't', 'v', 'e', 'r', 's', 'i', 'o', 'n'},
  36344. FFcObjectTypeNamePool_str53: [9]uint8{'m', 'i', 'n', 's', 'p', 'a', 'c', 'e'},
  36345. FFcObjectTypeNamePool_str54: [10]uint8{'s', 't', 'y', 'l', 'e', 'l', 'a', 'n', 'g'},
  36346. FFcObjectTypeNamePool_str55: [15]uint8{'f', 'o', 'n', 't', 'v', 'a', 'r', 'i', 'a', 't', 'i', 'o', 'n', 's'},
  36347. FFcObjectTypeNamePool_str56: [11]uint8{'f', 'o', 'n', 't', 'f', 'o', 'r', 'm', 'a', 't'},
  36348. FFcObjectTypeNamePool_str57: [11]uint8{'d', 'e', 'c', 'o', 'r', 'a', 't', 'i', 'v', 'e'},
  36349. FFcObjectTypeNamePool_str58: [13]uint8{'f', 'o', 'n', 't', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's'},
  36350. FFcObjectTypeNamePool_str59: [7]uint8{'s', 'y', 'm', 'b', 'o', 'l'},
  36351. FFcObjectTypeNamePool_str60: [8]uint8{'p', 'r', 'g', 'n', 'a', 'm', 'e'},
  36352. FFcObjectTypeNamePool_str65: [7]uint8{'a', 's', 'p', 'e', 'c', 't'},
  36353. }
  36354. func _FcObjectTypeLookup(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uintptr) {
  36355. var key uint32
  36356. var o int32
  36357. var s uintptr
  36358. _, _, _ = key, o, s
  36359. if len1 <= libc.Uint32FromInt32(14) && len1 >= libc.Uint32FromInt32(3) {
  36360. key = _FcObjectTypeHash(tls, str, len1)
  36361. if key <= libc.Uint32FromInt32(65) {
  36362. o = _wordlist[key].Fname
  36363. if o >= 0 {
  36364. s = uintptr(o) + uintptr(unsafe.Pointer(&_FcObjectTypeNamePool_contents))
  36365. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(str))) == libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(s))) && !(libc.Xstrcmp(tls, str+uintptr(1), s+uintptr(1)) != 0) {
  36366. return uintptr(unsafe.Pointer(&_wordlist)) + uintptr(key)*8
  36367. }
  36368. }
  36369. }
  36370. }
  36371. return uintptr(0)
  36372. }
  36373. var _wordlist = [66]TFcObjectTypeInfo{
  36374. 0: {
  36375. Fname: -int32(1),
  36376. },
  36377. 1: {
  36378. Fname: -int32(1),
  36379. },
  36380. 2: {
  36381. Fname: -int32(1),
  36382. },
  36383. 3: {
  36384. Fname: -int32(1),
  36385. },
  36386. 4: {
  36387. Fname: -int32(1),
  36388. },
  36389. 5: {
  36390. Fname: -int32(1),
  36391. },
  36392. 6: {
  36393. Fname: -int32(1),
  36394. },
  36395. 7: {
  36396. Fid: int32(_FC_DPI_OBJECT),
  36397. },
  36398. 8: {
  36399. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 4)),
  36400. Fid: int32(_FC_SIZE_OBJECT),
  36401. },
  36402. 9: {
  36403. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 9)),
  36404. Fid: int32(_FC_FILE_OBJECT),
  36405. },
  36406. 10: {
  36407. Fname: -int32(1),
  36408. },
  36409. 11: {
  36410. Fname: -int32(1),
  36411. },
  36412. 12: {
  36413. Fname: -int32(1),
  36414. },
  36415. 13: {
  36416. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 14)),
  36417. Fid: int32(_FC_HASH_OBJECT),
  36418. },
  36419. 14: {
  36420. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 19)),
  36421. Fid: int32(_FC_RGBA_OBJECT),
  36422. },
  36423. 15: {
  36424. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 24)),
  36425. Fid: int32(_FC_SPACING_OBJECT),
  36426. },
  36427. 16: {
  36428. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 32)),
  36429. Fid: int32(_FC_SCALABLE_OBJECT),
  36430. },
  36431. 17: {
  36432. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 41)),
  36433. Fid: int32(_FC_SLANT_OBJECT),
  36434. },
  36435. 18: {
  36436. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 47)),
  36437. Fid: int32(_FC_MATRIX_OBJECT),
  36438. },
  36439. 19: {
  36440. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 54)),
  36441. Fid: int32(_FC_OUTLINE_OBJECT),
  36442. },
  36443. 20: {
  36444. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 62)),
  36445. Fid: int32(_FC_CHARSET_OBJECT),
  36446. },
  36447. 21: {
  36448. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 70)),
  36449. Fid: int32(_FC_ANTIALIAS_OBJECT),
  36450. },
  36451. 22: {
  36452. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 80)),
  36453. Fid: int32(_FC_LANG_OBJECT),
  36454. },
  36455. 23: {
  36456. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 85)),
  36457. Fid: int32(_FC_EMBOLDEN_OBJECT),
  36458. },
  36459. 24: {
  36460. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 94)),
  36461. Fid: int32(_FC_WEIGHT_OBJECT),
  36462. },
  36463. 25: {
  36464. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 101)),
  36465. Fid: int32(_FC_COLOR_OBJECT),
  36466. },
  36467. 26: {
  36468. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 107)),
  36469. Fid: int32(_FC_CHARWIDTH_OBJECT),
  36470. },
  36471. 27: {
  36472. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 117)),
  36473. Fid: int32(_FC_VARIABLE_OBJECT),
  36474. },
  36475. 28: {
  36476. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 126)),
  36477. Fid: int32(_FC_CHAR_HEIGHT_OBJECT),
  36478. },
  36479. 29: {
  36480. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 137)),
  36481. Fid: int32(_FC_HINTING_OBJECT),
  36482. },
  36483. 30: {
  36484. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 145)),
  36485. Fid: int32(_FC_AUTOHINT_OBJECT),
  36486. },
  36487. 31: {
  36488. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 154)),
  36489. Fid: int32(_FC_FULLNAME_OBJECT),
  36490. },
  36491. 32: {
  36492. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 163)),
  36493. Fid: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  36494. },
  36495. 33: {
  36496. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 178)),
  36497. Fid: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  36498. },
  36499. 34: {
  36500. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 193)),
  36501. Fid: int32(_FC_LCD_FILTER_OBJECT),
  36502. },
  36503. 35: {
  36504. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 203)),
  36505. Fid: int32(_FC_FULLNAMELANG_OBJECT),
  36506. },
  36507. 36: {
  36508. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 216)),
  36509. Fid: int32(_FC_HINT_STYLE_OBJECT),
  36510. },
  36511. 37: {
  36512. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 226)),
  36513. Fid: int32(_FC_PIXEL_SIZE_OBJECT),
  36514. },
  36515. 38: {
  36516. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 236)),
  36517. Fid: int32(_FC_SCALE_OBJECT),
  36518. },
  36519. 39: {
  36520. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 242)),
  36521. Fid: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  36522. },
  36523. 40: {
  36524. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 256)),
  36525. Fid: int32(_FC_WIDTH_OBJECT),
  36526. },
  36527. 41: {
  36528. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 262)),
  36529. Fid: int32(_FC_ORDER_OBJECT),
  36530. },
  36531. 42: {
  36532. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 268)),
  36533. Fid: int32(_FC_FAMILY_OBJECT),
  36534. },
  36535. 43: {
  36536. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 275)),
  36537. Fid: int32(_FC_FONT_HAS_HINT_OBJECT),
  36538. },
  36539. 44: {
  36540. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 287)),
  36541. Fid: int32(_FC_NAMELANG_OBJECT),
  36542. },
  36543. 45: {
  36544. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 296)),
  36545. Fid: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  36546. },
  36547. 46: {
  36548. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 311)),
  36549. Fid: int32(_FC_FAMILYLANG_OBJECT),
  36550. },
  36551. 47: {
  36552. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 322)),
  36553. Fid: int32(_FC_CAPABILITY_OBJECT),
  36554. },
  36555. 48: {
  36556. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 333)),
  36557. Fid: int32(_FC_RASTERIZER_OBJECT),
  36558. },
  36559. 49: {
  36560. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 344)),
  36561. Fid: int32(_FC_INDEX_OBJECT),
  36562. },
  36563. 50: {
  36564. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 350)),
  36565. Fid: int32(_FC_STYLE_OBJECT),
  36566. },
  36567. 51: {
  36568. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 356)),
  36569. Fid: int32(_FC_FOUNDRY_OBJECT),
  36570. },
  36571. 52: {
  36572. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 364)),
  36573. Fid: int32(_FC_FONTVERSION_OBJECT),
  36574. },
  36575. 53: {
  36576. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 376)),
  36577. Fid: int32(_FC_MINSPACE_OBJECT),
  36578. },
  36579. 54: {
  36580. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 385)),
  36581. Fid: int32(_FC_STYLELANG_OBJECT),
  36582. },
  36583. 55: {
  36584. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 395)),
  36585. Fid: int32(_FC_FONT_VARIATIONS_OBJECT),
  36586. },
  36587. 56: {
  36588. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 410)),
  36589. Fid: int32(_FC_FONTFORMAT_OBJECT),
  36590. },
  36591. 57: {
  36592. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 421)),
  36593. Fid: int32(_FC_DECORATIVE_OBJECT),
  36594. },
  36595. 58: {
  36596. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 432)),
  36597. Fid: int32(_FC_FONT_FEATURES_OBJECT),
  36598. },
  36599. 59: {
  36600. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 445)),
  36601. Fid: int32(_FC_SYMBOL_OBJECT),
  36602. },
  36603. 60: {
  36604. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 452)),
  36605. Fid: int32(_FC_PRGNAME_OBJECT),
  36606. },
  36607. 61: {
  36608. Fname: -int32(1),
  36609. },
  36610. 62: {
  36611. Fname: -int32(1),
  36612. },
  36613. 63: {
  36614. Fname: -int32(1),
  36615. },
  36616. 64: {
  36617. Fname: -int32(1),
  36618. },
  36619. 65: {
  36620. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 460)),
  36621. Fid: int32(_FC_ASPECT_OBJECT),
  36622. },
  36623. }
  36624. // C documentation
  36625. //
  36626. // /* The 1000 is to leave some room for future added internal objects, such
  36627. // * that caches from newer fontconfig can still be used with older fontconfig
  36628. // * without getting confused. */
  36629. var _next_id = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  36630. type TFcObjectOtherTypeInfo = struct {
  36631. Fnext uintptr
  36632. Fobject TFcObjectType
  36633. Fid TFcObject
  36634. }
  36635. func XFcObjectFini(tls *libc.TLS) {
  36636. var ot, ots uintptr
  36637. var v1 int32
  36638. _, _, _ = ot, ots, v1
  36639. goto retry
  36640. retry:
  36641. ;
  36642. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36643. if !(ots != 0) {
  36644. return
  36645. }
  36646. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  36647. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = libc.UintptrFromInt32(0)
  36648. v1 = libc.Int32FromInt32(m_FcTrue)
  36649. } else {
  36650. v1 = m_FcFalse
  36651. }
  36652. if !(v1 != 0) {
  36653. goto retry
  36654. }
  36655. for ots != 0 {
  36656. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fnext
  36657. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject != 0 {
  36658. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject)
  36659. }
  36660. libc.Xfree(tls, ots)
  36661. ots = ot
  36662. }
  36663. }
  36664. func __FcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr, id uintptr) (r uintptr) {
  36665. var ot, ots uintptr
  36666. var v2 int32
  36667. _, _, _ = ot, ots, v2
  36668. goto retry
  36669. retry:
  36670. ;
  36671. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36672. ot = ots
  36673. for {
  36674. if !(ot != 0) {
  36675. break
  36676. }
  36677. if 0 == libc.Xstrcmp(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject, str) {
  36678. break
  36679. }
  36680. goto _1
  36681. _1:
  36682. ;
  36683. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36684. }
  36685. if !(ot != 0) {
  36686. ot = libc.Xmalloc(tls, uint32(16))
  36687. if !(ot != 0) {
  36688. return libc.UintptrFromInt32(0)
  36689. }
  36690. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject = libc.Xstrdup(tls, str)
  36691. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Ftype1 = int32(_FcTypeUnknown)
  36692. _next_id += +libc.Int32FromInt32(1)
  36693. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid = _next_id - +libc.Int32FromInt32(1)
  36694. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid < int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1)+libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) {
  36695. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6883, 0)
  36696. libc.Xabort(tls)
  36697. }
  36698. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext = ots
  36699. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  36700. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = ot
  36701. v2 = libc.Int32FromInt32(m_FcTrue)
  36702. } else {
  36703. v2 = m_FcFalse
  36704. }
  36705. if !(v2 != 0) {
  36706. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject != 0 {
  36707. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject)
  36708. }
  36709. libc.Xfree(tls, ot)
  36710. goto retry
  36711. }
  36712. }
  36713. if id != 0 {
  36714. *(*TFcObject)(unsafe.Pointer(id)) = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid
  36715. }
  36716. return ot + 4
  36717. }
  36718. func XFcObjectLookupBuiltinIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  36719. var o uintptr
  36720. _ = o
  36721. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  36722. if o != 0 {
  36723. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  36724. }
  36725. return 0
  36726. }
  36727. func XFcObjectLookupIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  36728. bp := tls.Alloc(16)
  36729. defer tls.Free(16)
  36730. var o uintptr
  36731. var _ /* id at bp+0 */ TFcObject
  36732. _ = o
  36733. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  36734. if o != 0 {
  36735. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  36736. }
  36737. if __FcObjectLookupOtherTypeByName(tls, str, bp) != 0 {
  36738. return *(*TFcObject)(unsafe.Pointer(bp))
  36739. }
  36740. return 0
  36741. }
  36742. func XFcObjectLookupOtherNameById(tls *libc.TLS, id TFcObject) (r uintptr) {
  36743. var ot uintptr
  36744. _ = ot
  36745. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36746. for {
  36747. if !(ot != 0) {
  36748. break
  36749. }
  36750. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  36751. return (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject
  36752. }
  36753. goto _1
  36754. _1:
  36755. ;
  36756. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36757. }
  36758. return libc.UintptrFromInt32(0)
  36759. }
  36760. func XFcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr) (r uintptr) {
  36761. return __FcObjectLookupOtherTypeByName(tls, str, libc.UintptrFromInt32(0))
  36762. }
  36763. func XFcObjectLookupOtherTypeById(tls *libc.TLS, id TFcObject) (r uintptr) {
  36764. var ot uintptr
  36765. _ = ot
  36766. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36767. for {
  36768. if !(ot != 0) {
  36769. break
  36770. }
  36771. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  36772. return ot + 4
  36773. }
  36774. goto _1
  36775. _1:
  36776. ;
  36777. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36778. }
  36779. return libc.UintptrFromInt32(0)
  36780. }
  36781. /* Objects MT-safe for readonly access. */
  36782. func XIA__FcPatternCreate(tls *libc.TLS) (r uintptr) {
  36783. var p uintptr
  36784. _ = p
  36785. p = libc.Xmalloc(tls, uint32(16))
  36786. if !(p != 0) {
  36787. return uintptr(0)
  36788. }
  36789. libc.Xmemset(tls, p, 0, uint32(16))
  36790. (*TFcPattern)(unsafe.Pointer(p)).Fnum = 0
  36791. (*TFcPattern)(unsafe.Pointer(p)).Fsize = 0
  36792. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int32(libc.UintptrFromInt32(0)) - int32(p)
  36793. (*TFcRef)(unsafe.Pointer(p + 12)).Fcount = int32(1)
  36794. return p
  36795. }
  36796. var XFcPatternCreate = XIA__FcPatternCreate
  36797. func XIA__FcValueDestroy(tls *libc.TLS, _v TFcValue) {
  36798. bp := tls.Alloc(16)
  36799. defer tls.Free(16)
  36800. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  36801. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36802. case int32(_FcTypeString):
  36803. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36804. case int32(_FcTypeMatrix):
  36805. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36806. case int32(_FcTypeCharSet):
  36807. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36808. case int32(_FcTypeLangSet):
  36809. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36810. case int32(_FcTypeRange):
  36811. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36812. default:
  36813. break
  36814. }
  36815. }
  36816. var XFcValueDestroy = XIA__FcValueDestroy
  36817. func XFcValueCanonicalize(tls *libc.TLS, v uintptr) (r TFcValue) {
  36818. bp := tls.Alloc(16)
  36819. defer tls.Free(16)
  36820. var v1, v2, v3, v4 uintptr
  36821. var _ /* new at bp+0 */ TFcValue
  36822. _, _, _, _ = v1, v2, v3, v4
  36823. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  36824. case int32(_FcTypeString):
  36825. if int32((*TFcValue)(unsafe.Pointer(v)).Fu.Fs)&int32(1) != 0 {
  36826. v1 = uintptr(int32(v) + int32((*TFcValue)(unsafe.Pointer(v)).Fu.Fs) & ^libc.Int32FromInt32(1))
  36827. } else {
  36828. v1 = (*TFcValue)(unsafe.Pointer(v)).Fu.Fs
  36829. }
  36830. *(*uintptr)(unsafe.Pointer(bp + 8)) = v1
  36831. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  36832. case int32(_FcTypeCharSet):
  36833. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  36834. v2 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  36835. } else {
  36836. v2 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  36837. }
  36838. *(*uintptr)(unsafe.Pointer(bp + 8)) = v2
  36839. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  36840. case int32(_FcTypeLangSet):
  36841. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  36842. v3 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  36843. } else {
  36844. v3 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  36845. }
  36846. *(*uintptr)(unsafe.Pointer(bp + 8)) = v3
  36847. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  36848. case int32(_FcTypeRange):
  36849. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  36850. v4 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  36851. } else {
  36852. v4 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  36853. }
  36854. *(*uintptr)(unsafe.Pointer(bp + 8)) = v4
  36855. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  36856. default:
  36857. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(v))
  36858. break
  36859. }
  36860. return *(*TFcValue)(unsafe.Pointer(bp))
  36861. }
  36862. func XIA__FcValueSave(tls *libc.TLS, _v TFcValue) (r TFcValue) {
  36863. bp := tls.Alloc(16)
  36864. defer tls.Free(16)
  36865. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  36866. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36867. case int32(_FcTypeString):
  36868. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36869. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36870. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36871. }
  36872. case int32(_FcTypeMatrix):
  36873. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcMatrixCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36874. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36875. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36876. }
  36877. case int32(_FcTypeCharSet):
  36878. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36879. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36880. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36881. }
  36882. case int32(_FcTypeLangSet):
  36883. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36884. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36885. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36886. }
  36887. case int32(_FcTypeRange):
  36888. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36889. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36890. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36891. }
  36892. default:
  36893. break
  36894. }
  36895. return *(*TFcValue)(unsafe.Pointer(bp))
  36896. }
  36897. var XFcValueSave = XIA__FcValueSave
  36898. func XFcValueListCreate(tls *libc.TLS) (r TFcValueListPtr) {
  36899. return libc.Xcalloc(tls, uint32(1), uint32(32))
  36900. }
  36901. func XFcValueListDestroy(tls *libc.TLS, l TFcValueListPtr) {
  36902. var next TFcValueListPtr
  36903. var v2 uintptr
  36904. _, _ = next, v2
  36905. for {
  36906. if !(l != 0) {
  36907. break
  36908. }
  36909. XIA__FcValueDestroy(tls, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  36910. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  36911. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  36912. } else {
  36913. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36914. }
  36915. next = v2
  36916. libc.Xfree(tls, l)
  36917. goto _1
  36918. _1:
  36919. ;
  36920. l = next
  36921. }
  36922. }
  36923. func XFcValueListPrepend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  36924. var new1 TFcValueListPtr
  36925. _ = new1
  36926. if value.Ftype1 == int32(_FcTypeVoid) {
  36927. return vallist
  36928. }
  36929. new1 = XFcValueListCreate(tls)
  36930. if !(new1 != 0) {
  36931. return vallist
  36932. }
  36933. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  36934. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  36935. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = vallist
  36936. return new1
  36937. }
  36938. func XFcValueListAppend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  36939. var last, new1 TFcValueListPtr
  36940. var v2, v3 uintptr
  36941. _, _, _, _ = last, new1, v2, v3
  36942. if value.Ftype1 == int32(_FcTypeVoid) {
  36943. return vallist
  36944. }
  36945. new1 = XFcValueListCreate(tls)
  36946. if !(new1 != 0) {
  36947. return vallist
  36948. }
  36949. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  36950. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  36951. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  36952. if vallist != 0 {
  36953. last = vallist
  36954. for {
  36955. if int32((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int32(1) != 0 {
  36956. v2 = uintptr(int32(last) + int32((*T_FcValueList)(unsafe.Pointer(last)).Fnext) & ^libc.Int32FromInt32(1))
  36957. } else {
  36958. v2 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  36959. }
  36960. if !(v2 != 0) {
  36961. break
  36962. }
  36963. goto _1
  36964. _1:
  36965. ;
  36966. if int32((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int32(1) != 0 {
  36967. v3 = uintptr(int32(last) + int32((*T_FcValueList)(unsafe.Pointer(last)).Fnext) & ^libc.Int32FromInt32(1))
  36968. } else {
  36969. v3 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  36970. }
  36971. last = v3
  36972. }
  36973. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = new1
  36974. } else {
  36975. vallist = new1
  36976. }
  36977. return vallist
  36978. }
  36979. func XFcValueListDuplicate(tls *libc.TLS, orig TFcValueListPtr) (r TFcValueListPtr) {
  36980. var l, new1, t, v2 TFcValueListPtr
  36981. var v TFcValue
  36982. var v3, v4 uintptr
  36983. _, _, _, _, _, _, _ = l, new1, t, v, v2, v3, v4
  36984. new1 = libc.UintptrFromInt32(0)
  36985. t = libc.UintptrFromInt32(0)
  36986. l = orig
  36987. for {
  36988. if !(l != libc.UintptrFromInt32(0)) {
  36989. break
  36990. }
  36991. if !(new1 != 0) {
  36992. v2 = XFcValueListCreate(tls)
  36993. new1 = v2
  36994. t = v2
  36995. } else {
  36996. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  36997. if int32((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int32(1) != 0 {
  36998. v3 = uintptr(int32(t) + int32((*T_FcValueList)(unsafe.Pointer(t)).Fnext) & ^libc.Int32FromInt32(1))
  36999. } else {
  37000. v3 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  37001. }
  37002. t = v3
  37003. }
  37004. v = XFcValueCanonicalize(tls, l+8)
  37005. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XIA__FcValueSave(tls, v)
  37006. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  37007. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  37008. goto _1
  37009. _1:
  37010. ;
  37011. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  37012. v4 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  37013. } else {
  37014. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37015. }
  37016. l = v4
  37017. }
  37018. return new1
  37019. }
  37020. func XIA__FcValueEqual(tls *libc.TLS, _va TFcValue, _vb TFcValue) (r TFcBool) {
  37021. bp := tls.Alloc(32)
  37022. defer tls.Free(32)
  37023. *(*TFcValue)(unsafe.Pointer(bp)) = _va
  37024. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _vb
  37025. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  37026. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  37027. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  37028. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  37029. }
  37030. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeInteger) {
  37031. (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 = int32(_FcTypeDouble)
  37032. *(*float64)(unsafe.Pointer(bp + 16 + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  37033. }
  37034. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  37035. return m_FcFalse
  37036. }
  37037. }
  37038. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37039. case int32(_FcTypeUnknown):
  37040. return m_FcFalse /* don't know how to compare this object */
  37041. case int32(_FcTypeVoid):
  37042. return int32(m_FcTrue)
  37043. case int32(_FcTypeInteger):
  37044. return libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 8)) == *(*int32)(unsafe.Pointer(bp + 16 + 8)))
  37045. case int32(_FcTypeDouble):
  37046. return libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  37047. case int32(_FcTypeString):
  37048. return libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  37049. case int32(_FcTypeBool):
  37050. return libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  37051. case int32(_FcTypeMatrix):
  37052. return XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  37053. case int32(_FcTypeCharSet):
  37054. return XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  37055. case int32(_FcTypeFTFace):
  37056. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  37057. case int32(_FcTypeLangSet):
  37058. return XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  37059. case int32(_FcTypeRange):
  37060. return XFcRangeIsInRange(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  37061. }
  37062. return m_FcFalse
  37063. }
  37064. var XFcValueEqual = XIA__FcValueEqual
  37065. func _FcDoubleHash(tls *libc.TLS, d float64) (r TFcChar32) {
  37066. if d < libc.Float64FromInt32(0) {
  37067. d = -d
  37068. }
  37069. if d > libc.Float64FromUint32(0xffffffff) {
  37070. d = libc.Float64FromUint32(0xffffffff)
  37071. }
  37072. return uint32(d)
  37073. }
  37074. func XFcStringHash(tls *libc.TLS, s uintptr) (r TFcChar32) {
  37075. var c, v1 TFcChar8
  37076. var h TFcChar32
  37077. var v2 uintptr
  37078. _, _, _, _ = c, h, v1, v2
  37079. h = uint32(0)
  37080. if s != 0 {
  37081. for {
  37082. v2 = s
  37083. s++
  37084. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  37085. c = v1
  37086. if !(v1 != 0) {
  37087. break
  37088. }
  37089. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32(c)
  37090. }
  37091. }
  37092. return h
  37093. }
  37094. func _FcValueHash(tls *libc.TLS, v uintptr) (r TFcChar32) {
  37095. var v1, v2, v3, v4 uintptr
  37096. _, _, _, _ = v1, v2, v3, v4
  37097. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  37098. case int32(_FcTypeUnknown):
  37099. fallthrough
  37100. case int32(_FcTypeVoid):
  37101. return uint32(0)
  37102. case int32(_FcTypeInteger):
  37103. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  37104. case int32(_FcTypeDouble):
  37105. return _FcDoubleHash(tls, *(*float64)(unsafe.Pointer(v + 8)))
  37106. case int32(_FcTypeString):
  37107. if int32((*TFcValue)(unsafe.Pointer(v)).Fu.Fs)&int32(1) != 0 {
  37108. v1 = uintptr(int32(v) + int32((*TFcValue)(unsafe.Pointer(v)).Fu.Fs) & ^libc.Int32FromInt32(1))
  37109. } else {
  37110. v1 = (*TFcValue)(unsafe.Pointer(v)).Fu.Fs
  37111. }
  37112. return XFcStringHash(tls, v1)
  37113. case int32(_FcTypeBool):
  37114. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  37115. case int32(_FcTypeMatrix):
  37116. return _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))).Fxx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))).Fxy) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))).Fyx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))).Fyy)
  37117. case int32(_FcTypeCharSet):
  37118. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  37119. v2 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  37120. } else {
  37121. v2 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  37122. }
  37123. return libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(v2)).Fnum)
  37124. case int32(_FcTypeFTFace):
  37125. return XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))).Ffamily_name) ^ XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))).Fstyle_name)
  37126. case int32(_FcTypeLangSet):
  37127. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  37128. v3 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  37129. } else {
  37130. v3 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  37131. }
  37132. return XIA__FcLangSetHash(tls, v3)
  37133. case int32(_FcTypeRange):
  37134. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  37135. v4 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  37136. } else {
  37137. v4 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  37138. }
  37139. return XFcRangeHash(tls, v4)
  37140. }
  37141. return uint32(0)
  37142. }
  37143. func _FcValueListEqual(tls *libc.TLS, la TFcValueListPtr, lb TFcValueListPtr) (r TFcBool) {
  37144. var v1, v2 uintptr
  37145. _, _ = v1, v2
  37146. if la == lb {
  37147. return int32(m_FcTrue)
  37148. }
  37149. for la != 0 && lb != 0 {
  37150. if !(XIA__FcValueEqual(tls, (*T_FcValueList)(unsafe.Pointer(la)).Fvalue, (*T_FcValueList)(unsafe.Pointer(lb)).Fvalue) != 0) {
  37151. return m_FcFalse
  37152. }
  37153. if int32((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int32(1) != 0 {
  37154. v1 = uintptr(int32(la) + int32((*T_FcValueList)(unsafe.Pointer(la)).Fnext) & ^libc.Int32FromInt32(1))
  37155. } else {
  37156. v1 = (*T_FcValueList)(unsafe.Pointer(la)).Fnext
  37157. }
  37158. la = v1
  37159. if int32((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int32(1) != 0 {
  37160. v2 = uintptr(int32(lb) + int32((*T_FcValueList)(unsafe.Pointer(lb)).Fnext) & ^libc.Int32FromInt32(1))
  37161. } else {
  37162. v2 = (*T_FcValueList)(unsafe.Pointer(lb)).Fnext
  37163. }
  37164. lb = v2
  37165. }
  37166. if la != 0 || lb != 0 {
  37167. return m_FcFalse
  37168. }
  37169. return int32(m_FcTrue)
  37170. }
  37171. func _FcValueListHash(tls *libc.TLS, l TFcValueListPtr) (r TFcChar32) {
  37172. var hash TFcChar32
  37173. var v2 uintptr
  37174. _, _ = hash, v2
  37175. hash = uint32(0)
  37176. for {
  37177. if !(l != 0) {
  37178. break
  37179. }
  37180. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcValueHash(tls, l+8)
  37181. goto _1
  37182. _1:
  37183. ;
  37184. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  37185. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  37186. } else {
  37187. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37188. }
  37189. l = v2
  37190. }
  37191. return hash
  37192. }
  37193. func _FcPatternGetCacheObject(tls *libc.TLS, p uintptr) (r uintptr) {
  37194. var v1 uintptr
  37195. _ = v1
  37196. /* We use a value to find the cache, instead of the FcPattern object
  37197. * because the pattern itself may be a cache allocation if we rewrote the path,
  37198. * so the p may not be in the cached region. */
  37199. if int32((*TFcPatternElt)(unsafe.Pointer(uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int32(1) != 0 {
  37200. v1 = uintptr(Tintptr_t(uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)) + int32((*TFcPatternElt)(unsafe.Pointer(uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues) & ^libc.Int32FromInt32(1))
  37201. } else {
  37202. v1 = (*TFcPatternElt)(unsafe.Pointer(uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues
  37203. }
  37204. return v1
  37205. }
  37206. func XFcPatternCacheRewriteFile(tls *libc.TLS, p uintptr, cache uintptr, relocated_font_file uintptr) (r uintptr) {
  37207. var data, elt, elts, new_elts, new_p, new_path, new_value_list, v3 uintptr
  37208. var i, j, new_path_len, v2, v4 Tsize_t
  37209. _, _, _, _, _, _, _, _, _, _, _, _, _ = data, elt, elts, i, j, new_elts, new_p, new_path, new_path_len, new_value_list, v2, v3, v4
  37210. elts = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37211. new_path_len = libc.Xstrlen(tls, relocated_font_file)
  37212. /* Allocate space for the patter, the PatternElt headers and
  37213. * the FC_FILE FcValueList and path that will be freed with the
  37214. * cache */
  37215. data = XFcCacheAllocate(tls, cache, uint32(16)+libc.Uint32FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)*uint32(8)+uint32(32)+new_path_len+uint32(1))
  37216. new_p = data
  37217. data += uintptr(16)
  37218. new_elts = data
  37219. data += uintptr(libc.Uint32FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum) * uint32(8))
  37220. new_value_list = data
  37221. data += uintptr(32)
  37222. new_path = data
  37223. *(*TFcPattern)(unsafe.Pointer(new_p)) = *(*TFcPattern)(unsafe.Pointer(p))
  37224. (*TFcPattern)(unsafe.Pointer(new_p)).Felts_offset = int32(new_elts) - int32(new_p)
  37225. /* Copy all but the FILE values from the cache */
  37226. i = uint32(0)
  37227. j = libc.Uint32FromInt32(0)
  37228. for {
  37229. if !(i < libc.Uint32FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)) {
  37230. break
  37231. }
  37232. elt = elts + uintptr(i)*8
  37233. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(j)*8))).Fobject = (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject
  37234. if (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject != int32(_FC_FILE_OBJECT) {
  37235. v2 = j
  37236. j++
  37237. if int32((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int32(1) != 0 {
  37238. v3 = uintptr(int32(elt) + int32((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues) & ^libc.Int32FromInt32(1))
  37239. } else {
  37240. v3 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  37241. }
  37242. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v2)*8))).Fvalues = v3
  37243. } else {
  37244. v4 = j
  37245. j++
  37246. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v4)*8))).Fvalues = new_value_list
  37247. }
  37248. goto _1
  37249. _1:
  37250. ;
  37251. i++
  37252. }
  37253. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fnext = libc.UintptrFromInt32(0)
  37254. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fvalue.Ftype1 = int32(_FcTypeString)
  37255. *(*uintptr)(unsafe.Pointer(new_value_list + 8 + 8)) = new_path
  37256. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fbinding = int32(_FcValueBindingWeak)
  37257. /* Add rewritten path at the end */
  37258. libc.Xstrcpy(tls, new_path, relocated_font_file)
  37259. return new_p
  37260. }
  37261. func XIA__FcPatternDestroy(tls *libc.TLS, p uintptr) {
  37262. var elts, v7, p5 uintptr
  37263. var i, v3 int32
  37264. var v1 TFcBool
  37265. _, _, _, _, _, _ = elts, i, v1, v3, v7, p5
  37266. if !(p != 0) {
  37267. return
  37268. }
  37269. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+12)).Fcount == -libc.Int32FromInt32(1))
  37270. goto _2
  37271. _2:
  37272. if v1 != 0 {
  37273. XFcCacheObjectDereference(tls, _FcPatternGetCacheObject(tls, p))
  37274. return
  37275. }
  37276. p5 = p + 12
  37277. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  37278. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  37279. goto _4
  37280. _4:
  37281. if v3 != int32(1) {
  37282. return
  37283. }
  37284. elts = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37285. i = 0
  37286. for {
  37287. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  37288. break
  37289. }
  37290. if int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  37291. v7 = uintptr(Tintptr_t(elts+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  37292. } else {
  37293. v7 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*8)).Fvalues
  37294. }
  37295. XFcValueListDestroy(tls, v7)
  37296. goto _6
  37297. _6:
  37298. ;
  37299. i++
  37300. }
  37301. libc.Xfree(tls, elts)
  37302. libc.Xfree(tls, p)
  37303. }
  37304. var XFcPatternDestroy = XIA__FcPatternDestroy
  37305. func XIA__FcPatternObjectCount(tls *libc.TLS, pat uintptr) (r int32) {
  37306. if pat != 0 {
  37307. return (*TFcPattern)(unsafe.Pointer(pat)).Fnum
  37308. }
  37309. return 0
  37310. }
  37311. var XFcPatternObjectCount = XIA__FcPatternObjectCount
  37312. func _FcPatternObjectPosition(tls *libc.TLS, p uintptr, object TFcObject) (r int32) {
  37313. var c, high, low, mid int32
  37314. var elts uintptr
  37315. _, _, _, _, _ = c, elts, high, low, mid
  37316. elts = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37317. low = 0
  37318. high = XIA__FcPatternObjectCount(tls, p) - int32(1)
  37319. c = int32(1)
  37320. mid = 0
  37321. for low <= high {
  37322. mid = (low + high) >> int32(1)
  37323. c = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(mid)*8))).Fobject - object
  37324. if c == 0 {
  37325. return mid
  37326. }
  37327. if c < 0 {
  37328. low = mid + int32(1)
  37329. } else {
  37330. high = mid - int32(1)
  37331. }
  37332. }
  37333. if c < 0 {
  37334. mid++
  37335. }
  37336. return -(mid + int32(1))
  37337. }
  37338. func XFcPatternPosition(tls *libc.TLS, p uintptr, object uintptr) (r int32) {
  37339. return _FcPatternObjectPosition(tls, p, XFcObjectFromName(tls, object))
  37340. }
  37341. func XFcPatternObjectFindElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  37342. var i int32
  37343. _ = i
  37344. i = _FcPatternObjectPosition(tls, p, object)
  37345. if i < 0 {
  37346. return uintptr(0)
  37347. }
  37348. return uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*8
  37349. }
  37350. func XFcPatternObjectInsertElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  37351. var e, e0 uintptr
  37352. var i, s int32
  37353. _, _, _, _ = e, e0, i, s
  37354. i = _FcPatternObjectPosition(tls, p, object)
  37355. if i < 0 {
  37356. i = -i - int32(1)
  37357. /* reallocate array */
  37358. if XIA__FcPatternObjectCount(tls, p)+int32(1) >= (*TFcPattern)(unsafe.Pointer(p)).Fsize {
  37359. s = (*TFcPattern)(unsafe.Pointer(p)).Fsize + int32(16)
  37360. if (*TFcPattern)(unsafe.Pointer(p)).Fsize != 0 {
  37361. e0 = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37362. e = libc.Xrealloc(tls, e0, libc.Uint32FromInt32(s)*uint32(8))
  37363. if !(e != 0) { /* maybe it was mmapped */
  37364. e = libc.Xmalloc(tls, libc.Uint32FromInt32(s)*uint32(8))
  37365. if e != 0 {
  37366. libc.Xmemcpy(tls, e, e0, libc.Uint32FromInt32(XIA__FcPatternObjectCount(tls, p))*uint32(8))
  37367. }
  37368. }
  37369. } else {
  37370. e = libc.Xmalloc(tls, libc.Uint32FromInt32(s)*uint32(8))
  37371. }
  37372. if !(e != 0) {
  37373. return uintptr(m_FcFalse)
  37374. }
  37375. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int32(e) - int32(p)
  37376. for (*TFcPattern)(unsafe.Pointer(p)).Fsize < s {
  37377. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*8))).Fobject = 0
  37378. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*8))).Fvalues = libc.UintptrFromInt32(0)
  37379. (*TFcPattern)(unsafe.Pointer(p)).Fsize++
  37380. }
  37381. }
  37382. e = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37383. /* move elts up */
  37384. libc.Xmemmove(tls, e+uintptr(i)*8+uintptr(1)*8, e+uintptr(i)*8, uint32(8)*libc.Uint32FromInt32(XIA__FcPatternObjectCount(tls, p)-i))
  37385. /* bump count */
  37386. (*TFcPattern)(unsafe.Pointer(p)).Fnum++
  37387. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*8))).Fobject = object
  37388. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*8))).Fvalues = libc.UintptrFromInt32(0)
  37389. }
  37390. return uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*8
  37391. }
  37392. func XIA__FcPatternEqual(tls *libc.TLS, pa uintptr, pb uintptr) (r TFcBool) {
  37393. bp := tls.Alloc(16)
  37394. defer tls.Free(16)
  37395. var ra, rb TFcBool
  37396. var _ /* ia at bp+0 */ TFcPatternIter
  37397. var _ /* ib at bp+8 */ TFcPatternIter
  37398. _, _ = ra, rb
  37399. if pa == pb {
  37400. return int32(m_FcTrue)
  37401. }
  37402. if XIA__FcPatternObjectCount(tls, pa) != XIA__FcPatternObjectCount(tls, pb) {
  37403. return m_FcFalse
  37404. }
  37405. XIA__FcPatternIterStart(tls, pa, bp)
  37406. XIA__FcPatternIterStart(tls, pb, bp+8)
  37407. for cond := true; cond; cond = int32(1) != 0 {
  37408. if !(XIA__FcPatternIterEqual(tls, pa, bp, pb, bp+8) != 0) {
  37409. return m_FcFalse
  37410. }
  37411. ra = XIA__FcPatternIterNext(tls, pa, bp)
  37412. rb = XIA__FcPatternIterNext(tls, pb, bp+8)
  37413. if !(ra != 0) && !(rb != 0) {
  37414. break
  37415. }
  37416. }
  37417. return int32(m_FcTrue)
  37418. }
  37419. var XFcPatternEqual = XIA__FcPatternEqual
  37420. func XIA__FcPatternHash(tls *libc.TLS, p uintptr) (r TFcChar32) {
  37421. var h TFcChar32
  37422. var i int32
  37423. var pe, v2 uintptr
  37424. _, _, _, _ = h, i, pe, v2
  37425. h = uint32(0)
  37426. pe = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37427. i = 0
  37428. for {
  37429. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  37430. break
  37431. }
  37432. if int32((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  37433. v2 = uintptr(Tintptr_t(pe+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  37434. } else {
  37435. v2 = (*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*8)).Fvalues
  37436. }
  37437. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ libc.Uint32FromInt32((*(*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*8))).Fobject) ^ _FcValueListHash(tls, v2)
  37438. goto _1
  37439. _1:
  37440. ;
  37441. i++
  37442. }
  37443. return h
  37444. }
  37445. var XFcPatternHash = XIA__FcPatternHash
  37446. func XIA__FcPatternEqualSubset(tls *libc.TLS, pai uintptr, pbi uintptr, os uintptr) (r TFcBool) {
  37447. var ea, eb, v2, v3 uintptr
  37448. var i int32
  37449. var object TFcObject
  37450. _, _, _, _, _, _ = ea, eb, i, object, v2, v3
  37451. i = 0
  37452. for {
  37453. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  37454. break
  37455. }
  37456. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)))
  37457. ea = XFcPatternObjectFindElt(tls, pai, object)
  37458. eb = XFcPatternObjectFindElt(tls, pbi, object)
  37459. if ea != 0 {
  37460. if !(eb != 0) {
  37461. return m_FcFalse
  37462. }
  37463. if int32((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int32(1) != 0 {
  37464. v2 = uintptr(int32(ea) + int32((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues) & ^libc.Int32FromInt32(1))
  37465. } else {
  37466. v2 = (*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues
  37467. }
  37468. if int32((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int32(1) != 0 {
  37469. v3 = uintptr(int32(eb) + int32((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues) & ^libc.Int32FromInt32(1))
  37470. } else {
  37471. v3 = (*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues
  37472. }
  37473. if !(_FcValueListEqual(tls, v2, v3) != 0) {
  37474. return m_FcFalse
  37475. }
  37476. } else {
  37477. if eb != 0 {
  37478. return m_FcFalse
  37479. }
  37480. }
  37481. goto _1
  37482. _1:
  37483. ;
  37484. i++
  37485. }
  37486. return int32(m_FcTrue)
  37487. }
  37488. var XFcPatternEqualSubset = XIA__FcPatternEqualSubset
  37489. func XFcPatternObjectListAdd(tls *libc.TLS, p uintptr, object TFcObject, _list TFcValueListPtr, append1 TFcBool) (r TFcBool) {
  37490. bp := tls.Alloc(32)
  37491. defer tls.Free(32)
  37492. *(*TFcValueListPtr)(unsafe.Pointer(bp)) = _list
  37493. var e, prev, v4 uintptr
  37494. var l TFcValueListPtr
  37495. var v1 TFcBool
  37496. _, _, _, _, _ = e, l, prev, v1, v4
  37497. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+12)).Fcount == -libc.Int32FromInt32(1))
  37498. goto _2
  37499. _2:
  37500. if v1 != 0 {
  37501. goto bail0
  37502. }
  37503. /*
  37504. * Make sure the stored type is valid for built-in objects
  37505. */
  37506. l = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37507. for {
  37508. if !(l != libc.UintptrFromInt32(0)) {
  37509. break
  37510. }
  37511. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  37512. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1214, libc.VaList(bp+16, XFcObjectName(tls, object)))
  37513. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  37514. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1276, 0)
  37515. goto bail0
  37516. }
  37517. goto _3
  37518. _3:
  37519. ;
  37520. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  37521. v4 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  37522. } else {
  37523. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37524. }
  37525. l = v4
  37526. }
  37527. e = XFcPatternObjectInsertElt(tls, p, object)
  37528. if !(e != 0) {
  37529. goto bail0
  37530. }
  37531. if append1 != 0 {
  37532. prev = e + 4
  37533. for {
  37534. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37535. break
  37536. }
  37537. goto _5
  37538. _5:
  37539. ;
  37540. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37541. }
  37542. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37543. } else {
  37544. prev = bp
  37545. for {
  37546. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37547. break
  37548. }
  37549. goto _6
  37550. _6:
  37551. ;
  37552. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37553. }
  37554. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37555. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37556. }
  37557. return int32(m_FcTrue)
  37558. goto bail0
  37559. bail0:
  37560. ;
  37561. return m_FcFalse
  37562. return r
  37563. }
  37564. func XFcPatternObjectAddWithBinding(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, binding TFcValueBinding, append1 TFcBool) (r TFcBool) {
  37565. bp := tls.Alloc(16)
  37566. defer tls.Free(16)
  37567. var e, prev uintptr
  37568. var new1 TFcValueListPtr
  37569. var v1 TFcBool
  37570. _, _, _, _ = e, new1, prev, v1
  37571. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+12)).Fcount == -libc.Int32FromInt32(1))
  37572. goto _2
  37573. _2:
  37574. if v1 != 0 {
  37575. goto bail0
  37576. }
  37577. new1 = XFcValueListCreate(tls)
  37578. if !(new1 != 0) {
  37579. goto bail0
  37580. }
  37581. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  37582. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  37583. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  37584. if (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  37585. goto bail1
  37586. }
  37587. /*
  37588. * Make sure the stored type is valid for built-in objects
  37589. */
  37590. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1) != 0) {
  37591. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1214, libc.VaList(bp+8, XFcObjectName(tls, object)))
  37592. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue)
  37593. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1276, 0)
  37594. goto bail1
  37595. }
  37596. e = XFcPatternObjectInsertElt(tls, p, object)
  37597. if !(e != 0) {
  37598. goto bail1
  37599. }
  37600. if append1 != 0 {
  37601. prev = e + 4
  37602. for {
  37603. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37604. break
  37605. }
  37606. goto _3
  37607. _3:
  37608. ;
  37609. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37610. }
  37611. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  37612. } else {
  37613. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37614. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = new1
  37615. }
  37616. return int32(m_FcTrue)
  37617. goto bail1
  37618. bail1:
  37619. ;
  37620. XFcValueListDestroy(tls, new1)
  37621. goto bail0
  37622. bail0:
  37623. ;
  37624. return m_FcFalse
  37625. return r
  37626. }
  37627. func XFcPatternObjectAdd(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, append1 TFcBool) (r TFcBool) {
  37628. return XFcPatternObjectAddWithBinding(tls, p, object, value, int32(_FcValueBindingStrong), append1)
  37629. }
  37630. func XIA__FcPatternAdd(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  37631. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingStrong), append1)
  37632. }
  37633. var XFcPatternAdd = XIA__FcPatternAdd
  37634. func XIA__FcPatternAddWeak(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  37635. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingWeak), append1)
  37636. }
  37637. var XFcPatternAddWeak = XIA__FcPatternAddWeak
  37638. func XFcPatternObjectDel(tls *libc.TLS, p uintptr, object TFcObject) (r TFcBool) {
  37639. var e uintptr
  37640. _ = e
  37641. e = XFcPatternObjectFindElt(tls, p, object)
  37642. if !(e != 0) {
  37643. return m_FcFalse
  37644. }
  37645. /* destroy value */
  37646. XFcValueListDestroy(tls, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  37647. /* shuffle existing ones down */
  37648. libc.Xmemmove(tls, e, e+uintptr(1)*8, libc.Uint32FromInt32((int32(uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)+uintptr(XIA__FcPatternObjectCount(tls, p))*8)-int32(e+libc.UintptrFromInt32(1)*8))/8)*uint32(8))
  37649. (*TFcPattern)(unsafe.Pointer(p)).Fnum--
  37650. e = uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(XIA__FcPatternObjectCount(tls, p))*8
  37651. (*TFcPatternElt)(unsafe.Pointer(e)).Fobject = 0
  37652. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = libc.UintptrFromInt32(0)
  37653. return int32(m_FcTrue)
  37654. }
  37655. func XIA__FcPatternDel(tls *libc.TLS, p uintptr, object uintptr) (r TFcBool) {
  37656. return XFcPatternObjectDel(tls, p, XFcObjectFromName(tls, object))
  37657. }
  37658. var XFcPatternDel = XIA__FcPatternDel
  37659. func XIA__FcPatternRemove(tls *libc.TLS, p uintptr, object uintptr, id int32) (r TFcBool) {
  37660. var e, prev uintptr
  37661. var l, v2 TFcValueListPtr
  37662. _, _, _, _ = e, l, prev, v2
  37663. e = XFcPatternObjectFindElt(tls, p, XFcObjectFromName(tls, object))
  37664. if !(e != 0) {
  37665. return m_FcFalse
  37666. }
  37667. prev = e + 4
  37668. for {
  37669. v2 = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37670. l = v2
  37671. if !(v2 != 0) {
  37672. break
  37673. }
  37674. if !(id != 0) {
  37675. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37676. (*T_FcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  37677. XFcValueListDestroy(tls, l)
  37678. if !((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != 0) {
  37679. XIA__FcPatternDel(tls, p, object)
  37680. }
  37681. return int32(m_FcTrue)
  37682. }
  37683. id--
  37684. goto _1
  37685. _1:
  37686. ;
  37687. prev = l
  37688. }
  37689. return m_FcFalse
  37690. }
  37691. var XFcPatternRemove = XIA__FcPatternRemove
  37692. func XFcPatternObjectAddInteger(tls *libc.TLS, p uintptr, object TFcObject, i int32) (r TFcBool) {
  37693. bp := tls.Alloc(16)
  37694. defer tls.Free(16)
  37695. var _ /* v at bp+0 */ TFcValue
  37696. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  37697. *(*int32)(unsafe.Pointer(bp + 8)) = i
  37698. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37699. }
  37700. func XIA__FcPatternAddInteger(tls *libc.TLS, p uintptr, object uintptr, i int32) (r TFcBool) {
  37701. return XFcPatternObjectAddInteger(tls, p, XFcObjectFromName(tls, object), i)
  37702. }
  37703. var XFcPatternAddInteger = XIA__FcPatternAddInteger
  37704. func XFcPatternObjectAddDouble(tls *libc.TLS, p uintptr, object TFcObject, d float64) (r TFcBool) {
  37705. bp := tls.Alloc(16)
  37706. defer tls.Free(16)
  37707. var _ /* v at bp+0 */ TFcValue
  37708. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  37709. *(*float64)(unsafe.Pointer(bp + 8)) = d
  37710. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37711. }
  37712. func XIA__FcPatternAddDouble(tls *libc.TLS, p uintptr, object uintptr, d float64) (r TFcBool) {
  37713. return XFcPatternObjectAddDouble(tls, p, XFcObjectFromName(tls, object), d)
  37714. }
  37715. var XFcPatternAddDouble = XIA__FcPatternAddDouble
  37716. func XFcPatternObjectAddString(tls *libc.TLS, p uintptr, object TFcObject, s uintptr) (r TFcBool) {
  37717. bp := tls.Alloc(16)
  37718. defer tls.Free(16)
  37719. var _ /* v at bp+0 */ TFcValue
  37720. if !(s != 0) {
  37721. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  37722. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  37723. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37724. }
  37725. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  37726. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  37727. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37728. }
  37729. func XIA__FcPatternAddString(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  37730. return XFcPatternObjectAddString(tls, p, XFcObjectFromName(tls, object), s)
  37731. }
  37732. var XFcPatternAddString = XIA__FcPatternAddString
  37733. func XIA__FcPatternAddMatrix(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  37734. bp := tls.Alloc(16)
  37735. defer tls.Free(16)
  37736. var _ /* v at bp+0 */ TFcValue
  37737. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  37738. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  37739. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37740. }
  37741. var XFcPatternAddMatrix = XIA__FcPatternAddMatrix
  37742. func XFcPatternObjectAddBool(tls *libc.TLS, p uintptr, object TFcObject, b TFcBool) (r TFcBool) {
  37743. bp := tls.Alloc(16)
  37744. defer tls.Free(16)
  37745. var _ /* v at bp+0 */ TFcValue
  37746. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  37747. *(*TFcBool)(unsafe.Pointer(bp + 8)) = b
  37748. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37749. }
  37750. func XIA__FcPatternAddBool(tls *libc.TLS, p uintptr, object uintptr, b TFcBool) (r TFcBool) {
  37751. return XFcPatternObjectAddBool(tls, p, XFcObjectFromName(tls, object), b)
  37752. }
  37753. var XFcPatternAddBool = XIA__FcPatternAddBool
  37754. func XFcPatternObjectAddCharSet(tls *libc.TLS, p uintptr, object TFcObject, c uintptr) (r TFcBool) {
  37755. bp := tls.Alloc(16)
  37756. defer tls.Free(16)
  37757. var _ /* v at bp+0 */ TFcValue
  37758. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  37759. *(*uintptr)(unsafe.Pointer(bp + 8)) = c
  37760. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37761. }
  37762. func XIA__FcPatternAddCharSet(tls *libc.TLS, p uintptr, object uintptr, c uintptr) (r TFcBool) {
  37763. return XFcPatternObjectAddCharSet(tls, p, XFcObjectFromName(tls, object), c)
  37764. }
  37765. var XFcPatternAddCharSet = XIA__FcPatternAddCharSet
  37766. func XIA__FcPatternAddFTFace(tls *libc.TLS, p uintptr, object uintptr, f TFT_Face) (r TFcBool) {
  37767. bp := tls.Alloc(16)
  37768. defer tls.Free(16)
  37769. var _ /* v at bp+0 */ TFcValue
  37770. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeFTFace)
  37771. *(*uintptr)(unsafe.Pointer(bp + 8)) = f
  37772. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37773. }
  37774. var XFcPatternAddFTFace = XIA__FcPatternAddFTFace
  37775. func XFcPatternObjectAddLangSet(tls *libc.TLS, p uintptr, object TFcObject, ls uintptr) (r TFcBool) {
  37776. bp := tls.Alloc(16)
  37777. defer tls.Free(16)
  37778. var _ /* v at bp+0 */ TFcValue
  37779. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  37780. *(*uintptr)(unsafe.Pointer(bp + 8)) = ls
  37781. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37782. }
  37783. func XIA__FcPatternAddLangSet(tls *libc.TLS, p uintptr, object uintptr, ls uintptr) (r TFcBool) {
  37784. return XFcPatternObjectAddLangSet(tls, p, XFcObjectFromName(tls, object), ls)
  37785. }
  37786. var XFcPatternAddLangSet = XIA__FcPatternAddLangSet
  37787. func XFcPatternObjectAddRange(tls *libc.TLS, p uintptr, object TFcObject, r uintptr) (r1 TFcBool) {
  37788. bp := tls.Alloc(16)
  37789. defer tls.Free(16)
  37790. var _ /* v at bp+0 */ TFcValue
  37791. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  37792. *(*uintptr)(unsafe.Pointer(bp + 8)) = r
  37793. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37794. }
  37795. func XIA__FcPatternAddRange(tls *libc.TLS, p uintptr, object uintptr, r uintptr) (r1 TFcBool) {
  37796. return XFcPatternObjectAddRange(tls, p, XFcObjectFromName(tls, object), r)
  37797. }
  37798. var XFcPatternAddRange = XIA__FcPatternAddRange
  37799. func XFcPatternObjectGetWithBinding(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr, b uintptr) (r TFcResult) {
  37800. var e, v2, v3 uintptr
  37801. var l TFcValueListPtr
  37802. _, _, _, _ = e, l, v2, v3
  37803. if !(p != 0) {
  37804. return int32(_FcResultNoMatch)
  37805. }
  37806. e = XFcPatternObjectFindElt(tls, p, object)
  37807. if !(e != 0) {
  37808. return int32(_FcResultNoMatch)
  37809. }
  37810. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  37811. v2 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  37812. } else {
  37813. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37814. }
  37815. l = v2
  37816. for {
  37817. if !(l != 0) {
  37818. break
  37819. }
  37820. if !(id != 0) {
  37821. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  37822. if b != 0 {
  37823. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  37824. }
  37825. return int32(_FcResultMatch)
  37826. }
  37827. id--
  37828. goto _1
  37829. _1:
  37830. ;
  37831. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  37832. v3 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  37833. } else {
  37834. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37835. }
  37836. l = v3
  37837. }
  37838. return int32(_FcResultNoId)
  37839. }
  37840. func XFcPatternObjectGet(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr) (r TFcResult) {
  37841. return XFcPatternObjectGetWithBinding(tls, p, object, id, v, libc.UintptrFromInt32(0))
  37842. }
  37843. func XIA__FcPatternGetWithBinding(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  37844. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, b)
  37845. }
  37846. var XFcPatternGetWithBinding = XIA__FcPatternGetWithBinding
  37847. func XIA__FcPatternGet(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr) (r TFcResult) {
  37848. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, libc.UintptrFromInt32(0))
  37849. }
  37850. var XFcPatternGet = XIA__FcPatternGet
  37851. func XFcPatternObjectGetInteger(tls *libc.TLS, p uintptr, object TFcObject, id int32, i uintptr) (r1 TFcResult) {
  37852. bp := tls.Alloc(16)
  37853. defer tls.Free(16)
  37854. var r TFcResult
  37855. var _ /* v at bp+0 */ TFcValue
  37856. _ = r
  37857. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37858. if r != int32(_FcResultMatch) {
  37859. return r
  37860. }
  37861. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37862. case int32(_FcTypeDouble):
  37863. *(*int32)(unsafe.Pointer(i)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  37864. case int32(_FcTypeInteger):
  37865. *(*int32)(unsafe.Pointer(i)) = *(*int32)(unsafe.Pointer(bp + 8))
  37866. default:
  37867. return int32(_FcResultTypeMismatch)
  37868. }
  37869. return int32(_FcResultMatch)
  37870. }
  37871. func XIA__FcPatternGetInteger(tls *libc.TLS, p uintptr, object uintptr, id int32, i uintptr) (r TFcResult) {
  37872. return XFcPatternObjectGetInteger(tls, p, XFcObjectFromName(tls, object), id, i)
  37873. }
  37874. var XFcPatternGetInteger = XIA__FcPatternGetInteger
  37875. func XFcPatternObjectGetDouble(tls *libc.TLS, p uintptr, object TFcObject, id int32, d uintptr) (r1 TFcResult) {
  37876. bp := tls.Alloc(16)
  37877. defer tls.Free(16)
  37878. var r TFcResult
  37879. var _ /* v at bp+0 */ TFcValue
  37880. _ = r
  37881. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37882. if r != int32(_FcResultMatch) {
  37883. return r
  37884. }
  37885. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37886. case int32(_FcTypeDouble):
  37887. *(*float64)(unsafe.Pointer(d)) = *(*float64)(unsafe.Pointer(bp + 8))
  37888. case int32(_FcTypeInteger):
  37889. *(*float64)(unsafe.Pointer(d)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  37890. default:
  37891. return int32(_FcResultTypeMismatch)
  37892. }
  37893. return int32(_FcResultMatch)
  37894. }
  37895. func XIA__FcPatternGetDouble(tls *libc.TLS, p uintptr, object uintptr, id int32, d uintptr) (r TFcResult) {
  37896. return XFcPatternObjectGetDouble(tls, p, XFcObjectFromName(tls, object), id, d)
  37897. }
  37898. var XFcPatternGetDouble = XIA__FcPatternGetDouble
  37899. func XFcPatternObjectGetString(tls *libc.TLS, p uintptr, object TFcObject, id int32, s uintptr) (r1 TFcResult) {
  37900. bp := tls.Alloc(16)
  37901. defer tls.Free(16)
  37902. var r TFcResult
  37903. var _ /* v at bp+0 */ TFcValue
  37904. _ = r
  37905. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37906. if r != int32(_FcResultMatch) {
  37907. return r
  37908. }
  37909. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeString) {
  37910. return int32(_FcResultTypeMismatch)
  37911. }
  37912. *(*uintptr)(unsafe.Pointer(s)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37913. return int32(_FcResultMatch)
  37914. }
  37915. func XIA__FcPatternGetString(tls *libc.TLS, p uintptr, object uintptr, id int32, s uintptr) (r TFcResult) {
  37916. return XFcPatternObjectGetString(tls, p, XFcObjectFromName(tls, object), id, s)
  37917. }
  37918. var XFcPatternGetString = XIA__FcPatternGetString
  37919. func XIA__FcPatternGetMatrix(tls *libc.TLS, p uintptr, object uintptr, id int32, m uintptr) (r1 TFcResult) {
  37920. bp := tls.Alloc(16)
  37921. defer tls.Free(16)
  37922. var r TFcResult
  37923. var _ /* v at bp+0 */ TFcValue
  37924. _ = r
  37925. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37926. if r != int32(_FcResultMatch) {
  37927. return r
  37928. }
  37929. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeMatrix) {
  37930. return int32(_FcResultTypeMismatch)
  37931. }
  37932. *(*uintptr)(unsafe.Pointer(m)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37933. return int32(_FcResultMatch)
  37934. }
  37935. var XFcPatternGetMatrix = XIA__FcPatternGetMatrix
  37936. func XFcPatternObjectGetBool(tls *libc.TLS, p uintptr, object TFcObject, id int32, b uintptr) (r1 TFcResult) {
  37937. bp := tls.Alloc(16)
  37938. defer tls.Free(16)
  37939. var r TFcResult
  37940. var _ /* v at bp+0 */ TFcValue
  37941. _ = r
  37942. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37943. if r != int32(_FcResultMatch) {
  37944. return r
  37945. }
  37946. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeBool) {
  37947. return int32(_FcResultTypeMismatch)
  37948. }
  37949. *(*TFcBool)(unsafe.Pointer(b)) = *(*TFcBool)(unsafe.Pointer(bp + 8))
  37950. return int32(_FcResultMatch)
  37951. }
  37952. func XIA__FcPatternGetBool(tls *libc.TLS, p uintptr, object uintptr, id int32, b uintptr) (r TFcResult) {
  37953. return XFcPatternObjectGetBool(tls, p, XFcObjectFromName(tls, object), id, b)
  37954. }
  37955. var XFcPatternGetBool = XIA__FcPatternGetBool
  37956. func XIA__FcPatternGetCharSet(tls *libc.TLS, p uintptr, object uintptr, id int32, c uintptr) (r1 TFcResult) {
  37957. bp := tls.Alloc(16)
  37958. defer tls.Free(16)
  37959. var r TFcResult
  37960. var _ /* v at bp+0 */ TFcValue
  37961. _ = r
  37962. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37963. if r != int32(_FcResultMatch) {
  37964. return r
  37965. }
  37966. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeCharSet) {
  37967. return int32(_FcResultTypeMismatch)
  37968. }
  37969. *(*uintptr)(unsafe.Pointer(c)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37970. return int32(_FcResultMatch)
  37971. }
  37972. var XFcPatternGetCharSet = XIA__FcPatternGetCharSet
  37973. func XIA__FcPatternGetFTFace(tls *libc.TLS, p uintptr, object uintptr, id int32, f uintptr) (r1 TFcResult) {
  37974. bp := tls.Alloc(16)
  37975. defer tls.Free(16)
  37976. var r TFcResult
  37977. var _ /* v at bp+0 */ TFcValue
  37978. _ = r
  37979. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37980. if r != int32(_FcResultMatch) {
  37981. return r
  37982. }
  37983. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeFTFace) {
  37984. return int32(_FcResultTypeMismatch)
  37985. }
  37986. *(*TFT_Face)(unsafe.Pointer(f)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37987. return int32(_FcResultMatch)
  37988. }
  37989. var XFcPatternGetFTFace = XIA__FcPatternGetFTFace
  37990. func XIA__FcPatternGetLangSet(tls *libc.TLS, p uintptr, object uintptr, id int32, ls uintptr) (r1 TFcResult) {
  37991. bp := tls.Alloc(16)
  37992. defer tls.Free(16)
  37993. var r TFcResult
  37994. var _ /* v at bp+0 */ TFcValue
  37995. _ = r
  37996. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37997. if r != int32(_FcResultMatch) {
  37998. return r
  37999. }
  38000. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeLangSet) {
  38001. return int32(_FcResultTypeMismatch)
  38002. }
  38003. *(*uintptr)(unsafe.Pointer(ls)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  38004. return int32(_FcResultMatch)
  38005. }
  38006. var XFcPatternGetLangSet = XIA__FcPatternGetLangSet
  38007. func XFcPatternObjectGetRange(tls *libc.TLS, p uintptr, object TFcObject, id int32, r uintptr) (r1 TFcResult) {
  38008. bp := tls.Alloc(16)
  38009. defer tls.Free(16)
  38010. var res TFcResult
  38011. var _ /* v at bp+0 */ TFcValue
  38012. _ = res
  38013. res = XFcPatternObjectGet(tls, p, object, id, bp)
  38014. if res != int32(_FcResultMatch) {
  38015. return res
  38016. }
  38017. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  38018. case int32(_FcTypeRange):
  38019. *(*uintptr)(unsafe.Pointer(r)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  38020. default:
  38021. return int32(_FcResultTypeMismatch)
  38022. }
  38023. return int32(_FcResultMatch)
  38024. }
  38025. func XIA__FcPatternGetRange(tls *libc.TLS, p uintptr, object uintptr, id int32, r uintptr) (r1 TFcResult) {
  38026. return XFcPatternObjectGetRange(tls, p, XFcObjectFromName(tls, object), id, r)
  38027. }
  38028. var XFcPatternGetRange = XIA__FcPatternGetRange
  38029. func XIA__FcPatternDuplicate(tls *libc.TLS, orig uintptr) (r uintptr) {
  38030. bp := tls.Alloc(16)
  38031. defer tls.Free(16)
  38032. var l TFcValueListPtr
  38033. var new1, v2 uintptr
  38034. var _ /* iter at bp+0 */ TFcPatternIter
  38035. _, _, _ = l, new1, v2
  38036. if !(orig != 0) {
  38037. return libc.UintptrFromInt32(0)
  38038. }
  38039. new1 = XIA__FcPatternCreate(tls)
  38040. if !(new1 != 0) {
  38041. goto bail0
  38042. }
  38043. XIA__FcPatternIterStart(tls, orig, bp)
  38044. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, orig, bp) != 0 {
  38045. l = XFcPatternIterGetValues(tls, orig, bp)
  38046. for {
  38047. if !(l != 0) {
  38048. break
  38049. }
  38050. if !(XFcPatternObjectAddWithBinding(tls, new1, XFcPatternIterGetObjectId(tls, orig, bp), XFcValueCanonicalize(tls, l+8), (*T_FcValueList)(unsafe.Pointer(l)).Fbinding, int32(m_FcTrue)) != 0) {
  38051. goto bail1
  38052. }
  38053. goto _1
  38054. _1:
  38055. ;
  38056. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  38057. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  38058. } else {
  38059. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  38060. }
  38061. l = v2
  38062. }
  38063. }
  38064. return new1
  38065. goto bail1
  38066. bail1:
  38067. ;
  38068. XIA__FcPatternDestroy(tls, new1)
  38069. goto bail0
  38070. bail0:
  38071. ;
  38072. return uintptr(0)
  38073. return r
  38074. }
  38075. var XFcPatternDuplicate = XIA__FcPatternDuplicate
  38076. func XIA__FcPatternReference(tls *libc.TLS, p uintptr) {
  38077. var v1 TFcBool
  38078. var p4 uintptr
  38079. _, _ = v1, p4
  38080. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+12)).Fcount == -libc.Int32FromInt32(1))
  38081. goto _2
  38082. _2:
  38083. if !(v1 != 0) {
  38084. p4 = p + 12
  38085. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  38086. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  38087. goto _3
  38088. _3:
  38089. } else {
  38090. XFcCacheObjectReference(tls, _FcPatternGetCacheObject(tls, p))
  38091. }
  38092. }
  38093. var XFcPatternReference = XIA__FcPatternReference
  38094. func XIA__FcPatternVaBuild(tls *libc.TLS, p uintptr, va Tva_list) (r uintptr) {
  38095. bp := tls.Alloc(16)
  38096. defer tls.Free(16)
  38097. var __o__, __p__, ret uintptr
  38098. var _ /* __v__ at bp+0 */ TFcValue
  38099. _, _, _ = __o__, __p__, ret
  38100. __p__ = p
  38101. if !(__p__ != 0) {
  38102. __p__ = XIA__FcPatternCreate(tls)
  38103. if !(__p__ != 0) {
  38104. goto _FcPatternVapBuild_bail0
  38105. }
  38106. }
  38107. for {
  38108. __o__ = libc.VaUintptr(&va)
  38109. if !(__o__ != 0) {
  38110. break
  38111. }
  38112. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  38113. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  38114. case int32(_FcTypeUnknown):
  38115. fallthrough
  38116. case int32(_FcTypeVoid):
  38117. goto _FcPatternVapBuild_bail1
  38118. case int32(_FcTypeInteger):
  38119. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  38120. case int32(_FcTypeDouble):
  38121. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  38122. case int32(_FcTypeString):
  38123. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38124. case int32(_FcTypeBool):
  38125. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  38126. case int32(_FcTypeMatrix):
  38127. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38128. case int32(_FcTypeCharSet):
  38129. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38130. case int32(_FcTypeFTFace):
  38131. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38132. case int32(_FcTypeLangSet):
  38133. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38134. case int32(_FcTypeRange):
  38135. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38136. break
  38137. }
  38138. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  38139. goto _FcPatternVapBuild_bail1
  38140. }
  38141. goto _1
  38142. _1:
  38143. }
  38144. ret = __p__
  38145. goto _FcPatternVapBuild_return
  38146. goto _FcPatternVapBuild_bail1
  38147. _FcPatternVapBuild_bail1:
  38148. ;
  38149. if !(p != 0) {
  38150. XIA__FcPatternDestroy(tls, __p__)
  38151. }
  38152. goto _FcPatternVapBuild_bail0
  38153. _FcPatternVapBuild_bail0:
  38154. ;
  38155. ret = libc.UintptrFromInt32(0)
  38156. goto _FcPatternVapBuild_return
  38157. _FcPatternVapBuild_return:
  38158. ;
  38159. return ret
  38160. }
  38161. var XFcPatternVaBuild = XIA__FcPatternVaBuild
  38162. func XIA__FcPatternBuild(tls *libc.TLS, p uintptr, va1 uintptr) (r uintptr) {
  38163. bp := tls.Alloc(16)
  38164. defer tls.Free(16)
  38165. var __o__, __p__ uintptr
  38166. var va Tva_list
  38167. var _ /* __v__ at bp+0 */ TFcValue
  38168. _, _, _ = __o__, __p__, va
  38169. va = va1
  38170. __p__ = p
  38171. if !(__p__ != 0) {
  38172. __p__ = XIA__FcPatternCreate(tls)
  38173. if !(__p__ != 0) {
  38174. goto _FcPatternVapBuild_bail0
  38175. }
  38176. }
  38177. for {
  38178. __o__ = libc.VaUintptr(&va)
  38179. if !(__o__ != 0) {
  38180. break
  38181. }
  38182. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  38183. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  38184. case int32(_FcTypeUnknown):
  38185. fallthrough
  38186. case int32(_FcTypeVoid):
  38187. goto _FcPatternVapBuild_bail1
  38188. case int32(_FcTypeInteger):
  38189. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  38190. case int32(_FcTypeDouble):
  38191. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  38192. case int32(_FcTypeString):
  38193. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38194. case int32(_FcTypeBool):
  38195. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  38196. case int32(_FcTypeMatrix):
  38197. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38198. case int32(_FcTypeCharSet):
  38199. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38200. case int32(_FcTypeFTFace):
  38201. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38202. case int32(_FcTypeLangSet):
  38203. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38204. case int32(_FcTypeRange):
  38205. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38206. break
  38207. }
  38208. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  38209. goto _FcPatternVapBuild_bail1
  38210. }
  38211. goto _1
  38212. _1:
  38213. }
  38214. p = __p__
  38215. goto _FcPatternVapBuild_return
  38216. goto _FcPatternVapBuild_bail1
  38217. _FcPatternVapBuild_bail1:
  38218. ;
  38219. if !(p != 0) {
  38220. XIA__FcPatternDestroy(tls, __p__)
  38221. }
  38222. goto _FcPatternVapBuild_bail0
  38223. _FcPatternVapBuild_bail0:
  38224. ;
  38225. p = libc.UintptrFromInt32(0)
  38226. goto _FcPatternVapBuild_return
  38227. _FcPatternVapBuild_return:
  38228. ;
  38229. _ = va
  38230. return p
  38231. }
  38232. var XFcPatternBuild = XIA__FcPatternBuild
  38233. // C documentation
  38234. //
  38235. // /*
  38236. // * Add all of the elements in 's' to 'p'
  38237. // */
  38238. func XFcPatternAppend(tls *libc.TLS, p uintptr, s uintptr) (r TFcBool) {
  38239. bp := tls.Alloc(16)
  38240. defer tls.Free(16)
  38241. var v TFcValueListPtr
  38242. var v2 uintptr
  38243. var _ /* iter at bp+0 */ TFcPatternIter
  38244. _, _ = v, v2
  38245. XIA__FcPatternIterStart(tls, s, bp)
  38246. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, s, bp) != 0 {
  38247. v = XFcPatternIterGetValues(tls, s, bp)
  38248. for {
  38249. if !(v != 0) {
  38250. break
  38251. }
  38252. if !(XFcPatternObjectAddWithBinding(tls, p, XFcPatternIterGetObjectId(tls, s, bp), XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  38253. return m_FcFalse
  38254. }
  38255. goto _1
  38256. _1:
  38257. ;
  38258. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  38259. v2 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  38260. } else {
  38261. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  38262. }
  38263. v = v2
  38264. }
  38265. }
  38266. return int32(m_FcTrue)
  38267. }
  38268. func XIA__FcPatternFilter(tls *libc.TLS, p uintptr, os uintptr) (r uintptr) {
  38269. var e, ret, v3, v4 uintptr
  38270. var i int32
  38271. var object TFcObject
  38272. var v TFcValueListPtr
  38273. _, _, _, _, _, _, _ = e, i, object, ret, v, v3, v4
  38274. if !(os != 0) {
  38275. return XIA__FcPatternDuplicate(tls, p)
  38276. }
  38277. ret = XIA__FcPatternCreate(tls)
  38278. if !(ret != 0) {
  38279. return libc.UintptrFromInt32(0)
  38280. }
  38281. i = 0
  38282. for {
  38283. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  38284. break
  38285. }
  38286. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)))
  38287. e = XFcPatternObjectFindElt(tls, p, object)
  38288. if e != 0 {
  38289. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  38290. v3 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  38291. } else {
  38292. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  38293. }
  38294. v = v3
  38295. for {
  38296. if !(v != 0) {
  38297. break
  38298. }
  38299. if !(XFcPatternObjectAddWithBinding(tls, ret, (*TFcPatternElt)(unsafe.Pointer(e)).Fobject, XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  38300. goto bail0
  38301. }
  38302. goto _2
  38303. _2:
  38304. ;
  38305. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  38306. v4 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  38307. } else {
  38308. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  38309. }
  38310. v = v4
  38311. }
  38312. }
  38313. goto _1
  38314. _1:
  38315. ;
  38316. i++
  38317. }
  38318. return ret
  38319. goto bail0
  38320. bail0:
  38321. ;
  38322. XIA__FcPatternDestroy(tls, ret)
  38323. return libc.UintptrFromInt32(0)
  38324. }
  38325. var XFcPatternFilter = XIA__FcPatternFilter
  38326. type TFcPatternPrivateIter = struct {
  38327. Felt uintptr
  38328. Fpos int32
  38329. }
  38330. type T_FcPatternPrivateIter = TFcPatternPrivateIter
  38331. func _FcPatternIterSet(tls *libc.TLS, pat uintptr, iter uintptr) {
  38332. var v1 uintptr
  38333. _ = v1
  38334. if XIA__FcPatternObjectCount(tls, pat) > 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos < XIA__FcPatternObjectCount(tls, pat) {
  38335. v1 = uintptr(int32(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr((*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos)*8
  38336. } else {
  38337. v1 = libc.UintptrFromInt32(0)
  38338. }
  38339. (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Felt = v1
  38340. }
  38341. func XIA__FcPatternIterStart(tls *libc.TLS, pat uintptr, iter uintptr) {
  38342. var priv uintptr
  38343. _ = priv
  38344. priv = iter
  38345. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = 0
  38346. _FcPatternIterSet(tls, pat, priv)
  38347. }
  38348. var XFcPatternIterStart = XIA__FcPatternIterStart
  38349. func XIA__FcPatternIterNext(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  38350. var priv uintptr
  38351. _ = priv
  38352. priv = iter
  38353. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos++
  38354. if (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos >= XIA__FcPatternObjectCount(tls, pat) {
  38355. return m_FcFalse
  38356. }
  38357. _FcPatternIterSet(tls, pat, priv)
  38358. return int32(m_FcTrue)
  38359. }
  38360. var XFcPatternIterNext = XIA__FcPatternIterNext
  38361. func XIA__FcPatternIterEqual(tls *libc.TLS, p1 uintptr, i1 uintptr, p2 uintptr, i2 uintptr) (r TFcBool) {
  38362. var b1, b2 TFcBool
  38363. _, _ = b1, b2
  38364. b1 = XIA__FcPatternIterIsValid(tls, p1, i1)
  38365. b2 = XIA__FcPatternIterIsValid(tls, p2, i2)
  38366. if !(i1 != 0) && !(i2 != 0) {
  38367. return int32(m_FcTrue)
  38368. }
  38369. if !(b1 != 0) || !(b2 != 0) {
  38370. return m_FcFalse
  38371. }
  38372. if XFcPatternIterGetObjectId(tls, p1, i1) != XFcPatternIterGetObjectId(tls, p2, i2) {
  38373. return m_FcFalse
  38374. }
  38375. return _FcValueListEqual(tls, XFcPatternIterGetValues(tls, p1, i1), XFcPatternIterGetValues(tls, p2, i2))
  38376. }
  38377. var XFcPatternIterEqual = XIA__FcPatternIterEqual
  38378. func XFcPatternFindObjectIter(tls *libc.TLS, pat uintptr, iter uintptr, object TFcObject) (r TFcBool) {
  38379. var i int32
  38380. var priv uintptr
  38381. _, _ = i, priv
  38382. priv = iter
  38383. i = _FcPatternObjectPosition(tls, pat, object)
  38384. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt = libc.UintptrFromInt32(0)
  38385. if i < 0 {
  38386. return m_FcFalse
  38387. }
  38388. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = i
  38389. _FcPatternIterSet(tls, pat, priv)
  38390. return int32(m_FcTrue)
  38391. }
  38392. func XIA__FcPatternFindIter(tls *libc.TLS, pat uintptr, iter uintptr, object uintptr) (r TFcBool) {
  38393. return XFcPatternFindObjectIter(tls, pat, iter, XFcObjectFromName(tls, object))
  38394. }
  38395. var XFcPatternFindIter = XIA__FcPatternFindIter
  38396. func XIA__FcPatternIterIsValid(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  38397. var priv uintptr
  38398. _ = priv
  38399. priv = iter
  38400. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38401. return int32(m_FcTrue)
  38402. }
  38403. return m_FcFalse
  38404. }
  38405. var XFcPatternIterIsValid = XIA__FcPatternIterIsValid
  38406. func XFcPatternIterGetObjectId(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcObject) {
  38407. var priv uintptr
  38408. _ = priv
  38409. priv = iter
  38410. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38411. return (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fobject
  38412. }
  38413. return 0
  38414. }
  38415. func XIA__FcPatternIterGetObject(tls *libc.TLS, pat uintptr, iter uintptr) (r uintptr) {
  38416. return XFcObjectName(tls, XFcPatternIterGetObjectId(tls, pat, iter))
  38417. }
  38418. var XFcPatternIterGetObject = XIA__FcPatternIterGetObject
  38419. func XFcPatternIterGetValues(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcValueListPtr) {
  38420. var priv, v1 uintptr
  38421. _, _ = priv, v1
  38422. priv = iter
  38423. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38424. if int32((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int32(1) != 0 {
  38425. v1 = uintptr(int32((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt) + int32((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues) & ^libc.Int32FromInt32(1))
  38426. } else {
  38427. v1 = (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues
  38428. }
  38429. return v1
  38430. }
  38431. return libc.UintptrFromInt32(0)
  38432. }
  38433. func XIA__FcPatternIterValueCount(tls *libc.TLS, pat uintptr, iter uintptr) (r int32) {
  38434. var count int32
  38435. var l TFcValueListPtr
  38436. var v2 uintptr
  38437. _, _, _ = count, l, v2
  38438. count = 0
  38439. l = XFcPatternIterGetValues(tls, pat, iter)
  38440. for {
  38441. if !(l != 0) {
  38442. break
  38443. }
  38444. count++
  38445. goto _1
  38446. _1:
  38447. ;
  38448. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  38449. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  38450. } else {
  38451. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  38452. }
  38453. l = v2
  38454. }
  38455. return count
  38456. }
  38457. var XFcPatternIterValueCount = XIA__FcPatternIterValueCount
  38458. func XIA__FcPatternIterGetValue(tls *libc.TLS, pat uintptr, iter uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  38459. var l TFcValueListPtr
  38460. var v2 uintptr
  38461. _, _ = l, v2
  38462. l = XFcPatternIterGetValues(tls, pat, iter)
  38463. for {
  38464. if !(l != 0) {
  38465. break
  38466. }
  38467. if id == 0 {
  38468. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  38469. if b != 0 {
  38470. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  38471. }
  38472. return int32(_FcResultMatch)
  38473. }
  38474. id--
  38475. goto _1
  38476. _1:
  38477. ;
  38478. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  38479. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  38480. } else {
  38481. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  38482. }
  38483. l = v2
  38484. }
  38485. return int32(_FcResultNoId)
  38486. }
  38487. var XFcPatternIterGetValue = XIA__FcPatternIterGetValue
  38488. func XFcPatternSerializeAlloc(tls *libc.TLS, serialize uintptr, pat uintptr) (r TFcBool) {
  38489. var elts, v2 uintptr
  38490. var i int32
  38491. _, _, _ = elts, i, v2
  38492. elts = uintptr(int32(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  38493. if !(XFcSerializeAlloc(tls, serialize, pat, int32(16)) != 0) {
  38494. return m_FcFalse
  38495. }
  38496. if !(XFcSerializeAlloc(tls, serialize, elts, libc.Int32FromUint32(libc.Uint32FromInt32(XIA__FcPatternObjectCount(tls, pat))*uint32(8))) != 0) {
  38497. return m_FcFalse
  38498. }
  38499. i = 0
  38500. for {
  38501. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  38502. break
  38503. }
  38504. if int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  38505. v2 = uintptr(int32(elts+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  38506. } else {
  38507. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*8)).Fvalues
  38508. }
  38509. if !(XFcValueListSerializeAlloc(tls, serialize, v2) != 0) {
  38510. return m_FcFalse
  38511. }
  38512. goto _1
  38513. _1:
  38514. ;
  38515. i++
  38516. }
  38517. return int32(m_FcTrue)
  38518. }
  38519. func XFcPatternSerialize(tls *libc.TLS, serialize uintptr, pat uintptr) (r uintptr) {
  38520. var elts, elts_serialized, pat_serialized, values_serialized, v2 uintptr
  38521. var i int32
  38522. _, _, _, _, _, _ = elts, elts_serialized, i, pat_serialized, values_serialized, v2
  38523. elts = uintptr(int32(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  38524. pat_serialized = XFcSerializePtr(tls, serialize, pat)
  38525. if !(pat_serialized != 0) {
  38526. return libc.UintptrFromInt32(0)
  38527. }
  38528. *(*TFcPattern)(unsafe.Pointer(pat_serialized)) = *(*TFcPattern)(unsafe.Pointer(pat))
  38529. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Fsize = XIA__FcPatternObjectCount(tls, pat)
  38530. (*TFcRef)(unsafe.Pointer(pat_serialized + 12)).Fcount = -libc.Int32FromInt32(1)
  38531. elts_serialized = XFcSerializePtr(tls, serialize, elts)
  38532. if !(elts_serialized != 0) {
  38533. return libc.UintptrFromInt32(0)
  38534. }
  38535. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Felts_offset = int32(elts_serialized) - int32(pat_serialized)
  38536. i = 0
  38537. for {
  38538. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  38539. break
  38540. }
  38541. if int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  38542. v2 = uintptr(int32(elts+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  38543. } else {
  38544. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*8)).Fvalues
  38545. }
  38546. values_serialized = XFcValueListSerialize(tls, serialize, v2)
  38547. if !(values_serialized != 0) {
  38548. return libc.UintptrFromInt32(0)
  38549. }
  38550. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*8))).Fobject = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*8))).Fobject
  38551. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*8))).Fvalues = uintptr(int32(values_serialized) - Tintptr_t(elts_serialized+uintptr(i)*8) | libc.Int32FromInt32(1))
  38552. goto _1
  38553. _1:
  38554. ;
  38555. i++
  38556. }
  38557. if XFcDebugVal&int32(m_FC_DBG_CACHEV) != 0 {
  38558. libc.Xprintf(tls, __ccgo_ts+6925, 0)
  38559. XIA__FcPatternPrint(tls, pat)
  38560. libc.Xprintf(tls, __ccgo_ts+6939, 0)
  38561. XIA__FcPatternPrint(tls, pat_serialized)
  38562. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  38563. }
  38564. return pat_serialized
  38565. }
  38566. func XFcValueListSerializeAlloc(tls *libc.TLS, serialize uintptr, vl uintptr) (r TFcBool) {
  38567. for vl != 0 {
  38568. if !(XFcSerializeAlloc(tls, serialize, vl, int32(32)) != 0) {
  38569. return m_FcFalse
  38570. }
  38571. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  38572. case int32(_FcTypeString):
  38573. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  38574. return m_FcFalse
  38575. }
  38576. case int32(_FcTypeCharSet):
  38577. if !(XFcCharSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  38578. return m_FcFalse
  38579. }
  38580. case int32(_FcTypeLangSet):
  38581. if !(XFcLangSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  38582. return m_FcFalse
  38583. }
  38584. case int32(_FcTypeRange):
  38585. if !(XFcRangeSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  38586. return m_FcFalse
  38587. }
  38588. default:
  38589. break
  38590. }
  38591. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  38592. }
  38593. return int32(m_FcTrue)
  38594. }
  38595. func XFcValueListSerialize(tls *libc.TLS, serialize uintptr, vl uintptr) (r uintptr) {
  38596. var c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized uintptr
  38597. _, _, _, _, _, _, _ = c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized
  38598. head_serialized = libc.UintptrFromInt32(0)
  38599. prev_serialized = libc.UintptrFromInt32(0)
  38600. for vl != 0 {
  38601. vl_serialized = XFcSerializePtr(tls, serialize, vl)
  38602. if !(vl_serialized != 0) {
  38603. return libc.UintptrFromInt32(0)
  38604. }
  38605. if prev_serialized != 0 {
  38606. (*TFcValueList)(unsafe.Pointer(prev_serialized)).Fnext = uintptr(int32(vl_serialized) - int32(prev_serialized) | libc.Int32FromInt32(1))
  38607. } else {
  38608. head_serialized = vl_serialized
  38609. }
  38610. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fnext = libc.UintptrFromInt32(0)
  38611. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fvalue.Ftype1 = (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1
  38612. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  38613. case int32(_FcTypeInteger):
  38614. *(*int32)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*int32)(unsafe.Pointer(vl + 8 + 8))
  38615. case int32(_FcTypeDouble):
  38616. *(*float64)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*float64)(unsafe.Pointer(vl + 8 + 8))
  38617. case int32(_FcTypeString):
  38618. s_serialized = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  38619. if !(s_serialized != 0) {
  38620. return libc.UintptrFromInt32(0)
  38621. }
  38622. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int32(s_serialized) - Tintptr_t(vl_serialized+8) | libc.Int32FromInt32(1))
  38623. case int32(_FcTypeBool):
  38624. *(*TFcBool)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*TFcBool)(unsafe.Pointer(vl + 8 + 8))
  38625. case int32(_FcTypeMatrix):
  38626. /* can't happen */
  38627. case int32(_FcTypeCharSet):
  38628. c_serialized = XFcCharSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  38629. if !(c_serialized != 0) {
  38630. return libc.UintptrFromInt32(0)
  38631. }
  38632. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int32(c_serialized) - Tintptr_t(vl_serialized+8) | libc.Int32FromInt32(1))
  38633. case int32(_FcTypeFTFace):
  38634. /* can't happen */
  38635. case int32(_FcTypeLangSet):
  38636. l_serialized = XFcLangSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  38637. if !(l_serialized != 0) {
  38638. return libc.UintptrFromInt32(0)
  38639. }
  38640. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int32(l_serialized) - Tintptr_t(vl_serialized+8) | libc.Int32FromInt32(1))
  38641. case int32(_FcTypeRange):
  38642. r_serialized = XFcRangeSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  38643. if !(r_serialized != 0) {
  38644. return libc.UintptrFromInt32(0)
  38645. }
  38646. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int32(r_serialized) - Tintptr_t(vl_serialized+8) | libc.Int32FromInt32(1))
  38647. default:
  38648. break
  38649. }
  38650. prev_serialized = vl_serialized
  38651. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  38652. }
  38653. return head_serialized
  38654. }
  38655. func XIA__FcRangeCreateDouble(tls *libc.TLS, begin float64, end float64) (r uintptr) {
  38656. var ret uintptr
  38657. _ = ret
  38658. ret = libc.Xmalloc(tls, uint32(16))
  38659. if ret != 0 {
  38660. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = begin
  38661. (*TFcRange)(unsafe.Pointer(ret)).Fend = end
  38662. }
  38663. return ret
  38664. }
  38665. var XFcRangeCreateDouble = XIA__FcRangeCreateDouble
  38666. func XIA__FcRangeCreateInteger(tls *libc.TLS, begin TFcChar32, end TFcChar32) (r uintptr) {
  38667. var ret uintptr
  38668. _ = ret
  38669. ret = libc.Xmalloc(tls, uint32(16))
  38670. if ret != 0 {
  38671. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = float64(begin)
  38672. (*TFcRange)(unsafe.Pointer(ret)).Fend = float64(end)
  38673. }
  38674. return ret
  38675. }
  38676. var XFcRangeCreateInteger = XIA__FcRangeCreateInteger
  38677. func XIA__FcRangeDestroy(tls *libc.TLS, range1 uintptr) {
  38678. libc.Xfree(tls, range1)
  38679. }
  38680. var XFcRangeDestroy = XIA__FcRangeDestroy
  38681. func XIA__FcRangeCopy(tls *libc.TLS, range1 uintptr) (r uintptr) {
  38682. return XIA__FcRangeCreateDouble(tls, (*TFcRange)(unsafe.Pointer(range1)).Fbegin, (*TFcRange)(unsafe.Pointer(range1)).Fend)
  38683. }
  38684. var XFcRangeCopy = XIA__FcRangeCopy
  38685. func XIA__FcRangeGetDouble(tls *libc.TLS, range1 uintptr, begin uintptr, end uintptr) (r TFcBool) {
  38686. if !(range1 != 0) {
  38687. return m_FcFalse
  38688. }
  38689. if begin != 0 {
  38690. *(*float64)(unsafe.Pointer(begin)) = (*TFcRange)(unsafe.Pointer(range1)).Fbegin
  38691. }
  38692. if end != 0 {
  38693. *(*float64)(unsafe.Pointer(end)) = (*TFcRange)(unsafe.Pointer(range1)).Fend
  38694. }
  38695. return int32(m_FcTrue)
  38696. }
  38697. var XFcRangeGetDouble = XIA__FcRangeGetDouble
  38698. func XFcRangePromote(tls *libc.TLS, v float64, vbuf uintptr) (r uintptr) {
  38699. var buf uintptr
  38700. _ = buf
  38701. buf = vbuf
  38702. (*struct {
  38703. F__ccgo_align [0]uint32
  38704. Fr TFcRange
  38705. })(unsafe.Pointer(buf)).Fr.Fbegin = v
  38706. (*struct {
  38707. F__ccgo_align [0]uint32
  38708. Fr TFcRange
  38709. })(unsafe.Pointer(buf)).Fr.Fend = v
  38710. return buf
  38711. }
  38712. func XFcRangeIsInRange(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  38713. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fend)
  38714. }
  38715. func XFcRangeCompare(tls *libc.TLS, op TFcOp, a uintptr, b uintptr) (r TFcBool) {
  38716. switch op {
  38717. case int32(_FcOpEqual):
  38718. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin == (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend == (*TFcRange)(unsafe.Pointer(b)).Fend)
  38719. case int32(_FcOpContains):
  38720. fallthrough
  38721. case int32(_FcOpListing):
  38722. return XFcRangeIsInRange(tls, a, b)
  38723. case int32(_FcOpNotEqual):
  38724. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin != (*TFcRange)(unsafe.Pointer(b)).Fbegin || (*TFcRange)(unsafe.Pointer(a)).Fend != (*TFcRange)(unsafe.Pointer(b)).Fend)
  38725. case int32(_FcOpNotContains):
  38726. return libc.BoolInt32(!(XFcRangeIsInRange(tls, a, b) != 0))
  38727. case int32(_FcOpLess):
  38728. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend < (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  38729. case int32(_FcOpLessEqual):
  38730. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  38731. case int32(_FcOpMore):
  38732. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin > (*TFcRange)(unsafe.Pointer(b)).Fend)
  38733. case int32(_FcOpMoreEqual):
  38734. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fend)
  38735. default:
  38736. break
  38737. }
  38738. return m_FcFalse
  38739. }
  38740. func XFcRangeHash(tls *libc.TLS, r uintptr) (r1 TFcChar32) {
  38741. var b, e int32
  38742. _, _ = b, e
  38743. b = int32((*TFcRange)(unsafe.Pointer(r)).Fbegin * libc.Float64FromInt32(100))
  38744. e = int32((*TFcRange)(unsafe.Pointer(r)).Fend * libc.Float64FromInt32(100))
  38745. return libc.Uint32FromInt32(b ^ b<<int32(1) ^ e<<int32(9))
  38746. }
  38747. func XFcRangeSerializeAlloc(tls *libc.TLS, serialize uintptr, r uintptr) (r1 TFcBool) {
  38748. if !(XFcSerializeAlloc(tls, serialize, r, int32(16)) != 0) {
  38749. return m_FcFalse
  38750. }
  38751. return int32(m_FcTrue)
  38752. }
  38753. func XFcRangeSerialize(tls *libc.TLS, serialize uintptr, r uintptr) (r1 uintptr) {
  38754. var r_serialize uintptr
  38755. _ = r_serialize
  38756. r_serialize = XFcSerializePtr(tls, serialize, r)
  38757. if !(r_serialize != 0) {
  38758. return libc.UintptrFromInt32(0)
  38759. }
  38760. libc.Xmemcpy(tls, r_serialize, r, uint32(16))
  38761. return r_serialize
  38762. }
  38763. const m_UINT32_MAX1 = 4294967295
  38764. func XFcAlignSize(tls *libc.TLS, size Tintptr_t) (r Tintptr_t) {
  38765. var rem Tintptr_t
  38766. _ = rem
  38767. rem = libc.Int32FromUint32(libc.Uint32FromInt32(size) % uint32(8))
  38768. if rem != 0 {
  38769. size = Tintptr_t(uint32(size) + (libc.Uint32FromInt64(8) - libc.Uint32FromInt32(rem)))
  38770. }
  38771. return size
  38772. }
  38773. /*
  38774. * Serialization helper object -- allocate space in the
  38775. * yet-to-be-created linear array for a serialized font set
  38776. */
  38777. func XFcSerializeCreate(tls *libc.TLS) (r uintptr) {
  38778. var serialize uintptr
  38779. _ = serialize
  38780. serialize = libc.Xmalloc(tls, uint32(28))
  38781. if !(serialize != 0) {
  38782. return libc.UintptrFromInt32(0)
  38783. }
  38784. (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize = 0
  38785. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = libc.UintptrFromInt32(0)
  38786. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = libc.UintptrFromInt32(0)
  38787. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = libc.UintptrFromInt32(0)
  38788. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = uint32(0)
  38789. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint32(0)
  38790. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = uint32(0)
  38791. return serialize
  38792. }
  38793. func XFcSerializeDestroy(tls *libc.TLS, serialize uintptr) {
  38794. libc.Xfree(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets)
  38795. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  38796. XFcCharSetFreezerDestroy(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer)
  38797. }
  38798. libc.Xfree(tls, serialize)
  38799. }
  38800. func _FcSerializeNextBucketIndex(tls *libc.TLS, serialize uintptr, index Tsize_t) (r Tsize_t) {
  38801. if index == uint32(0) {
  38802. index = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38803. }
  38804. index--
  38805. return index
  38806. }
  38807. // C documentation
  38808. //
  38809. // /*
  38810. // * Based on triple32
  38811. // * https://github.com/skeeto/hash-prospector
  38812. // */
  38813. func _FcSerializeHashPtr(tls *libc.TLS, object uintptr) (r Tuintptr_t) {
  38814. var x Tuintptr_t
  38815. var v1 uint32
  38816. _, _ = x, v1
  38817. x = uint32(object)
  38818. x ^= x >> int32(17)
  38819. x *= uint32(0xed5ad4bb)
  38820. x ^= x >> int32(11)
  38821. x *= uint32(0xac4c1b51)
  38822. x ^= x >> int32(15)
  38823. x *= uint32(0x31848bab)
  38824. x ^= x >> int32(14)
  38825. if x != 0 {
  38826. v1 = x
  38827. } else {
  38828. v1 = uint32(1)
  38829. }
  38830. return v1 /* 0 reserved to mark empty, x starts out 0 */
  38831. }
  38832. func _FcSerializeFind(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  38833. var bucket uintptr
  38834. var buckets_count, index, n Tsize_t
  38835. var hash Tuintptr_t
  38836. _, _, _, _, _ = bucket, buckets_count, hash, index, n
  38837. hash = _FcSerializeHashPtr(tls, object)
  38838. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38839. index = hash & (buckets_count - uint32(1))
  38840. n = uint32(0)
  38841. for {
  38842. if !(n < buckets_count) {
  38843. break
  38844. }
  38845. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*12
  38846. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint32(0) {
  38847. return libc.UintptrFromInt32(0)
  38848. }
  38849. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  38850. return bucket
  38851. }
  38852. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  38853. goto _1
  38854. _1:
  38855. ;
  38856. n++
  38857. }
  38858. return libc.UintptrFromInt32(0)
  38859. }
  38860. func _FcSerializeUncheckedSet(tls *libc.TLS, serialize uintptr, insert uintptr) (r uintptr) {
  38861. var bucket, object uintptr
  38862. var buckets_count, index, n Tsize_t
  38863. _, _, _, _, _ = bucket, buckets_count, index, n, object
  38864. object = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fobject
  38865. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38866. index = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fhash & (buckets_count - uint32(1))
  38867. n = uint32(0)
  38868. for {
  38869. if !(n < buckets_count) {
  38870. break
  38871. }
  38872. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*12
  38873. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint32(0) {
  38874. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  38875. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used++
  38876. return bucket
  38877. }
  38878. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  38879. /* FcSerializeAlloc should not allow this to happen. */
  38880. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  38881. return bucket
  38882. }
  38883. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  38884. goto _1
  38885. _1:
  38886. ;
  38887. n++
  38888. }
  38889. return libc.UintptrFromInt32(0)
  38890. }
  38891. func _FcSerializeResize(tls *libc.TLS, serialize uintptr, new_count Tsize_t) (r TFcBool) {
  38892. var b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end uintptr
  38893. var old_count, old_used Tsize_t
  38894. _, _, _, _, _, _, _, _ = b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end, old_count, old_used
  38895. old_used = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used
  38896. old_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38897. old_buckets = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets
  38898. old_buckets_end = old_buckets + uintptr(old_count)*12
  38899. new_buckets = libc.Xmalloc(tls, new_count*uint32(12))
  38900. if !(new_buckets != 0) {
  38901. return m_FcFalse
  38902. }
  38903. new_buckets_end = new_buckets + uintptr(new_count)*12
  38904. b = new_buckets
  38905. for {
  38906. if !(b < new_buckets_end) {
  38907. break
  38908. }
  38909. (*TFcSerializeBucket)(unsafe.Pointer(b)).Fhash = uint32(0)
  38910. goto _1
  38911. _1:
  38912. ;
  38913. b += 12
  38914. }
  38915. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = new_buckets
  38916. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = new_count
  38917. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint32(0)
  38918. b1 = old_buckets
  38919. for {
  38920. if !(b1 < old_buckets_end) {
  38921. break
  38922. }
  38923. if (*TFcSerializeBucket)(unsafe.Pointer(b1)).Fhash != uint32(0) && !(_FcSerializeUncheckedSet(tls, serialize, b1) != 0) {
  38924. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = old_buckets
  38925. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = old_count
  38926. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = old_used
  38927. libc.Xfree(tls, new_buckets)
  38928. return m_FcFalse
  38929. }
  38930. goto _2
  38931. _2:
  38932. ;
  38933. b1 += 12
  38934. }
  38935. libc.Xfree(tls, old_buckets)
  38936. return int32(m_FcTrue)
  38937. }
  38938. func _FcSerializeSet(tls *libc.TLS, serialize uintptr, object uintptr, offset Tintptr_t) (r uintptr) {
  38939. bp := tls.Alloc(16)
  38940. defer tls.Free(16)
  38941. var capacity Tsize_t
  38942. var _ /* bucket at bp+0 */ TFcSerializeBucket
  38943. _ = capacity
  38944. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used >= (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max {
  38945. capacity = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38946. if capacity == uint32(0) {
  38947. capacity = uint32(4)
  38948. } else {
  38949. if capacity > libc.Uint32FromUint32(0xffffffff)/libc.Uint32FromUint32(2) {
  38950. return libc.UintptrFromInt32(0)
  38951. } else {
  38952. capacity *= uint32(2)
  38953. }
  38954. }
  38955. if !(_FcSerializeResize(tls, serialize, capacity) != 0) {
  38956. return libc.UintptrFromInt32(0)
  38957. }
  38958. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = capacity / uint32(4) * uint32(3)
  38959. }
  38960. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fobject = object
  38961. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Foffset = offset
  38962. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fhash = _FcSerializeHashPtr(tls, object)
  38963. return _FcSerializeUncheckedSet(tls, serialize, bp)
  38964. }
  38965. // C documentation
  38966. //
  38967. // /*
  38968. // * Allocate space for an object in the serialized array. Keep track
  38969. // * of where the object is placed and only allocate one copy of each object
  38970. // */
  38971. func XFcSerializeAlloc(tls *libc.TLS, serialize uintptr, object uintptr, size int32) (r TFcBool) {
  38972. var bucket uintptr
  38973. _ = bucket
  38974. bucket = _FcSerializeFind(tls, serialize, object)
  38975. if bucket != 0 {
  38976. return int32(m_FcTrue)
  38977. }
  38978. if !(_FcSerializeSet(tls, serialize, object, (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize) != 0) {
  38979. return m_FcFalse
  38980. }
  38981. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, size)
  38982. return int32(m_FcTrue)
  38983. }
  38984. // C documentation
  38985. //
  38986. // /*
  38987. // * Reserve space in the serialization array
  38988. // */
  38989. func XFcSerializeReserve(tls *libc.TLS, serialize uintptr, size int32) (r Tintptr_t) {
  38990. var offset Tintptr_t
  38991. _ = offset
  38992. offset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  38993. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, size)
  38994. return offset
  38995. }
  38996. // C documentation
  38997. //
  38998. // /*
  38999. // * Given an object, return the offset in the serialized array where
  39000. // * the serialized copy of the object is stored
  39001. // */
  39002. func XFcSerializeOffset(tls *libc.TLS, serialize uintptr, object uintptr) (r Tintptr_t) {
  39003. var bucket uintptr
  39004. var v1 int32
  39005. _, _ = bucket, v1
  39006. bucket = _FcSerializeFind(tls, serialize, object)
  39007. if bucket != 0 {
  39008. v1 = (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Foffset
  39009. } else {
  39010. v1 = 0
  39011. }
  39012. return v1
  39013. }
  39014. // C documentation
  39015. //
  39016. // /*
  39017. // * Given a cache and an object, return a pointer to where
  39018. // * the serialized copy of the object is stored
  39019. // */
  39020. func XFcSerializePtr(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  39021. var offset Tintptr_t
  39022. _ = offset
  39023. offset = XFcSerializeOffset(tls, serialize, object)
  39024. if !(offset != 0) {
  39025. return libc.UintptrFromInt32(0)
  39026. }
  39027. return (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear + uintptr(offset)
  39028. }
  39029. func XFcStrSerializeAlloc(tls *libc.TLS, serialize uintptr, str uintptr) (r TFcBool) {
  39030. return XFcSerializeAlloc(tls, serialize, str, libc.Int32FromUint32(libc.Xstrlen(tls, str)+uint32(1)))
  39031. }
  39032. func XFcStrSerialize(tls *libc.TLS, serialize uintptr, str uintptr) (r uintptr) {
  39033. var str_serialize uintptr
  39034. _ = str_serialize
  39035. str_serialize = XFcSerializePtr(tls, serialize, str)
  39036. if !(str_serialize != 0) {
  39037. return libc.UintptrFromInt32(0)
  39038. }
  39039. libc.Xstrcpy(tls, str_serialize, str)
  39040. return str_serialize
  39041. }
  39042. const m_CANBSIZ = 255
  39043. const m_DEV_BSIZE = 512
  39044. const m_FC_ARCH_ENDIAN1 = "le"
  39045. const m_FC_DIR_SEPARATOR3 = 47
  39046. const m_FIOASYNC = 0x5452
  39047. const m_FIOCLEX = 0x5451
  39048. const m_FIOGETOWN = 0x8903
  39049. const m_FIONBIO = 0x5421
  39050. const m_FIONCLEX = 0x5450
  39051. const m_FIONREAD = 0x541B
  39052. const m_FIOSETOWN = 0x8901
  39053. const m_MAXHOSTNAMELEN = 64
  39054. const m_MAXNAMLEN = 255
  39055. const m_MAXPATHLEN = 4096
  39056. const m_MAXSYMLINKS = 20
  39057. const m_MNT_DETACH = 2
  39058. const m_MNT_EXPIRE = 4
  39059. const m_MNT_FORCE = 1
  39060. const m_MS_BIND = 4096
  39061. const m_MS_DIRSYNC = 128
  39062. const m_MS_MANDLOCK = 64
  39063. const m_MS_MGC_MSK = 0xffff0000
  39064. const m_MS_MGC_VAL = 0xc0ed0000
  39065. const m_MS_MOVE = 8192
  39066. const m_MS_NOATIME = 1024
  39067. const m_MS_NODEV = 4
  39068. const m_MS_NODIRATIME = 2048
  39069. const m_MS_NOEXEC = 8
  39070. const m_MS_NOSUID = 2
  39071. const m_MS_NOSYMFOLLOW = 256
  39072. const m_MS_RDONLY = 1
  39073. const m_MS_REC = 16384
  39074. const m_MS_REMOUNT = 32
  39075. const m_MS_SILENT = 32768
  39076. const m_MS_SYNCHRONOUS = 16
  39077. const m_NBBY = 8
  39078. const m_NCARGS = 131072
  39079. const m_NGROUPS = 32
  39080. const m_NOFILE = 256
  39081. const m_N_6PACK = 7
  39082. const m_N_AX25 = 5
  39083. const m_N_CAIF = 20
  39084. const m_N_GIGASET_M101 = 16
  39085. const m_N_GSM0710 = 21
  39086. const m_N_HCI = 15
  39087. const m_N_HDLC = 13
  39088. const m_N_IRDA = 11
  39089. const m_N_MASC = 8
  39090. const m_N_MOUSE = 2
  39091. const m_N_NCI = 25
  39092. const m_N_NULL = 27
  39093. const m_N_PPP = 3
  39094. const m_N_PPS = 18
  39095. const m_N_PROFIBUS_FDL = 10
  39096. const m_N_R3964 = 9
  39097. const m_N_SLCAN = 17
  39098. const m_N_SLIP = 1
  39099. const m_N_SMSBLOCK = 12
  39100. const m_N_SPEAKUP = 26
  39101. const m_N_STRIP = 4
  39102. const m_N_SYNC_PPP = 14
  39103. const m_N_TI_WL = 22
  39104. const m_N_TRACEROUTER = 24
  39105. const m_N_TRACESINK = 23
  39106. const m_N_TTY = 0
  39107. const m_N_V253 = 19
  39108. const m_N_X25 = 6
  39109. const m_O_CLOEXEC2 = 02000000
  39110. const m_O_CREAT1 = 0100
  39111. const m_O_LARGEFILE2 = 0400000
  39112. const m_O_RDONLY2 = 0
  39113. const m_PRIO_MAX = 20
  39114. const m_PRIO_PGRP = 1
  39115. const m_PRIO_PROCESS = 0
  39116. const m_PRIO_USER = 2
  39117. const m_RLIMIT_AS = 9
  39118. const m_RLIMIT_CORE = 4
  39119. const m_RLIMIT_CPU = 0
  39120. const m_RLIMIT_DATA = 2
  39121. const m_RLIMIT_FSIZE = 1
  39122. const m_RLIMIT_LOCKS = 10
  39123. const m_RLIMIT_MEMLOCK = 8
  39124. const m_RLIMIT_MSGQUEUE = 12
  39125. const m_RLIMIT_NICE = 13
  39126. const m_RLIMIT_NLIMITS = 16
  39127. const m_RLIMIT_NOFILE = 7
  39128. const m_RLIMIT_NPROC = 6
  39129. const m_RLIMIT_RSS = 5
  39130. const m_RLIMIT_RTPRIO = 14
  39131. const m_RLIMIT_RTTIME = 15
  39132. const m_RLIMIT_SIGPENDING = 11
  39133. const m_RLIMIT_STACK = 3
  39134. const m_RLIM_NLIMITS = "RLIMIT_NLIMITS"
  39135. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  39136. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  39137. const m_RUSAGE_SELF = 0
  39138. const m_RUSAGE_THREAD = 1
  39139. const m_SIOCADDDLCI = 0x8980
  39140. const m_SIOCADDMULTI = 0x8931
  39141. const m_SIOCADDRT = 0x890B
  39142. const m_SIOCATMARK = 0x8905
  39143. const m_SIOCDARP = 0x8953
  39144. const m_SIOCDELDLCI = 0x8981
  39145. const m_SIOCDELMULTI = 0x8932
  39146. const m_SIOCDELRT = 0x890C
  39147. const m_SIOCDEVPRIVATE = 0x89F0
  39148. const m_SIOCDIFADDR = 0x8936
  39149. const m_SIOCDRARP = 0x8960
  39150. const m_SIOCGARP = 0x8954
  39151. const m_SIOCGIFADDR = 0x8915
  39152. const m_SIOCGIFBR = 0x8940
  39153. const m_SIOCGIFBRDADDR = 0x8919
  39154. const m_SIOCGIFCONF = 0x8912
  39155. const m_SIOCGIFCOUNT = 0x8938
  39156. const m_SIOCGIFDSTADDR = 0x8917
  39157. const m_SIOCGIFENCAP = 0x8925
  39158. const m_SIOCGIFFLAGS = 0x8913
  39159. const m_SIOCGIFHWADDR = 0x8927
  39160. const m_SIOCGIFINDEX = 0x8933
  39161. const m_SIOCGIFMAP = 0x8970
  39162. const m_SIOCGIFMEM = 0x891f
  39163. const m_SIOCGIFMETRIC = 0x891d
  39164. const m_SIOCGIFMTU = 0x8921
  39165. const m_SIOCGIFNAME = 0x8910
  39166. const m_SIOCGIFNETMASK = 0x891b
  39167. const m_SIOCGIFPFLAGS = 0x8935
  39168. const m_SIOCGIFSLAVE = 0x8929
  39169. const m_SIOCGIFTXQLEN = 0x8942
  39170. const m_SIOCGPGRP = 0x8904
  39171. const m_SIOCGRARP = 0x8961
  39172. const m_SIOCPROTOPRIVATE = 0x89E0
  39173. const m_SIOCRTMSG = 0x890D
  39174. const m_SIOCSARP = 0x8955
  39175. const m_SIOCSIFADDR = 0x8916
  39176. const m_SIOCSIFBR = 0x8941
  39177. const m_SIOCSIFBRDADDR = 0x891a
  39178. const m_SIOCSIFDSTADDR = 0x8918
  39179. const m_SIOCSIFENCAP = 0x8926
  39180. const m_SIOCSIFFLAGS = 0x8914
  39181. const m_SIOCSIFHWADDR = 0x8924
  39182. const m_SIOCSIFHWBROADCAST = 0x8937
  39183. const m_SIOCSIFLINK = 0x8911
  39184. const m_SIOCSIFMAP = 0x8971
  39185. const m_SIOCSIFMEM = 0x8920
  39186. const m_SIOCSIFMETRIC = 0x891e
  39187. const m_SIOCSIFMTU = 0x8922
  39188. const m_SIOCSIFNAME = 0x8923
  39189. const m_SIOCSIFNETMASK = 0x891c
  39190. const m_SIOCSIFPFLAGS = 0x8934
  39191. const m_SIOCSIFSLAVE = 0x8930
  39192. const m_SIOCSIFTXQLEN = 0x8943
  39193. const m_SIOCSPGRP = 0x8902
  39194. const m_SIOCSRARP = 0x8962
  39195. const m_SIOGIFINDEX = "SIOCGIFINDEX"
  39196. const m_ST_APPEND = 256
  39197. const m_ST_IMMUTABLE = 512
  39198. const m_ST_MANDLOCK = 64
  39199. const m_ST_NOATIME = 1024
  39200. const m_ST_NODEV = 4
  39201. const m_ST_NODIRATIME = 2048
  39202. const m_ST_NOEXEC = 8
  39203. const m_ST_NOSUID = 2
  39204. const m_ST_RDONLY = 1
  39205. const m_ST_RELATIME = 4096
  39206. const m_ST_SYNCHRONOUS = 16
  39207. const m_ST_WRITE = 128
  39208. const m_S_IFDIR3 = 16384
  39209. const m_S_IFMT5 = 61440
  39210. const m_TCFLSH = 0x540B
  39211. const m_TCGETA = 0x5405
  39212. const m_TCGETS = 0x5401
  39213. const m_TCGETX = 0x5432
  39214. const m_TCSBRK = 0x5409
  39215. const m_TCSBRKP = 0x5425
  39216. const m_TCSETA = 0x5406
  39217. const m_TCSETAF = 0x5408
  39218. const m_TCSETAW = 0x5407
  39219. const m_TCSETS = 0x5402
  39220. const m_TCSETSF = 0x5404
  39221. const m_TCSETSW = 0x5403
  39222. const m_TCSETX = 0x5433
  39223. const m_TCSETXF = 0x5434
  39224. const m_TCSETXW = 0x5435
  39225. const m_TCXONC = 0x540A
  39226. const m_TIOCCBRK = 0x5428
  39227. const m_TIOCCONS = 0x541D
  39228. const m_TIOCEXCL = 0x540C
  39229. const m_TIOCGDEV = 0x80045432
  39230. const m_TIOCGETD = 0x5424
  39231. const m_TIOCGEXCL = 0x80045440
  39232. const m_TIOCGICOUNT = 0x545D
  39233. const m_TIOCGISO7816 = 0x80285442
  39234. const m_TIOCGLCKTRMIOS = 0x5456
  39235. const m_TIOCGPGRP = 0x540F
  39236. const m_TIOCGPKT = 0x80045438
  39237. const m_TIOCGPTLCK = 0x80045439
  39238. const m_TIOCGPTN = 0x80045430
  39239. const m_TIOCGPTPEER = 0x5441
  39240. const m_TIOCGRS485 = 0x542E
  39241. const m_TIOCGSERIAL = 0x541E
  39242. const m_TIOCGSID = 0x5429
  39243. const m_TIOCGSOFTCAR = 0x5419
  39244. const m_TIOCGWINSZ = 0x5413
  39245. const m_TIOCINQ = "FIONREAD"
  39246. const m_TIOCLINUX = 0x541C
  39247. const m_TIOCMBIC = 0x5417
  39248. const m_TIOCMBIS = 0x5416
  39249. const m_TIOCMGET = 0x5415
  39250. const m_TIOCMIWAIT = 0x545C
  39251. const m_TIOCMSET = 0x5418
  39252. const m_TIOCM_CAR = 0x040
  39253. const m_TIOCM_CD = "TIOCM_CAR"
  39254. const m_TIOCM_CTS = 0x020
  39255. const m_TIOCM_DSR = 0x100
  39256. const m_TIOCM_DTR = 0x002
  39257. const m_TIOCM_LE = 0x001
  39258. const m_TIOCM_LOOP = 0x8000
  39259. const m_TIOCM_OUT1 = 0x2000
  39260. const m_TIOCM_OUT2 = 0x4000
  39261. const m_TIOCM_RI = "TIOCM_RNG"
  39262. const m_TIOCM_RNG = 0x080
  39263. const m_TIOCM_RTS = 0x004
  39264. const m_TIOCM_SR = 0x010
  39265. const m_TIOCM_ST = 0x008
  39266. const m_TIOCNOTTY = 0x5422
  39267. const m_TIOCNXCL = 0x540D
  39268. const m_TIOCOUTQ = 0x5411
  39269. const m_TIOCPKT = 0x5420
  39270. const m_TIOCPKT_DATA = 0
  39271. const m_TIOCPKT_DOSTOP = 32
  39272. const m_TIOCPKT_FLUSHREAD = 1
  39273. const m_TIOCPKT_FLUSHWRITE = 2
  39274. const m_TIOCPKT_IOCTL = 64
  39275. const m_TIOCPKT_NOSTOP = 16
  39276. const m_TIOCPKT_START = 8
  39277. const m_TIOCPKT_STOP = 4
  39278. const m_TIOCSBRK = 0x5427
  39279. const m_TIOCSCTTY = 0x540E
  39280. const m_TIOCSERCONFIG = 0x5453
  39281. const m_TIOCSERGETLSR = 0x5459
  39282. const m_TIOCSERGETMULTI = 0x545A
  39283. const m_TIOCSERGSTRUCT = 0x5458
  39284. const m_TIOCSERGWILD = 0x5454
  39285. const m_TIOCSERSETMULTI = 0x545B
  39286. const m_TIOCSERSWILD = 0x5455
  39287. const m_TIOCSER_TEMT = 1
  39288. const m_TIOCSETD = 0x5423
  39289. const m_TIOCSIG = 0x40045436
  39290. const m_TIOCSISO7816 = 0xc0285443
  39291. const m_TIOCSLCKTRMIOS = 0x5457
  39292. const m_TIOCSPGRP = 0x5410
  39293. const m_TIOCSPTLCK = 0x40045431
  39294. const m_TIOCSRS485 = 0x542F
  39295. const m_TIOCSSERIAL = 0x541F
  39296. const m_TIOCSSOFTCAR = 0x541A
  39297. const m_TIOCSTI = 0x5412
  39298. const m_TIOCSWINSZ = 0x5414
  39299. const m_TIOCVHANGUP = 0x5437
  39300. const m_UINT32_MAX2 = "0xffffffffu"
  39301. const m_UMOUNT_NOFOLLOW = 8
  39302. const m__IOC_NONE = 0
  39303. const m__IOC_READ = 2
  39304. const m__IOC_WRITE = 1
  39305. const m_prlimit64 = "prlimit"
  39306. type Tstatvfs = struct {
  39307. F__ccgo_align [0]uint32
  39308. Ff_bsize uint32
  39309. Ff_frsize uint32
  39310. Ff_blocks Tfsblkcnt_t
  39311. Ff_bfree Tfsblkcnt_t
  39312. Ff_bavail Tfsblkcnt_t
  39313. Ff_files Tfsfilcnt_t
  39314. Ff_ffree Tfsfilcnt_t
  39315. Ff_favail Tfsfilcnt_t
  39316. Ff_fsid uint32
  39317. F__ccgo60 uint32
  39318. Ff_flag uint32
  39319. Ff_namemax uint32
  39320. Ff_type uint32
  39321. F__reserved [5]int32
  39322. }
  39323. type Tfsid_t = struct {
  39324. F__val [2]int32
  39325. }
  39326. type t__fsid_t = Tfsid_t
  39327. type Tstatfs = struct {
  39328. F__ccgo_align [0]uint32
  39329. Ff_type uint32
  39330. Ff_bsize uint32
  39331. Ff_blocks Tfsblkcnt_t
  39332. Ff_bfree Tfsblkcnt_t
  39333. Ff_bavail Tfsblkcnt_t
  39334. Ff_files Tfsfilcnt_t
  39335. Ff_ffree Tfsfilcnt_t
  39336. Ff_fsid Tfsid_t
  39337. Ff_namelen uint32
  39338. Ff_frsize uint32
  39339. Ff_flags uint32
  39340. Ff_spare [4]uint32
  39341. F__ccgo_pad12 [4]byte
  39342. }
  39343. type Trlim_t = uint64
  39344. type Trlimit = struct {
  39345. F__ccgo_align [0]uint32
  39346. Frlim_cur Trlim_t
  39347. Frlim_max Trlim_t
  39348. }
  39349. type Trusage = struct {
  39350. F__ccgo_align [0]uint32
  39351. Fru_utime Ttimeval
  39352. Fru_stime Ttimeval
  39353. Fru_maxrss int32
  39354. Fru_ixrss int32
  39355. Fru_idrss int32
  39356. Fru_isrss int32
  39357. Fru_minflt int32
  39358. Fru_majflt int32
  39359. Fru_nswap int32
  39360. Fru_inblock int32
  39361. Fru_oublock int32
  39362. Fru_msgsnd int32
  39363. Fru_msgrcv int32
  39364. Fru_nsignals int32
  39365. Fru_nvcsw int32
  39366. Fru_nivcsw int32
  39367. F__reserved [16]int32
  39368. }
  39369. type Twinsize = struct {
  39370. Fws_row uint16
  39371. Fws_col uint16
  39372. Fws_xpixel uint16
  39373. Fws_ypixel uint16
  39374. }
  39375. func XFcStat(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  39376. return libc.Xstat(tls, file, statb)
  39377. }
  39378. /* Adler-32 checksum implementation */
  39379. type TAdler32 = struct {
  39380. Fa int32
  39381. Fb int32
  39382. }
  39383. func _Adler32Init(tls *libc.TLS, ctx uintptr) {
  39384. (*TAdler32)(unsafe.Pointer(ctx)).Fa = int32(1)
  39385. (*TAdler32)(unsafe.Pointer(ctx)).Fb = 0
  39386. }
  39387. func _Adler32Update(tls *libc.TLS, ctx uintptr, data uintptr, data_len int32) {
  39388. var v1 int32
  39389. var v2 uintptr
  39390. _, _ = v1, v2
  39391. for {
  39392. v1 = data_len
  39393. data_len--
  39394. if !(v1 != 0) {
  39395. break
  39396. }
  39397. v2 = data
  39398. data++
  39399. (*TAdler32)(unsafe.Pointer(ctx)).Fa = ((*TAdler32)(unsafe.Pointer(ctx)).Fa + libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v2)))) % int32(65521)
  39400. (*TAdler32)(unsafe.Pointer(ctx)).Fb = ((*TAdler32)(unsafe.Pointer(ctx)).Fb + (*TAdler32)(unsafe.Pointer(ctx)).Fa) % int32(65521)
  39401. }
  39402. }
  39403. func _Adler32Finish(tls *libc.TLS, ctx uintptr) (r int32) {
  39404. return (*TAdler32)(unsafe.Pointer(ctx)).Fa + (*TAdler32)(unsafe.Pointer(ctx)).Fb<<int32(16)
  39405. }
  39406. // C documentation
  39407. //
  39408. // /* dirent.d_type can be relied upon on FAT filesystem */
  39409. func _FcDirChecksumScandirFilter(tls *libc.TLS, entry uintptr) (r TFcBool) {
  39410. return libc.BoolInt32(libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(entry)).Fd_type) != int32(m_DT_DIR))
  39411. }
  39412. func _FcDirChecksumScandirSorter(tls *libc.TLS, lhs uintptr, rhs uintptr) (r int32) {
  39413. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(lhs))+19, *(*uintptr)(unsafe.Pointer(rhs))+19)
  39414. }
  39415. func _free_dirent(tls *libc.TLS, p uintptr) {
  39416. var x uintptr
  39417. _ = x
  39418. x = p
  39419. for {
  39420. if !(*(*uintptr)(unsafe.Pointer(x)) != libc.UintptrFromInt32(0)) {
  39421. break
  39422. }
  39423. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(x)))
  39424. goto _1
  39425. _1:
  39426. ;
  39427. x += 4
  39428. }
  39429. libc.Xfree(tls, p)
  39430. }
  39431. func XFcScandir(tls *libc.TLS, dirp uintptr, namelist uintptr, filter uintptr, compar uintptr) (r int32) {
  39432. var d, dent, dlist, dlp, p, v1 uintptr
  39433. var dentlen, lsize, n, v2 Tsize_t
  39434. _, _, _, _, _, _, _, _, _, _ = d, dent, dentlen, dlist, dlp, lsize, n, p, v1, v2
  39435. lsize = uint32(128)
  39436. n = uint32(0)
  39437. d = libc.Xopendir(tls, dirp)
  39438. if !(d != 0) {
  39439. return -int32(1)
  39440. }
  39441. dlist = libc.Xmalloc(tls, uint32(4)*lsize)
  39442. if !(dlist != 0) {
  39443. libc.Xclosedir(tls, d)
  39444. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39445. return -int32(1)
  39446. }
  39447. *(*uintptr)(unsafe.Pointer(dlist)) = libc.UintptrFromInt32(0)
  39448. for {
  39449. v1 = libc.Xreaddir(tls, d)
  39450. dent = v1
  39451. if !(v1 != 0) {
  39452. break
  39453. }
  39454. if !(filter != 0) || (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{filter})))(tls, dent) != 0 {
  39455. dentlen = libc.Uint32FromInt32(Tintptr_t(dent+19)-int32(dent)) + libc.Xstrlen(tls, dent+19) + uint32(1)
  39456. dentlen = (dentlen + libc.Uint32FromInt32(m_ALIGNOF_VOID_P) - libc.Uint32FromInt32(1)) & libc.Uint32FromInt32(^(libc.Int32FromInt32(m_ALIGNOF_VOID_P) - libc.Int32FromInt32(1)))
  39457. p = libc.Xmalloc(tls, dentlen)
  39458. if !(p != 0) {
  39459. _free_dirent(tls, dlist)
  39460. libc.Xclosedir(tls, d)
  39461. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39462. return -int32(1)
  39463. }
  39464. libc.Xmemcpy(tls, p, dent, dentlen)
  39465. if n+uint32(1) >= lsize {
  39466. lsize += uint32(128)
  39467. dlp = libc.Xrealloc(tls, dlist, uint32(4)*lsize)
  39468. if !(dlp != 0) {
  39469. libc.Xfree(tls, p)
  39470. _free_dirent(tls, dlist)
  39471. libc.Xclosedir(tls, d)
  39472. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39473. return -int32(1)
  39474. }
  39475. dlist = dlp
  39476. }
  39477. v2 = n
  39478. n++
  39479. *(*uintptr)(unsafe.Pointer(dlist + uintptr(v2)*4)) = p
  39480. *(*uintptr)(unsafe.Pointer(dlist + uintptr(n)*4)) = libc.UintptrFromInt32(0)
  39481. }
  39482. }
  39483. libc.Xclosedir(tls, d)
  39484. libc.Xqsort(tls, dlist, n, uint32(4), compar)
  39485. *(*uintptr)(unsafe.Pointer(namelist)) = dlist
  39486. return libc.Int32FromUint32(n)
  39487. }
  39488. func _FcDirChecksum1(tls *libc.TLS, dir uintptr, checksum uintptr) (r int32) {
  39489. bp := tls.Alloc(176)
  39490. defer tls.Free(176)
  39491. var dlen, len1 Tsize_t
  39492. var f uintptr
  39493. var n, ret, v1 int32
  39494. var _ /* ctx at bp+0 */ TAdler32
  39495. var _ /* dtype at bp+12 */ int32
  39496. var _ /* files at bp+8 */ uintptr
  39497. var _ /* statb at bp+16 */ Tstat
  39498. _, _, _, _, _, _ = dlen, f, len1, n, ret, v1
  39499. ret = 0
  39500. len1 = libc.Xstrlen(tls, dir)
  39501. _Adler32Init(tls, bp)
  39502. n = XFcScandir(tls, dir, bp+8, __ccgo_fp(_FcDirChecksumScandirFilter), __ccgo_fp(_FcDirChecksumScandirSorter))
  39503. if n == -int32(1) {
  39504. return -int32(1)
  39505. }
  39506. for {
  39507. v1 = n
  39508. n--
  39509. if !(v1 != 0) {
  39510. break
  39511. }
  39512. dlen = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4))+19)
  39513. *(*int32)(unsafe.Pointer(bp + 12)) = libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4)))).Fd_type)
  39514. if *(*int32)(unsafe.Pointer(bp + 12)) == m_DT_UNKNOWN {
  39515. f = libc.Xmalloc(tls, len1+uint32(1)+dlen+uint32(1))
  39516. if !(f != 0) {
  39517. ret = -int32(1)
  39518. goto bail
  39519. }
  39520. libc.Xmemcpy(tls, f, dir, len1)
  39521. *(*uint8)(unsafe.Pointer(f + uintptr(len1))) = uint8('/')
  39522. libc.Xmemcpy(tls, f+uintptr(len1+uint32(1)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4))+19, dlen)
  39523. *(*uint8)(unsafe.Pointer(f + uintptr(len1+uint32(1)+dlen))) = uint8(0)
  39524. if libc.Xlstat(tls, f, bp+16) < 0 {
  39525. ret = -int32(1)
  39526. libc.Xfree(tls, f)
  39527. goto bail
  39528. }
  39529. if (*(*Tstat)(unsafe.Pointer(bp + 16))).Fst_mode&uint32(m_S_IFMT5) == uint32(m_S_IFDIR3) {
  39530. libc.Xfree(tls, f)
  39531. goto bail
  39532. }
  39533. libc.Xfree(tls, f)
  39534. *(*int32)(unsafe.Pointer(bp + 12)) = libc.Int32FromUint32((*(*Tstat)(unsafe.Pointer(bp + 16))).Fst_mode)
  39535. }
  39536. _Adler32Update(tls, bp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4))+19, libc.Int32FromUint32(dlen+uint32(1)))
  39537. _Adler32Update(tls, bp, bp+12, int32(4))
  39538. goto bail
  39539. bail:
  39540. ;
  39541. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4)))
  39542. }
  39543. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39544. if ret == -int32(1) {
  39545. return -int32(1)
  39546. }
  39547. *(*Ttime_t)(unsafe.Pointer(checksum)) = int64(_Adler32Finish(tls, bp))
  39548. return 0
  39549. }
  39550. func XFcStatChecksum(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  39551. if XFcStat(tls, file, statb) == -int32(1) {
  39552. return -int32(1)
  39553. }
  39554. /* We have a workaround of the broken stat() in FcStat() for Win32.
  39555. * No need to do something further more.
  39556. */
  39557. if XFcIsFsMtimeBroken(tls, file) != 0 {
  39558. if _FcDirChecksum1(tls, file, statb+120) == -int32(1) {
  39559. return -int32(1)
  39560. }
  39561. }
  39562. return 0
  39563. }
  39564. func _FcFStatFs(tls *libc.TLS, fd int32, statb uintptr) (r int32) {
  39565. bp := tls.Alloc(96)
  39566. defer tls.Free(96)
  39567. var flag TFcBool
  39568. var p uintptr
  39569. var ret, v1 int32
  39570. var _ /* buf at bp+0 */ Tstatfs
  39571. _, _, _, _ = flag, p, ret, v1
  39572. p = libc.UintptrFromInt32(0)
  39573. ret = -int32(1)
  39574. flag = m_FcFalse
  39575. libc.Xmemset(tls, statb, 0, uint32(8))
  39576. v1 = libc.Xfstatfs(tls, fd, bp)
  39577. ret = v1
  39578. if v1 == 0 {
  39579. switch (*(*Tstatfs)(unsafe.Pointer(bp))).Ff_type {
  39580. case uint32(0x6969): /* nfs */
  39581. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  39582. case uint32(0x4d44): /* fat */
  39583. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  39584. default:
  39585. break
  39586. }
  39587. return ret
  39588. }
  39589. if p != 0 {
  39590. if !(flag != 0) && libc.Xstrcmp(tls, p, __ccgo_ts+6960) == 0 {
  39591. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  39592. }
  39593. if libc.Xstrcmp(tls, p, __ccgo_ts+6964) == 0 || libc.Xstrcmp(tls, p, __ccgo_ts+6972) == 0 {
  39594. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  39595. }
  39596. }
  39597. return ret
  39598. }
  39599. func XFcIsFsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  39600. bp := tls.Alloc(16)
  39601. defer tls.Free(16)
  39602. var _ /* statb at bp+0 */ TFcStatFS
  39603. if _FcFStatFs(tls, fd, bp) < 0 {
  39604. return int32(m_FcTrue)
  39605. }
  39606. return libc.BoolInt32(!((*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_remote_fs != 0))
  39607. }
  39608. func XFcIsFsMtimeBroken(tls *libc.TLS, dir uintptr) (r TFcBool) {
  39609. bp := tls.Alloc(16)
  39610. defer tls.Free(16)
  39611. var fd, ret int32
  39612. var _ /* statb at bp+0 */ TFcStatFS
  39613. _, _ = fd, ret
  39614. fd = XFcOpen(tls, dir, m_O_RDONLY2, 0)
  39615. if fd != -int32(1) {
  39616. ret = _FcFStatFs(tls, fd, bp)
  39617. libc.Xclose(tls, fd)
  39618. if ret < 0 {
  39619. return m_FcFalse
  39620. }
  39621. return (*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_mtime_broken
  39622. }
  39623. return m_FcFalse
  39624. }
  39625. const m_FC_MAX_CASE_FOLD_CHARS = 6
  39626. const m_FC_MAX_CASE_FOLD_EXPAND = 4
  39627. const m_FC_MAX_FOLD_CHAR = 125217
  39628. const m_FC_MIN_FOLD_CHAR = 65
  39629. const m_FC_NUM_CASE_FOLD = 302
  39630. const m_FC_NUM_CASE_FOLD_CHARS = 471
  39631. const m_S_IFDIR4 = 0040000
  39632. const m_S_IFMT6 = 0170000
  39633. /* Objects MT-safe for readonly access. */
  39634. func XIA__FcStrCopy(tls *libc.TLS, s uintptr) (r uintptr) {
  39635. return libc.Xstrdup(tls, s)
  39636. }
  39637. var XFcStrCopy = XIA__FcStrCopy
  39638. func _FcStrMakeTriple(tls *libc.TLS, s1 uintptr, s2 uintptr, s3 uintptr) (r uintptr) {
  39639. var l, s1l, s2l, s3l int32
  39640. var s uintptr
  39641. var v1, v2, v3 uint32
  39642. _, _, _, _, _, _, _, _ = l, s, s1l, s2l, s3l, v1, v2, v3
  39643. if s1 != 0 {
  39644. v1 = libc.Xstrlen(tls, s1)
  39645. } else {
  39646. v1 = uint32(0)
  39647. }
  39648. s1l = libc.Int32FromUint32(v1)
  39649. if s2 != 0 {
  39650. v2 = libc.Xstrlen(tls, s2)
  39651. } else {
  39652. v2 = uint32(0)
  39653. }
  39654. s2l = libc.Int32FromUint32(v2)
  39655. if s3 != 0 {
  39656. v3 = libc.Xstrlen(tls, s3)
  39657. } else {
  39658. v3 = uint32(0)
  39659. }
  39660. s3l = libc.Int32FromUint32(v3)
  39661. l = s1l + int32(1) + s2l + int32(1) + s3l + int32(1)
  39662. s = libc.Xmalloc(tls, libc.Uint32FromInt32(l))
  39663. if !(s != 0) {
  39664. return uintptr(0)
  39665. }
  39666. if s1 != 0 {
  39667. libc.Xmemcpy(tls, s, s1, libc.Uint32FromInt32(s1l+int32(1)))
  39668. } else {
  39669. *(*TFcChar8)(unsafe.Pointer(s)) = uint8('\000')
  39670. }
  39671. if s2 != 0 {
  39672. libc.Xmemcpy(tls, s+uintptr(s1l)+uintptr(1), s2, libc.Uint32FromInt32(s2l+int32(1)))
  39673. } else {
  39674. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)))) = uint8('\000')
  39675. }
  39676. if s3 != 0 {
  39677. libc.Xmemcpy(tls, s+uintptr(s1l)+uintptr(1)+uintptr(s2l)+uintptr(1), s3, libc.Uint32FromInt32(s3l+int32(1)))
  39678. } else {
  39679. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)+s2l+int32(1)))) = uint8('\000')
  39680. }
  39681. return s
  39682. }
  39683. func XIA__FcStrPlus(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  39684. var l, s1l, s2l int32
  39685. var s uintptr
  39686. _, _, _, _ = l, s, s1l, s2l
  39687. s1l = libc.Int32FromUint32(libc.Xstrlen(tls, s1))
  39688. s2l = libc.Int32FromUint32(libc.Xstrlen(tls, s2))
  39689. l = s1l + s2l + int32(1)
  39690. s = libc.Xmalloc(tls, libc.Uint32FromInt32(l))
  39691. if !(s != 0) {
  39692. return uintptr(0)
  39693. }
  39694. libc.Xmemcpy(tls, s, s1, libc.Uint32FromInt32(s1l))
  39695. libc.Xmemcpy(tls, s+uintptr(s1l), s2, libc.Uint32FromInt32(s2l+int32(1)))
  39696. return s
  39697. }
  39698. var XFcStrPlus = XIA__FcStrPlus
  39699. func XIA__FcStrFree(tls *libc.TLS, s uintptr) {
  39700. libc.Xfree(tls, s)
  39701. }
  39702. var XFcStrFree = XIA__FcStrFree
  39703. var _fcCaseFold = [302]TFcCaseFold{
  39704. 0: {
  39705. Fupper: uint32(0x00000041),
  39706. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  39707. Foffset: int16(32),
  39708. },
  39709. 1: {
  39710. Fupper: uint32(0x000000b5),
  39711. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39712. Foffset: int16(775),
  39713. },
  39714. 2: {
  39715. Fupper: uint32(0x000000c0),
  39716. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  39717. Foffset: int16(32),
  39718. },
  39719. 3: {
  39720. Fupper: uint32(0x000000d8),
  39721. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  39722. Foffset: int16(32),
  39723. },
  39724. 4: {
  39725. Fupper: uint32(0x000000df),
  39726. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39727. },
  39728. 5: {
  39729. Fupper: uint32(0x00000100),
  39730. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  39731. Foffset: int16(1),
  39732. },
  39733. 6: {
  39734. Fupper: uint32(0x00000130),
  39735. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39736. Foffset: int16(2),
  39737. },
  39738. 7: {
  39739. Fupper: uint32(0x00000132),
  39740. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39741. Foffset: int16(1),
  39742. },
  39743. 8: {
  39744. Fupper: uint32(0x00000139),
  39745. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  39746. Foffset: int16(1),
  39747. },
  39748. 9: {
  39749. Fupper: uint32(0x00000149),
  39750. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39751. Foffset: int16(5),
  39752. },
  39753. 10: {
  39754. Fupper: uint32(0x0000014a),
  39755. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  39756. Foffset: int16(1),
  39757. },
  39758. 11: {
  39759. Fupper: uint32(0x00000178),
  39760. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39761. Foffset: int16(-int32(121)),
  39762. },
  39763. 12: {
  39764. Fupper: uint32(0x00000179),
  39765. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39766. Foffset: int16(1),
  39767. },
  39768. 13: {
  39769. Fupper: uint32(0x0000017f),
  39770. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39771. Foffset: int16(-int32(268)),
  39772. },
  39773. 14: {
  39774. Fupper: uint32(0x00000181),
  39775. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39776. Foffset: int16(210),
  39777. },
  39778. 15: {
  39779. Fupper: uint32(0x00000182),
  39780. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39781. Foffset: int16(1),
  39782. },
  39783. 16: {
  39784. Fupper: uint32(0x00000186),
  39785. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39786. Foffset: int16(206),
  39787. },
  39788. 17: {
  39789. Fupper: uint32(0x00000187),
  39790. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39791. Foffset: int16(1),
  39792. },
  39793. 18: {
  39794. Fupper: uint32(0x00000189),
  39795. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39796. Foffset: int16(205),
  39797. },
  39798. 19: {
  39799. Fupper: uint32(0x0000018b),
  39800. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39801. Foffset: int16(1),
  39802. },
  39803. 20: {
  39804. Fupper: uint32(0x0000018e),
  39805. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39806. Foffset: int16(79),
  39807. },
  39808. 21: {
  39809. Fupper: uint32(0x0000018f),
  39810. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39811. Foffset: int16(202),
  39812. },
  39813. 22: {
  39814. Fupper: uint32(0x00000190),
  39815. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39816. Foffset: int16(203),
  39817. },
  39818. 23: {
  39819. Fupper: uint32(0x00000191),
  39820. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39821. Foffset: int16(1),
  39822. },
  39823. 24: {
  39824. Fupper: uint32(0x00000193),
  39825. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39826. Foffset: int16(205),
  39827. },
  39828. 25: {
  39829. Fupper: uint32(0x00000194),
  39830. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39831. Foffset: int16(207),
  39832. },
  39833. 26: {
  39834. Fupper: uint32(0x00000196),
  39835. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39836. Foffset: int16(211),
  39837. },
  39838. 27: {
  39839. Fupper: uint32(0x00000197),
  39840. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39841. Foffset: int16(209),
  39842. },
  39843. 28: {
  39844. Fupper: uint32(0x00000198),
  39845. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39846. Foffset: int16(1),
  39847. },
  39848. 29: {
  39849. Fupper: uint32(0x0000019c),
  39850. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39851. Foffset: int16(211),
  39852. },
  39853. 30: {
  39854. Fupper: uint32(0x0000019d),
  39855. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39856. Foffset: int16(213),
  39857. },
  39858. 31: {
  39859. Fupper: uint32(0x0000019f),
  39860. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39861. Foffset: int16(214),
  39862. },
  39863. 32: {
  39864. Fupper: uint32(0x000001a0),
  39865. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39866. Foffset: int16(1),
  39867. },
  39868. 33: {
  39869. Fupper: uint32(0x000001a6),
  39870. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39871. Foffset: int16(218),
  39872. },
  39873. 34: {
  39874. Fupper: uint32(0x000001a7),
  39875. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39876. Foffset: int16(1),
  39877. },
  39878. 35: {
  39879. Fupper: uint32(0x000001a9),
  39880. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39881. Foffset: int16(218),
  39882. },
  39883. 36: {
  39884. Fupper: uint32(0x000001ac),
  39885. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39886. Foffset: int16(1),
  39887. },
  39888. 37: {
  39889. Fupper: uint32(0x000001ae),
  39890. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39891. Foffset: int16(218),
  39892. },
  39893. 38: {
  39894. Fupper: uint32(0x000001af),
  39895. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39896. Foffset: int16(1),
  39897. },
  39898. 39: {
  39899. Fupper: uint32(0x000001b1),
  39900. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39901. Foffset: int16(217),
  39902. },
  39903. 40: {
  39904. Fupper: uint32(0x000001b3),
  39905. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39906. Foffset: int16(1),
  39907. },
  39908. 41: {
  39909. Fupper: uint32(0x000001b7),
  39910. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39911. Foffset: int16(219),
  39912. },
  39913. 42: {
  39914. Fupper: uint32(0x000001b8),
  39915. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39916. Foffset: int16(1),
  39917. },
  39918. 43: {
  39919. Fupper: uint32(0x000001bc),
  39920. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39921. Foffset: int16(1),
  39922. },
  39923. 44: {
  39924. Fupper: uint32(0x000001c4),
  39925. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39926. Foffset: int16(2),
  39927. },
  39928. 45: {
  39929. Fupper: uint32(0x000001c5),
  39930. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39931. Foffset: int16(1),
  39932. },
  39933. 46: {
  39934. Fupper: uint32(0x000001c7),
  39935. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39936. Foffset: int16(2),
  39937. },
  39938. 47: {
  39939. Fupper: uint32(0x000001c8),
  39940. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39941. Foffset: int16(1),
  39942. },
  39943. 48: {
  39944. Fupper: uint32(0x000001ca),
  39945. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39946. Foffset: int16(2),
  39947. },
  39948. 49: {
  39949. Fupper: uint32(0x000001cb),
  39950. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39951. Foffset: int16(1),
  39952. },
  39953. 50: {
  39954. Fupper: uint32(0x000001de),
  39955. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39956. Foffset: int16(1),
  39957. },
  39958. 51: {
  39959. Fupper: uint32(0x000001f0),
  39960. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39961. Foffset: int16(8),
  39962. },
  39963. 52: {
  39964. Fupper: uint32(0x000001f1),
  39965. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39966. Foffset: int16(2),
  39967. },
  39968. 53: {
  39969. Fupper: uint32(0x000001f2),
  39970. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39971. Foffset: int16(1),
  39972. },
  39973. 54: {
  39974. Fupper: uint32(0x000001f6),
  39975. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39976. Foffset: int16(-int32(97)),
  39977. },
  39978. 55: {
  39979. Fupper: uint32(0x000001f7),
  39980. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39981. Foffset: int16(-int32(56)),
  39982. },
  39983. 56: {
  39984. Fupper: uint32(0x000001f8),
  39985. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0027)&0x3fff<<2,
  39986. Foffset: int16(1),
  39987. },
  39988. 57: {
  39989. Fupper: uint32(0x00000220),
  39990. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39991. Foffset: int16(-int32(130)),
  39992. },
  39993. 58: {
  39994. Fupper: uint32(0x00000222),
  39995. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39996. Foffset: int16(1),
  39997. },
  39998. 59: {
  39999. Fupper: uint32(0x0000023a),
  40000. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40001. Foffset: int16(10795),
  40002. },
  40003. 60: {
  40004. Fupper: uint32(0x0000023b),
  40005. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40006. Foffset: int16(1),
  40007. },
  40008. 61: {
  40009. Fupper: uint32(0x0000023d),
  40010. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40011. Foffset: int16(-int32(163)),
  40012. },
  40013. 62: {
  40014. Fupper: uint32(0x0000023e),
  40015. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40016. Foffset: int16(10792),
  40017. },
  40018. 63: {
  40019. Fupper: uint32(0x00000241),
  40020. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40021. Foffset: int16(1),
  40022. },
  40023. 64: {
  40024. Fupper: uint32(0x00000243),
  40025. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40026. Foffset: int16(-int32(195)),
  40027. },
  40028. 65: {
  40029. Fupper: uint32(0x00000244),
  40030. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40031. Foffset: int16(69),
  40032. },
  40033. 66: {
  40034. Fupper: uint32(0x00000245),
  40035. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40036. Foffset: int16(71),
  40037. },
  40038. 67: {
  40039. Fupper: uint32(0x00000246),
  40040. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  40041. Foffset: int16(1),
  40042. },
  40043. 68: {
  40044. Fupper: uint32(0x00000345),
  40045. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40046. Foffset: int16(116),
  40047. },
  40048. 69: {
  40049. Fupper: uint32(0x00000370),
  40050. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40051. Foffset: int16(1),
  40052. },
  40053. 70: {
  40054. Fupper: uint32(0x00000376),
  40055. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40056. Foffset: int16(1),
  40057. },
  40058. 71: {
  40059. Fupper: uint32(0x0000037f),
  40060. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40061. Foffset: int16(116),
  40062. },
  40063. 72: {
  40064. Fupper: uint32(0x00000386),
  40065. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40066. Foffset: int16(38),
  40067. },
  40068. 73: {
  40069. Fupper: uint32(0x00000388),
  40070. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40071. Foffset: int16(37),
  40072. },
  40073. 74: {
  40074. Fupper: uint32(0x0000038c),
  40075. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40076. Foffset: int16(64),
  40077. },
  40078. 75: {
  40079. Fupper: uint32(0x0000038e),
  40080. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40081. Foffset: int16(63),
  40082. },
  40083. 76: {
  40084. Fupper: uint32(0x00000390),
  40085. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40086. Foffset: int16(11),
  40087. },
  40088. 77: {
  40089. Fupper: uint32(0x00000391),
  40090. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  40091. Foffset: int16(32),
  40092. },
  40093. 78: {
  40094. Fupper: uint32(0x000003a3),
  40095. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  40096. Foffset: int16(32),
  40097. },
  40098. 79: {
  40099. Fupper: uint32(0x000003b0),
  40100. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40101. Foffset: int16(17),
  40102. },
  40103. 80: {
  40104. Fupper: uint32(0x000003c2),
  40105. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40106. Foffset: int16(1),
  40107. },
  40108. 81: {
  40109. Fupper: uint32(0x000003cf),
  40110. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40111. Foffset: int16(8),
  40112. },
  40113. 82: {
  40114. Fupper: uint32(0x000003d0),
  40115. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40116. Foffset: int16(-int32(30)),
  40117. },
  40118. 83: {
  40119. Fupper: uint32(0x000003d1),
  40120. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40121. Foffset: int16(-int32(25)),
  40122. },
  40123. 84: {
  40124. Fupper: uint32(0x000003d5),
  40125. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40126. Foffset: int16(-int32(15)),
  40127. },
  40128. 85: {
  40129. Fupper: uint32(0x000003d6),
  40130. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40131. Foffset: int16(-int32(22)),
  40132. },
  40133. 86: {
  40134. Fupper: uint32(0x000003d8),
  40135. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  40136. Foffset: int16(1),
  40137. },
  40138. 87: {
  40139. Fupper: uint32(0x000003f0),
  40140. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40141. Foffset: int16(-int32(54)),
  40142. },
  40143. 88: {
  40144. Fupper: uint32(0x000003f1),
  40145. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40146. Foffset: int16(-int32(48)),
  40147. },
  40148. 89: {
  40149. Fupper: uint32(0x000003f4),
  40150. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40151. Foffset: int16(-int32(60)),
  40152. },
  40153. 90: {
  40154. Fupper: uint32(0x000003f5),
  40155. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40156. Foffset: int16(-int32(64)),
  40157. },
  40158. 91: {
  40159. Fupper: uint32(0x000003f7),
  40160. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40161. Foffset: int16(1),
  40162. },
  40163. 92: {
  40164. Fupper: uint32(0x000003f9),
  40165. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40166. Foffset: int16(-int32(7)),
  40167. },
  40168. 93: {
  40169. Fupper: uint32(0x000003fa),
  40170. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40171. Foffset: int16(1),
  40172. },
  40173. 94: {
  40174. Fupper: uint32(0x000003fd),
  40175. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40176. Foffset: int16(-int32(130)),
  40177. },
  40178. 95: {
  40179. Fupper: uint32(0x00000400),
  40180. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  40181. Foffset: int16(80),
  40182. },
  40183. 96: {
  40184. Fupper: uint32(0x00000410),
  40185. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  40186. Foffset: int16(32),
  40187. },
  40188. 97: {
  40189. Fupper: uint32(0x00000460),
  40190. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0021)&0x3fff<<2,
  40191. Foffset: int16(1),
  40192. },
  40193. 98: {
  40194. Fupper: uint32(0x0000048a),
  40195. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0035)&0x3fff<<2,
  40196. Foffset: int16(1),
  40197. },
  40198. 99: {
  40199. Fupper: uint32(0x000004c0),
  40200. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40201. Foffset: int16(15),
  40202. },
  40203. 100: {
  40204. Fupper: uint32(0x000004c1),
  40205. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  40206. Foffset: int16(1),
  40207. },
  40208. 101: {
  40209. Fupper: uint32(0x000004d0),
  40210. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  40211. Foffset: int16(1),
  40212. },
  40213. 102: {
  40214. Fupper: uint32(0x00000531),
  40215. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  40216. Foffset: int16(48),
  40217. },
  40218. 103: {
  40219. Fupper: uint32(0x00000587),
  40220. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40221. Foffset: int16(23),
  40222. },
  40223. 104: {
  40224. Fupper: uint32(0x000010a0),
  40225. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  40226. Foffset: int16(7264),
  40227. },
  40228. 105: {
  40229. Fupper: uint32(0x000010c7),
  40230. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40231. Foffset: int16(7264),
  40232. },
  40233. 106: {
  40234. Fupper: uint32(0x000010cd),
  40235. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40236. Foffset: int16(7264),
  40237. },
  40238. 107: {
  40239. Fupper: uint32(0x000013f8),
  40240. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40241. Foffset: int16(-int32(8)),
  40242. },
  40243. 108: {
  40244. Fupper: uint32(0x00001c80),
  40245. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40246. Foffset: int16(-int32(6222)),
  40247. },
  40248. 109: {
  40249. Fupper: uint32(0x00001c81),
  40250. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40251. Foffset: int16(-int32(6221)),
  40252. },
  40253. 110: {
  40254. Fupper: uint32(0x00001c82),
  40255. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40256. Foffset: int16(-int32(6212)),
  40257. },
  40258. 111: {
  40259. Fupper: uint32(0x00001c83),
  40260. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40261. Foffset: int16(-int32(6210)),
  40262. },
  40263. 112: {
  40264. Fupper: uint32(0x00001c85),
  40265. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40266. Foffset: int16(-int32(6211)),
  40267. },
  40268. 113: {
  40269. Fupper: uint32(0x00001c86),
  40270. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40271. Foffset: int16(-int32(6204)),
  40272. },
  40273. 114: {
  40274. Fupper: uint32(0x00001c87),
  40275. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40276. Foffset: int16(-int32(6180)),
  40277. },
  40278. 115: {
  40279. Fupper: uint32(0x00001c88),
  40280. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40281. Foffset: int16(-int32(30269)),
  40282. },
  40283. 116: {
  40284. Fupper: uint32(0x00001c90),
  40285. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002b)&0x3fff<<2,
  40286. Foffset: int16(-int32(3008)),
  40287. },
  40288. 117: {
  40289. Fupper: uint32(0x00001cbd),
  40290. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40291. Foffset: int16(-int32(3008)),
  40292. },
  40293. 118: {
  40294. Fupper: uint32(0x00001e00),
  40295. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0095)&0x3fff<<2,
  40296. Foffset: int16(1),
  40297. },
  40298. 119: {
  40299. Fupper: uint32(0x00001e96),
  40300. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40301. Foffset: int16(27),
  40302. },
  40303. 120: {
  40304. Fupper: uint32(0x00001e97),
  40305. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40306. Foffset: int16(30),
  40307. },
  40308. 121: {
  40309. Fupper: uint32(0x00001e98),
  40310. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40311. Foffset: int16(33),
  40312. },
  40313. 122: {
  40314. Fupper: uint32(0x00001e99),
  40315. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40316. Foffset: int16(36),
  40317. },
  40318. 123: {
  40319. Fupper: uint32(0x00001e9a),
  40320. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40321. Foffset: int16(39),
  40322. },
  40323. 124: {
  40324. Fupper: uint32(0x00001e9b),
  40325. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40326. Foffset: int16(-int32(58)),
  40327. },
  40328. 125: {
  40329. Fupper: uint32(0x00001e9e),
  40330. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40331. Foffset: int16(42),
  40332. },
  40333. 126: {
  40334. Fupper: uint32(0x00001ea0),
  40335. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  40336. Foffset: int16(1),
  40337. },
  40338. 127: {
  40339. Fupper: uint32(0x00001f08),
  40340. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40341. Foffset: int16(-int32(8)),
  40342. },
  40343. 128: {
  40344. Fupper: uint32(0x00001f18),
  40345. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40346. Foffset: int16(-int32(8)),
  40347. },
  40348. 129: {
  40349. Fupper: uint32(0x00001f28),
  40350. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40351. Foffset: int16(-int32(8)),
  40352. },
  40353. 130: {
  40354. Fupper: uint32(0x00001f38),
  40355. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40356. Foffset: int16(-int32(8)),
  40357. },
  40358. 131: {
  40359. Fupper: uint32(0x00001f48),
  40360. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40361. Foffset: int16(-int32(8)),
  40362. },
  40363. 132: {
  40364. Fupper: uint32(0x00001f50),
  40365. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40366. Foffset: int16(44),
  40367. },
  40368. 133: {
  40369. Fupper: uint32(0x00001f52),
  40370. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40371. Foffset: int16(48),
  40372. },
  40373. 134: {
  40374. Fupper: uint32(0x00001f54),
  40375. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40376. Foffset: int16(54),
  40377. },
  40378. 135: {
  40379. Fupper: uint32(0x00001f56),
  40380. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40381. Foffset: int16(60),
  40382. },
  40383. 136: {
  40384. Fupper: uint32(0x00001f59),
  40385. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40386. Foffset: int16(-int32(8)),
  40387. },
  40388. 137: {
  40389. Fupper: uint32(0x00001f5b),
  40390. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40391. Foffset: int16(-int32(8)),
  40392. },
  40393. 138: {
  40394. Fupper: uint32(0x00001f5d),
  40395. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40396. Foffset: int16(-int32(8)),
  40397. },
  40398. 139: {
  40399. Fupper: uint32(0x00001f5f),
  40400. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40401. Foffset: int16(-int32(8)),
  40402. },
  40403. 140: {
  40404. Fupper: uint32(0x00001f68),
  40405. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40406. Foffset: int16(-int32(8)),
  40407. },
  40408. 141: {
  40409. Fupper: uint32(0x00001f80),
  40410. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40411. Foffset: int16(66),
  40412. },
  40413. 142: {
  40414. Fupper: uint32(0x00001f81),
  40415. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40416. Foffset: int16(71),
  40417. },
  40418. 143: {
  40419. Fupper: uint32(0x00001f82),
  40420. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40421. Foffset: int16(76),
  40422. },
  40423. 144: {
  40424. Fupper: uint32(0x00001f83),
  40425. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40426. Foffset: int16(81),
  40427. },
  40428. 145: {
  40429. Fupper: uint32(0x00001f84),
  40430. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40431. Foffset: int16(86),
  40432. },
  40433. 146: {
  40434. Fupper: uint32(0x00001f85),
  40435. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40436. Foffset: int16(91),
  40437. },
  40438. 147: {
  40439. Fupper: uint32(0x00001f86),
  40440. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40441. Foffset: int16(96),
  40442. },
  40443. 148: {
  40444. Fupper: uint32(0x00001f87),
  40445. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40446. Foffset: int16(101),
  40447. },
  40448. 149: {
  40449. Fupper: uint32(0x00001f88),
  40450. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40451. Foffset: int16(106),
  40452. },
  40453. 150: {
  40454. Fupper: uint32(0x00001f89),
  40455. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40456. Foffset: int16(111),
  40457. },
  40458. 151: {
  40459. Fupper: uint32(0x00001f8a),
  40460. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40461. Foffset: int16(116),
  40462. },
  40463. 152: {
  40464. Fupper: uint32(0x00001f8b),
  40465. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40466. Foffset: int16(121),
  40467. },
  40468. 153: {
  40469. Fupper: uint32(0x00001f8c),
  40470. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40471. Foffset: int16(126),
  40472. },
  40473. 154: {
  40474. Fupper: uint32(0x00001f8d),
  40475. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40476. Foffset: int16(131),
  40477. },
  40478. 155: {
  40479. Fupper: uint32(0x00001f8e),
  40480. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40481. Foffset: int16(136),
  40482. },
  40483. 156: {
  40484. Fupper: uint32(0x00001f8f),
  40485. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40486. Foffset: int16(141),
  40487. },
  40488. 157: {
  40489. Fupper: uint32(0x00001f90),
  40490. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40491. Foffset: int16(146),
  40492. },
  40493. 158: {
  40494. Fupper: uint32(0x00001f91),
  40495. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40496. Foffset: int16(151),
  40497. },
  40498. 159: {
  40499. Fupper: uint32(0x00001f92),
  40500. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40501. Foffset: int16(156),
  40502. },
  40503. 160: {
  40504. Fupper: uint32(0x00001f93),
  40505. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40506. Foffset: int16(161),
  40507. },
  40508. 161: {
  40509. Fupper: uint32(0x00001f94),
  40510. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40511. Foffset: int16(166),
  40512. },
  40513. 162: {
  40514. Fupper: uint32(0x00001f95),
  40515. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40516. Foffset: int16(171),
  40517. },
  40518. 163: {
  40519. Fupper: uint32(0x00001f96),
  40520. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40521. Foffset: int16(176),
  40522. },
  40523. 164: {
  40524. Fupper: uint32(0x00001f97),
  40525. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40526. Foffset: int16(181),
  40527. },
  40528. 165: {
  40529. Fupper: uint32(0x00001f98),
  40530. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40531. Foffset: int16(186),
  40532. },
  40533. 166: {
  40534. Fupper: uint32(0x00001f99),
  40535. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40536. Foffset: int16(191),
  40537. },
  40538. 167: {
  40539. Fupper: uint32(0x00001f9a),
  40540. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40541. Foffset: int16(196),
  40542. },
  40543. 168: {
  40544. Fupper: uint32(0x00001f9b),
  40545. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40546. Foffset: int16(201),
  40547. },
  40548. 169: {
  40549. Fupper: uint32(0x00001f9c),
  40550. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40551. Foffset: int16(206),
  40552. },
  40553. 170: {
  40554. Fupper: uint32(0x00001f9d),
  40555. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40556. Foffset: int16(211),
  40557. },
  40558. 171: {
  40559. Fupper: uint32(0x00001f9e),
  40560. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40561. Foffset: int16(216),
  40562. },
  40563. 172: {
  40564. Fupper: uint32(0x00001f9f),
  40565. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40566. Foffset: int16(221),
  40567. },
  40568. 173: {
  40569. Fupper: uint32(0x00001fa0),
  40570. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40571. Foffset: int16(226),
  40572. },
  40573. 174: {
  40574. Fupper: uint32(0x00001fa1),
  40575. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40576. Foffset: int16(231),
  40577. },
  40578. 175: {
  40579. Fupper: uint32(0x00001fa2),
  40580. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40581. Foffset: int16(236),
  40582. },
  40583. 176: {
  40584. Fupper: uint32(0x00001fa3),
  40585. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40586. Foffset: int16(241),
  40587. },
  40588. 177: {
  40589. Fupper: uint32(0x00001fa4),
  40590. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40591. Foffset: int16(246),
  40592. },
  40593. 178: {
  40594. Fupper: uint32(0x00001fa5),
  40595. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40596. Foffset: int16(251),
  40597. },
  40598. 179: {
  40599. Fupper: uint32(0x00001fa6),
  40600. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40601. Foffset: int16(256),
  40602. },
  40603. 180: {
  40604. Fupper: uint32(0x00001fa7),
  40605. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40606. Foffset: int16(261),
  40607. },
  40608. 181: {
  40609. Fupper: uint32(0x00001fa8),
  40610. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40611. Foffset: int16(266),
  40612. },
  40613. 182: {
  40614. Fupper: uint32(0x00001fa9),
  40615. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40616. Foffset: int16(271),
  40617. },
  40618. 183: {
  40619. Fupper: uint32(0x00001faa),
  40620. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40621. Foffset: int16(276),
  40622. },
  40623. 184: {
  40624. Fupper: uint32(0x00001fab),
  40625. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40626. Foffset: int16(281),
  40627. },
  40628. 185: {
  40629. Fupper: uint32(0x00001fac),
  40630. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40631. Foffset: int16(286),
  40632. },
  40633. 186: {
  40634. Fupper: uint32(0x00001fad),
  40635. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40636. Foffset: int16(291),
  40637. },
  40638. 187: {
  40639. Fupper: uint32(0x00001fae),
  40640. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40641. Foffset: int16(296),
  40642. },
  40643. 188: {
  40644. Fupper: uint32(0x00001faf),
  40645. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40646. Foffset: int16(301),
  40647. },
  40648. 189: {
  40649. Fupper: uint32(0x00001fb2),
  40650. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40651. Foffset: int16(306),
  40652. },
  40653. 190: {
  40654. Fupper: uint32(0x00001fb3),
  40655. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40656. Foffset: int16(311),
  40657. },
  40658. 191: {
  40659. Fupper: uint32(0x00001fb4),
  40660. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40661. Foffset: int16(315),
  40662. },
  40663. 192: {
  40664. Fupper: uint32(0x00001fb6),
  40665. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40666. Foffset: int16(319),
  40667. },
  40668. 193: {
  40669. Fupper: uint32(0x00001fb7),
  40670. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40671. Foffset: int16(323),
  40672. },
  40673. 194: {
  40674. Fupper: uint32(0x00001fb8),
  40675. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40676. Foffset: int16(-int32(8)),
  40677. },
  40678. 195: {
  40679. Fupper: uint32(0x00001fba),
  40680. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40681. Foffset: int16(-int32(74)),
  40682. },
  40683. 196: {
  40684. Fupper: uint32(0x00001fbc),
  40685. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40686. Foffset: int16(329),
  40687. },
  40688. 197: {
  40689. Fupper: uint32(0x00001fbe),
  40690. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40691. Foffset: int16(-int32(7173)),
  40692. },
  40693. 198: {
  40694. Fupper: uint32(0x00001fc2),
  40695. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40696. Foffset: int16(333),
  40697. },
  40698. 199: {
  40699. Fupper: uint32(0x00001fc3),
  40700. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40701. Foffset: int16(338),
  40702. },
  40703. 200: {
  40704. Fupper: uint32(0x00001fc4),
  40705. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40706. Foffset: int16(342),
  40707. },
  40708. 201: {
  40709. Fupper: uint32(0x00001fc6),
  40710. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40711. Foffset: int16(346),
  40712. },
  40713. 202: {
  40714. Fupper: uint32(0x00001fc7),
  40715. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40716. Foffset: int16(350),
  40717. },
  40718. 203: {
  40719. Fupper: uint32(0x00001fc8),
  40720. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40721. Foffset: int16(-int32(86)),
  40722. },
  40723. 204: {
  40724. Fupper: uint32(0x00001fcc),
  40725. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40726. Foffset: int16(356),
  40727. },
  40728. 205: {
  40729. Fupper: uint32(0x00001fd2),
  40730. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40731. Foffset: int16(360),
  40732. },
  40733. 206: {
  40734. Fupper: uint32(0x00001fd3),
  40735. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40736. Foffset: int16(366),
  40737. },
  40738. 207: {
  40739. Fupper: uint32(0x00001fd6),
  40740. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40741. Foffset: int16(372),
  40742. },
  40743. 208: {
  40744. Fupper: uint32(0x00001fd7),
  40745. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40746. Foffset: int16(376),
  40747. },
  40748. 209: {
  40749. Fupper: uint32(0x00001fd8),
  40750. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40751. Foffset: int16(-int32(8)),
  40752. },
  40753. 210: {
  40754. Fupper: uint32(0x00001fda),
  40755. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40756. Foffset: int16(-int32(100)),
  40757. },
  40758. 211: {
  40759. Fupper: uint32(0x00001fe2),
  40760. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40761. Foffset: int16(382),
  40762. },
  40763. 212: {
  40764. Fupper: uint32(0x00001fe3),
  40765. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40766. Foffset: int16(388),
  40767. },
  40768. 213: {
  40769. Fupper: uint32(0x00001fe4),
  40770. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40771. Foffset: int16(394),
  40772. },
  40773. 214: {
  40774. Fupper: uint32(0x00001fe6),
  40775. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40776. Foffset: int16(398),
  40777. },
  40778. 215: {
  40779. Fupper: uint32(0x00001fe7),
  40780. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40781. Foffset: int16(402),
  40782. },
  40783. 216: {
  40784. Fupper: uint32(0x00001fe8),
  40785. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40786. Foffset: int16(-int32(8)),
  40787. },
  40788. 217: {
  40789. Fupper: uint32(0x00001fea),
  40790. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40791. Foffset: int16(-int32(112)),
  40792. },
  40793. 218: {
  40794. Fupper: uint32(0x00001fec),
  40795. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40796. Foffset: int16(-int32(7)),
  40797. },
  40798. 219: {
  40799. Fupper: uint32(0x00001ff2),
  40800. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40801. Foffset: int16(408),
  40802. },
  40803. 220: {
  40804. Fupper: uint32(0x00001ff3),
  40805. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40806. Foffset: int16(413),
  40807. },
  40808. 221: {
  40809. Fupper: uint32(0x00001ff4),
  40810. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40811. Foffset: int16(417),
  40812. },
  40813. 222: {
  40814. Fupper: uint32(0x00001ff6),
  40815. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40816. Foffset: int16(421),
  40817. },
  40818. 223: {
  40819. Fupper: uint32(0x00001ff7),
  40820. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40821. Foffset: int16(425),
  40822. },
  40823. 224: {
  40824. Fupper: uint32(0x00001ff8),
  40825. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40826. Foffset: int16(-int32(128)),
  40827. },
  40828. 225: {
  40829. Fupper: uint32(0x00001ffa),
  40830. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40831. Foffset: int16(-int32(126)),
  40832. },
  40833. 226: {
  40834. Fupper: uint32(0x00001ffc),
  40835. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40836. Foffset: int16(431),
  40837. },
  40838. 227: {
  40839. Fupper: uint32(0x00002126),
  40840. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40841. Foffset: int16(-int32(7517)),
  40842. },
  40843. 228: {
  40844. Fupper: uint32(0x0000212a),
  40845. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40846. Foffset: int16(-int32(8383)),
  40847. },
  40848. 229: {
  40849. Fupper: uint32(0x0000212b),
  40850. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40851. Foffset: int16(-int32(8262)),
  40852. },
  40853. 230: {
  40854. Fupper: uint32(0x00002132),
  40855. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40856. Foffset: int16(28),
  40857. },
  40858. 231: {
  40859. Fupper: uint32(0x00002160),
  40860. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  40861. Foffset: int16(16),
  40862. },
  40863. 232: {
  40864. Fupper: uint32(0x00002183),
  40865. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40866. Foffset: int16(1),
  40867. },
  40868. 233: {
  40869. Fupper: uint32(0x000024b6),
  40870. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  40871. Foffset: int16(26),
  40872. },
  40873. 234: {
  40874. Fupper: uint32(0x00002c00),
  40875. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0030)&0x3fff<<2,
  40876. Foffset: int16(48),
  40877. },
  40878. 235: {
  40879. Fupper: uint32(0x00002c60),
  40880. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40881. Foffset: int16(1),
  40882. },
  40883. 236: {
  40884. Fupper: uint32(0x00002c62),
  40885. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40886. Foffset: int16(-int32(10743)),
  40887. },
  40888. 237: {
  40889. Fupper: uint32(0x00002c63),
  40890. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40891. Foffset: int16(-int32(3814)),
  40892. },
  40893. 238: {
  40894. Fupper: uint32(0x00002c64),
  40895. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40896. Foffset: int16(-int32(10727)),
  40897. },
  40898. 239: {
  40899. Fupper: uint32(0x00002c67),
  40900. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40901. Foffset: int16(1),
  40902. },
  40903. 240: {
  40904. Fupper: uint32(0x00002c6d),
  40905. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40906. Foffset: int16(-int32(10780)),
  40907. },
  40908. 241: {
  40909. Fupper: uint32(0x00002c6e),
  40910. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40911. Foffset: int16(-int32(10749)),
  40912. },
  40913. 242: {
  40914. Fupper: uint32(0x00002c6f),
  40915. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40916. Foffset: int16(-int32(10783)),
  40917. },
  40918. 243: {
  40919. Fupper: uint32(0x00002c70),
  40920. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40921. Foffset: int16(-int32(10782)),
  40922. },
  40923. 244: {
  40924. Fupper: uint32(0x00002c72),
  40925. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40926. Foffset: int16(1),
  40927. },
  40928. 245: {
  40929. Fupper: uint32(0x00002c75),
  40930. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40931. Foffset: int16(1),
  40932. },
  40933. 246: {
  40934. Fupper: uint32(0x00002c7e),
  40935. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40936. Foffset: int16(-int32(10815)),
  40937. },
  40938. 247: {
  40939. Fupper: uint32(0x00002c80),
  40940. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0063)&0x3fff<<2,
  40941. Foffset: int16(1),
  40942. },
  40943. 248: {
  40944. Fupper: uint32(0x00002ceb),
  40945. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40946. Foffset: int16(1),
  40947. },
  40948. 249: {
  40949. Fupper: uint32(0x00002cf2),
  40950. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40951. Foffset: int16(1),
  40952. },
  40953. 250: {
  40954. Fupper: uint32(0x0000a640),
  40955. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  40956. Foffset: int16(1),
  40957. },
  40958. 251: {
  40959. Fupper: uint32(0x0000a680),
  40960. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x001b)&0x3fff<<2,
  40961. Foffset: int16(1),
  40962. },
  40963. 252: {
  40964. Fupper: uint32(0x0000a722),
  40965. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  40966. Foffset: int16(1),
  40967. },
  40968. 253: {
  40969. Fupper: uint32(0x0000a732),
  40970. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x003d)&0x3fff<<2,
  40971. Foffset: int16(1),
  40972. },
  40973. 254: {
  40974. Fupper: uint32(0x0000a779),
  40975. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40976. Foffset: int16(1),
  40977. },
  40978. 255: {
  40979. Fupper: uint32(0x0000a77d),
  40980. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40981. Foffset: int16(30204),
  40982. },
  40983. 256: {
  40984. Fupper: uint32(0x0000a77e),
  40985. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  40986. Foffset: int16(1),
  40987. },
  40988. 257: {
  40989. Fupper: uint32(0x0000a78b),
  40990. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40991. Foffset: int16(1),
  40992. },
  40993. 258: {
  40994. Fupper: uint32(0x0000a78d),
  40995. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40996. Foffset: int16(23256),
  40997. },
  40998. 259: {
  40999. Fupper: uint32(0x0000a790),
  41000. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  41001. Foffset: int16(1),
  41002. },
  41003. 260: {
  41004. Fupper: uint32(0x0000a796),
  41005. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0013)&0x3fff<<2,
  41006. Foffset: int16(1),
  41007. },
  41008. 261: {
  41009. Fupper: uint32(0x0000a7aa),
  41010. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41011. Foffset: int16(23228),
  41012. },
  41013. 262: {
  41014. Fupper: uint32(0x0000a7ab),
  41015. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41016. Foffset: int16(23217),
  41017. },
  41018. 263: {
  41019. Fupper: uint32(0x0000a7ac),
  41020. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41021. Foffset: int16(23221),
  41022. },
  41023. 264: {
  41024. Fupper: uint32(0x0000a7ad),
  41025. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41026. Foffset: int16(23231),
  41027. },
  41028. 265: {
  41029. Fupper: uint32(0x0000a7ae),
  41030. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41031. Foffset: int16(23228),
  41032. },
  41033. 266: {
  41034. Fupper: uint32(0x0000a7b0),
  41035. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41036. Foffset: int16(23278),
  41037. },
  41038. 267: {
  41039. Fupper: uint32(0x0000a7b1),
  41040. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41041. Foffset: int16(23254),
  41042. },
  41043. 268: {
  41044. Fupper: uint32(0x0000a7b2),
  41045. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41046. Foffset: int16(23275),
  41047. },
  41048. 269: {
  41049. Fupper: uint32(0x0000a7b3),
  41050. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41051. Foffset: int16(928),
  41052. },
  41053. 270: {
  41054. Fupper: uint32(0x0000a7b4),
  41055. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  41056. Foffset: int16(1),
  41057. },
  41058. 271: {
  41059. Fupper: uint32(0x0000a7c4),
  41060. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41061. Foffset: int16(-int32(48)),
  41062. },
  41063. 272: {
  41064. Fupper: uint32(0x0000a7c5),
  41065. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41066. Foffset: int16(23229),
  41067. },
  41068. 273: {
  41069. Fupper: uint32(0x0000a7c6),
  41070. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41071. Foffset: int16(30152),
  41072. },
  41073. 274: {
  41074. Fupper: uint32(0x0000a7c7),
  41075. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  41076. Foffset: int16(1),
  41077. },
  41078. 275: {
  41079. Fupper: uint32(0x0000a7d0),
  41080. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41081. Foffset: int16(1),
  41082. },
  41083. 276: {
  41084. Fupper: uint32(0x0000a7d6),
  41085. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  41086. Foffset: int16(1),
  41087. },
  41088. 277: {
  41089. Fupper: uint32(0x0000a7f5),
  41090. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41091. Foffset: int16(1),
  41092. },
  41093. 278: {
  41094. Fupper: uint32(0x0000ab70),
  41095. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0050)&0x3fff<<2,
  41096. Foffset: int16(26672),
  41097. },
  41098. 279: {
  41099. Fupper: uint32(0x0000fb00),
  41100. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41101. Foffset: int16(435),
  41102. },
  41103. 280: {
  41104. Fupper: uint32(0x0000fb01),
  41105. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41106. Foffset: int16(437),
  41107. },
  41108. 281: {
  41109. Fupper: uint32(0x0000fb02),
  41110. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41111. Foffset: int16(439),
  41112. },
  41113. 282: {
  41114. Fupper: uint32(0x0000fb03),
  41115. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  41116. Foffset: int16(441),
  41117. },
  41118. 283: {
  41119. Fupper: uint32(0x0000fb04),
  41120. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  41121. Foffset: int16(444),
  41122. },
  41123. 284: {
  41124. Fupper: uint32(0x0000fb05),
  41125. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41126. Foffset: int16(447),
  41127. },
  41128. 285: {
  41129. Fupper: uint32(0x0000fb06),
  41130. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41131. Foffset: int16(449),
  41132. },
  41133. 286: {
  41134. Fupper: uint32(0x0000fb13),
  41135. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41136. Foffset: int16(451),
  41137. },
  41138. 287: {
  41139. Fupper: uint32(0x0000fb14),
  41140. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41141. Foffset: int16(455),
  41142. },
  41143. 288: {
  41144. Fupper: uint32(0x0000fb15),
  41145. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41146. Foffset: int16(459),
  41147. },
  41148. 289: {
  41149. Fupper: uint32(0x0000fb16),
  41150. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41151. Foffset: int16(463),
  41152. },
  41153. 290: {
  41154. Fupper: uint32(0x0000fb17),
  41155. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41156. Foffset: int16(467),
  41157. },
  41158. 291: {
  41159. Fupper: uint32(0x0000ff21),
  41160. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  41161. Foffset: int16(32),
  41162. },
  41163. 292: {
  41164. Fupper: uint32(0x00010400),
  41165. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0028)&0x3fff<<2,
  41166. Foffset: int16(40),
  41167. },
  41168. 293: {
  41169. Fupper: uint32(0x000104b0),
  41170. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0024)&0x3fff<<2,
  41171. Foffset: int16(40),
  41172. },
  41173. 294: {
  41174. Fupper: uint32(0x00010570),
  41175. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000b)&0x3fff<<2,
  41176. Foffset: int16(39),
  41177. },
  41178. 295: {
  41179. Fupper: uint32(0x0001057c),
  41180. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  41181. Foffset: int16(39),
  41182. },
  41183. 296: {
  41184. Fupper: uint32(0x0001058c),
  41185. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  41186. Foffset: int16(39),
  41187. },
  41188. 297: {
  41189. Fupper: uint32(0x00010594),
  41190. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41191. Foffset: int16(39),
  41192. },
  41193. 298: {
  41194. Fupper: uint32(0x00010c80),
  41195. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0033)&0x3fff<<2,
  41196. Foffset: int16(64),
  41197. },
  41198. 299: {
  41199. Fupper: uint32(0x000118a0),
  41200. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  41201. Foffset: int16(32),
  41202. },
  41203. 300: {
  41204. Fupper: uint32(0x00016e40),
  41205. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  41206. Foffset: int16(32),
  41207. },
  41208. 301: {
  41209. Fupper: uint32(0x0001e900),
  41210. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0022)&0x3fff<<2,
  41211. Foffset: int16(34),
  41212. },
  41213. }
  41214. var _fcCaseFoldChars = [471]TFcChar8{
  41215. 0: uint8(0x73),
  41216. 1: uint8(0x73),
  41217. 2: uint8(0x69),
  41218. 3: uint8(0xcc),
  41219. 4: uint8(0x87),
  41220. 5: uint8(0xca),
  41221. 6: uint8(0xbc),
  41222. 7: uint8(0x6e),
  41223. 8: uint8(0x6a),
  41224. 9: uint8(0xcc),
  41225. 10: uint8(0x8c),
  41226. 11: uint8(0xce),
  41227. 12: uint8(0xb9),
  41228. 13: uint8(0xcc),
  41229. 14: uint8(0x88),
  41230. 15: uint8(0xcc),
  41231. 16: uint8(0x81),
  41232. 17: uint8(0xcf),
  41233. 18: uint8(0x85),
  41234. 19: uint8(0xcc),
  41235. 20: uint8(0x88),
  41236. 21: uint8(0xcc),
  41237. 22: uint8(0x81),
  41238. 23: uint8(0xd5),
  41239. 24: uint8(0xa5),
  41240. 25: uint8(0xd6),
  41241. 26: uint8(0x82),
  41242. 27: uint8(0x68),
  41243. 28: uint8(0xcc),
  41244. 29: uint8(0xb1),
  41245. 30: uint8(0x74),
  41246. 31: uint8(0xcc),
  41247. 32: uint8(0x88),
  41248. 33: uint8(0x77),
  41249. 34: uint8(0xcc),
  41250. 35: uint8(0x8a),
  41251. 36: uint8(0x79),
  41252. 37: uint8(0xcc),
  41253. 38: uint8(0x8a),
  41254. 39: uint8(0x61),
  41255. 40: uint8(0xca),
  41256. 41: uint8(0xbe),
  41257. 42: uint8(0x73),
  41258. 43: uint8(0x73),
  41259. 44: uint8(0xcf),
  41260. 45: uint8(0x85),
  41261. 46: uint8(0xcc),
  41262. 47: uint8(0x93),
  41263. 48: uint8(0xcf),
  41264. 49: uint8(0x85),
  41265. 50: uint8(0xcc),
  41266. 51: uint8(0x93),
  41267. 52: uint8(0xcc),
  41268. 53: uint8(0x80),
  41269. 54: uint8(0xcf),
  41270. 55: uint8(0x85),
  41271. 56: uint8(0xcc),
  41272. 57: uint8(0x93),
  41273. 58: uint8(0xcc),
  41274. 59: uint8(0x81),
  41275. 60: uint8(0xcf),
  41276. 61: uint8(0x85),
  41277. 62: uint8(0xcc),
  41278. 63: uint8(0x93),
  41279. 64: uint8(0xcd),
  41280. 65: uint8(0x82),
  41281. 66: uint8(0xe1),
  41282. 67: uint8(0xbc),
  41283. 68: uint8(0x80),
  41284. 69: uint8(0xce),
  41285. 70: uint8(0xb9),
  41286. 71: uint8(0xe1),
  41287. 72: uint8(0xbc),
  41288. 73: uint8(0x81),
  41289. 74: uint8(0xce),
  41290. 75: uint8(0xb9),
  41291. 76: uint8(0xe1),
  41292. 77: uint8(0xbc),
  41293. 78: uint8(0x82),
  41294. 79: uint8(0xce),
  41295. 80: uint8(0xb9),
  41296. 81: uint8(0xe1),
  41297. 82: uint8(0xbc),
  41298. 83: uint8(0x83),
  41299. 84: uint8(0xce),
  41300. 85: uint8(0xb9),
  41301. 86: uint8(0xe1),
  41302. 87: uint8(0xbc),
  41303. 88: uint8(0x84),
  41304. 89: uint8(0xce),
  41305. 90: uint8(0xb9),
  41306. 91: uint8(0xe1),
  41307. 92: uint8(0xbc),
  41308. 93: uint8(0x85),
  41309. 94: uint8(0xce),
  41310. 95: uint8(0xb9),
  41311. 96: uint8(0xe1),
  41312. 97: uint8(0xbc),
  41313. 98: uint8(0x86),
  41314. 99: uint8(0xce),
  41315. 100: uint8(0xb9),
  41316. 101: uint8(0xe1),
  41317. 102: uint8(0xbc),
  41318. 103: uint8(0x87),
  41319. 104: uint8(0xce),
  41320. 105: uint8(0xb9),
  41321. 106: uint8(0xe1),
  41322. 107: uint8(0xbc),
  41323. 108: uint8(0x80),
  41324. 109: uint8(0xce),
  41325. 110: uint8(0xb9),
  41326. 111: uint8(0xe1),
  41327. 112: uint8(0xbc),
  41328. 113: uint8(0x81),
  41329. 114: uint8(0xce),
  41330. 115: uint8(0xb9),
  41331. 116: uint8(0xe1),
  41332. 117: uint8(0xbc),
  41333. 118: uint8(0x82),
  41334. 119: uint8(0xce),
  41335. 120: uint8(0xb9),
  41336. 121: uint8(0xe1),
  41337. 122: uint8(0xbc),
  41338. 123: uint8(0x83),
  41339. 124: uint8(0xce),
  41340. 125: uint8(0xb9),
  41341. 126: uint8(0xe1),
  41342. 127: uint8(0xbc),
  41343. 128: uint8(0x84),
  41344. 129: uint8(0xce),
  41345. 130: uint8(0xb9),
  41346. 131: uint8(0xe1),
  41347. 132: uint8(0xbc),
  41348. 133: uint8(0x85),
  41349. 134: uint8(0xce),
  41350. 135: uint8(0xb9),
  41351. 136: uint8(0xe1),
  41352. 137: uint8(0xbc),
  41353. 138: uint8(0x86),
  41354. 139: uint8(0xce),
  41355. 140: uint8(0xb9),
  41356. 141: uint8(0xe1),
  41357. 142: uint8(0xbc),
  41358. 143: uint8(0x87),
  41359. 144: uint8(0xce),
  41360. 145: uint8(0xb9),
  41361. 146: uint8(0xe1),
  41362. 147: uint8(0xbc),
  41363. 148: uint8(0xa0),
  41364. 149: uint8(0xce),
  41365. 150: uint8(0xb9),
  41366. 151: uint8(0xe1),
  41367. 152: uint8(0xbc),
  41368. 153: uint8(0xa1),
  41369. 154: uint8(0xce),
  41370. 155: uint8(0xb9),
  41371. 156: uint8(0xe1),
  41372. 157: uint8(0xbc),
  41373. 158: uint8(0xa2),
  41374. 159: uint8(0xce),
  41375. 160: uint8(0xb9),
  41376. 161: uint8(0xe1),
  41377. 162: uint8(0xbc),
  41378. 163: uint8(0xa3),
  41379. 164: uint8(0xce),
  41380. 165: uint8(0xb9),
  41381. 166: uint8(0xe1),
  41382. 167: uint8(0xbc),
  41383. 168: uint8(0xa4),
  41384. 169: uint8(0xce),
  41385. 170: uint8(0xb9),
  41386. 171: uint8(0xe1),
  41387. 172: uint8(0xbc),
  41388. 173: uint8(0xa5),
  41389. 174: uint8(0xce),
  41390. 175: uint8(0xb9),
  41391. 176: uint8(0xe1),
  41392. 177: uint8(0xbc),
  41393. 178: uint8(0xa6),
  41394. 179: uint8(0xce),
  41395. 180: uint8(0xb9),
  41396. 181: uint8(0xe1),
  41397. 182: uint8(0xbc),
  41398. 183: uint8(0xa7),
  41399. 184: uint8(0xce),
  41400. 185: uint8(0xb9),
  41401. 186: uint8(0xe1),
  41402. 187: uint8(0xbc),
  41403. 188: uint8(0xa0),
  41404. 189: uint8(0xce),
  41405. 190: uint8(0xb9),
  41406. 191: uint8(0xe1),
  41407. 192: uint8(0xbc),
  41408. 193: uint8(0xa1),
  41409. 194: uint8(0xce),
  41410. 195: uint8(0xb9),
  41411. 196: uint8(0xe1),
  41412. 197: uint8(0xbc),
  41413. 198: uint8(0xa2),
  41414. 199: uint8(0xce),
  41415. 200: uint8(0xb9),
  41416. 201: uint8(0xe1),
  41417. 202: uint8(0xbc),
  41418. 203: uint8(0xa3),
  41419. 204: uint8(0xce),
  41420. 205: uint8(0xb9),
  41421. 206: uint8(0xe1),
  41422. 207: uint8(0xbc),
  41423. 208: uint8(0xa4),
  41424. 209: uint8(0xce),
  41425. 210: uint8(0xb9),
  41426. 211: uint8(0xe1),
  41427. 212: uint8(0xbc),
  41428. 213: uint8(0xa5),
  41429. 214: uint8(0xce),
  41430. 215: uint8(0xb9),
  41431. 216: uint8(0xe1),
  41432. 217: uint8(0xbc),
  41433. 218: uint8(0xa6),
  41434. 219: uint8(0xce),
  41435. 220: uint8(0xb9),
  41436. 221: uint8(0xe1),
  41437. 222: uint8(0xbc),
  41438. 223: uint8(0xa7),
  41439. 224: uint8(0xce),
  41440. 225: uint8(0xb9),
  41441. 226: uint8(0xe1),
  41442. 227: uint8(0xbd),
  41443. 228: uint8(0xa0),
  41444. 229: uint8(0xce),
  41445. 230: uint8(0xb9),
  41446. 231: uint8(0xe1),
  41447. 232: uint8(0xbd),
  41448. 233: uint8(0xa1),
  41449. 234: uint8(0xce),
  41450. 235: uint8(0xb9),
  41451. 236: uint8(0xe1),
  41452. 237: uint8(0xbd),
  41453. 238: uint8(0xa2),
  41454. 239: uint8(0xce),
  41455. 240: uint8(0xb9),
  41456. 241: uint8(0xe1),
  41457. 242: uint8(0xbd),
  41458. 243: uint8(0xa3),
  41459. 244: uint8(0xce),
  41460. 245: uint8(0xb9),
  41461. 246: uint8(0xe1),
  41462. 247: uint8(0xbd),
  41463. 248: uint8(0xa4),
  41464. 249: uint8(0xce),
  41465. 250: uint8(0xb9),
  41466. 251: uint8(0xe1),
  41467. 252: uint8(0xbd),
  41468. 253: uint8(0xa5),
  41469. 254: uint8(0xce),
  41470. 255: uint8(0xb9),
  41471. 256: uint8(0xe1),
  41472. 257: uint8(0xbd),
  41473. 258: uint8(0xa6),
  41474. 259: uint8(0xce),
  41475. 260: uint8(0xb9),
  41476. 261: uint8(0xe1),
  41477. 262: uint8(0xbd),
  41478. 263: uint8(0xa7),
  41479. 264: uint8(0xce),
  41480. 265: uint8(0xb9),
  41481. 266: uint8(0xe1),
  41482. 267: uint8(0xbd),
  41483. 268: uint8(0xa0),
  41484. 269: uint8(0xce),
  41485. 270: uint8(0xb9),
  41486. 271: uint8(0xe1),
  41487. 272: uint8(0xbd),
  41488. 273: uint8(0xa1),
  41489. 274: uint8(0xce),
  41490. 275: uint8(0xb9),
  41491. 276: uint8(0xe1),
  41492. 277: uint8(0xbd),
  41493. 278: uint8(0xa2),
  41494. 279: uint8(0xce),
  41495. 280: uint8(0xb9),
  41496. 281: uint8(0xe1),
  41497. 282: uint8(0xbd),
  41498. 283: uint8(0xa3),
  41499. 284: uint8(0xce),
  41500. 285: uint8(0xb9),
  41501. 286: uint8(0xe1),
  41502. 287: uint8(0xbd),
  41503. 288: uint8(0xa4),
  41504. 289: uint8(0xce),
  41505. 290: uint8(0xb9),
  41506. 291: uint8(0xe1),
  41507. 292: uint8(0xbd),
  41508. 293: uint8(0xa5),
  41509. 294: uint8(0xce),
  41510. 295: uint8(0xb9),
  41511. 296: uint8(0xe1),
  41512. 297: uint8(0xbd),
  41513. 298: uint8(0xa6),
  41514. 299: uint8(0xce),
  41515. 300: uint8(0xb9),
  41516. 301: uint8(0xe1),
  41517. 302: uint8(0xbd),
  41518. 303: uint8(0xa7),
  41519. 304: uint8(0xce),
  41520. 305: uint8(0xb9),
  41521. 306: uint8(0xe1),
  41522. 307: uint8(0xbd),
  41523. 308: uint8(0xb0),
  41524. 309: uint8(0xce),
  41525. 310: uint8(0xb9),
  41526. 311: uint8(0xce),
  41527. 312: uint8(0xb1),
  41528. 313: uint8(0xce),
  41529. 314: uint8(0xb9),
  41530. 315: uint8(0xce),
  41531. 316: uint8(0xac),
  41532. 317: uint8(0xce),
  41533. 318: uint8(0xb9),
  41534. 319: uint8(0xce),
  41535. 320: uint8(0xb1),
  41536. 321: uint8(0xcd),
  41537. 322: uint8(0x82),
  41538. 323: uint8(0xce),
  41539. 324: uint8(0xb1),
  41540. 325: uint8(0xcd),
  41541. 326: uint8(0x82),
  41542. 327: uint8(0xce),
  41543. 328: uint8(0xb9),
  41544. 329: uint8(0xce),
  41545. 330: uint8(0xb1),
  41546. 331: uint8(0xce),
  41547. 332: uint8(0xb9),
  41548. 333: uint8(0xe1),
  41549. 334: uint8(0xbd),
  41550. 335: uint8(0xb4),
  41551. 336: uint8(0xce),
  41552. 337: uint8(0xb9),
  41553. 338: uint8(0xce),
  41554. 339: uint8(0xb7),
  41555. 340: uint8(0xce),
  41556. 341: uint8(0xb9),
  41557. 342: uint8(0xce),
  41558. 343: uint8(0xae),
  41559. 344: uint8(0xce),
  41560. 345: uint8(0xb9),
  41561. 346: uint8(0xce),
  41562. 347: uint8(0xb7),
  41563. 348: uint8(0xcd),
  41564. 349: uint8(0x82),
  41565. 350: uint8(0xce),
  41566. 351: uint8(0xb7),
  41567. 352: uint8(0xcd),
  41568. 353: uint8(0x82),
  41569. 354: uint8(0xce),
  41570. 355: uint8(0xb9),
  41571. 356: uint8(0xce),
  41572. 357: uint8(0xb7),
  41573. 358: uint8(0xce),
  41574. 359: uint8(0xb9),
  41575. 360: uint8(0xce),
  41576. 361: uint8(0xb9),
  41577. 362: uint8(0xcc),
  41578. 363: uint8(0x88),
  41579. 364: uint8(0xcc),
  41580. 365: uint8(0x80),
  41581. 366: uint8(0xce),
  41582. 367: uint8(0xb9),
  41583. 368: uint8(0xcc),
  41584. 369: uint8(0x88),
  41585. 370: uint8(0xcc),
  41586. 371: uint8(0x81),
  41587. 372: uint8(0xce),
  41588. 373: uint8(0xb9),
  41589. 374: uint8(0xcd),
  41590. 375: uint8(0x82),
  41591. 376: uint8(0xce),
  41592. 377: uint8(0xb9),
  41593. 378: uint8(0xcc),
  41594. 379: uint8(0x88),
  41595. 380: uint8(0xcd),
  41596. 381: uint8(0x82),
  41597. 382: uint8(0xcf),
  41598. 383: uint8(0x85),
  41599. 384: uint8(0xcc),
  41600. 385: uint8(0x88),
  41601. 386: uint8(0xcc),
  41602. 387: uint8(0x80),
  41603. 388: uint8(0xcf),
  41604. 389: uint8(0x85),
  41605. 390: uint8(0xcc),
  41606. 391: uint8(0x88),
  41607. 392: uint8(0xcc),
  41608. 393: uint8(0x81),
  41609. 394: uint8(0xcf),
  41610. 395: uint8(0x81),
  41611. 396: uint8(0xcc),
  41612. 397: uint8(0x93),
  41613. 398: uint8(0xcf),
  41614. 399: uint8(0x85),
  41615. 400: uint8(0xcd),
  41616. 401: uint8(0x82),
  41617. 402: uint8(0xcf),
  41618. 403: uint8(0x85),
  41619. 404: uint8(0xcc),
  41620. 405: uint8(0x88),
  41621. 406: uint8(0xcd),
  41622. 407: uint8(0x82),
  41623. 408: uint8(0xe1),
  41624. 409: uint8(0xbd),
  41625. 410: uint8(0xbc),
  41626. 411: uint8(0xce),
  41627. 412: uint8(0xb9),
  41628. 413: uint8(0xcf),
  41629. 414: uint8(0x89),
  41630. 415: uint8(0xce),
  41631. 416: uint8(0xb9),
  41632. 417: uint8(0xcf),
  41633. 418: uint8(0x8e),
  41634. 419: uint8(0xce),
  41635. 420: uint8(0xb9),
  41636. 421: uint8(0xcf),
  41637. 422: uint8(0x89),
  41638. 423: uint8(0xcd),
  41639. 424: uint8(0x82),
  41640. 425: uint8(0xcf),
  41641. 426: uint8(0x89),
  41642. 427: uint8(0xcd),
  41643. 428: uint8(0x82),
  41644. 429: uint8(0xce),
  41645. 430: uint8(0xb9),
  41646. 431: uint8(0xcf),
  41647. 432: uint8(0x89),
  41648. 433: uint8(0xce),
  41649. 434: uint8(0xb9),
  41650. 435: uint8(0x66),
  41651. 436: uint8(0x66),
  41652. 437: uint8(0x66),
  41653. 438: uint8(0x69),
  41654. 439: uint8(0x66),
  41655. 440: uint8(0x6c),
  41656. 441: uint8(0x66),
  41657. 442: uint8(0x66),
  41658. 443: uint8(0x69),
  41659. 444: uint8(0x66),
  41660. 445: uint8(0x66),
  41661. 446: uint8(0x6c),
  41662. 447: uint8(0x73),
  41663. 448: uint8(0x74),
  41664. 449: uint8(0x73),
  41665. 450: uint8(0x74),
  41666. 451: uint8(0xd5),
  41667. 452: uint8(0xb4),
  41668. 453: uint8(0xd5),
  41669. 454: uint8(0xb6),
  41670. 455: uint8(0xd5),
  41671. 456: uint8(0xb4),
  41672. 457: uint8(0xd5),
  41673. 458: uint8(0xa5),
  41674. 459: uint8(0xd5),
  41675. 460: uint8(0xb4),
  41676. 461: uint8(0xd5),
  41677. 462: uint8(0xab),
  41678. 463: uint8(0xd5),
  41679. 464: uint8(0xbe),
  41680. 465: uint8(0xd5),
  41681. 466: uint8(0xb6),
  41682. 467: uint8(0xd5),
  41683. 468: uint8(0xb4),
  41684. 469: uint8(0xd5),
  41685. 470: uint8(0xad),
  41686. }
  41687. type TFcCaseWalker = struct {
  41688. Fread uintptr
  41689. Fsrc uintptr
  41690. Futf8 [7]TFcChar8
  41691. }
  41692. type T_FcCaseWalker = TFcCaseWalker
  41693. func _FcStrCaseWalkerInit(tls *libc.TLS, src uintptr, w uintptr) {
  41694. (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc = src
  41695. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41696. }
  41697. func _FcStrCaseWalkerLong(tls *libc.TLS, w uintptr, r TFcChar8) (r1 TFcChar8) {
  41698. bp := tls.Alloc(16)
  41699. defer tls.Free(16)
  41700. var dlen, len1, max, mid, min, slen, v1 int32
  41701. var fold, v2, v3 uintptr
  41702. var high, low TFcChar32
  41703. var _ /* ucs4 at bp+0 */ TFcChar32
  41704. _, _, _, _, _, _, _, _, _, _, _, _ = dlen, fold, high, len1, low, max, mid, min, slen, v1, v2, v3
  41705. len1 = libc.Int32FromUint32(libc.Xstrlen(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc))
  41706. slen = XIA__FcUtf8ToUcs4(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc-uintptr(1), bp, len1+int32(1))
  41707. if slen <= 0 {
  41708. return r
  41709. }
  41710. if uint32(m_FC_MIN_FOLD_CHAR) <= *(*TFcChar32)(unsafe.Pointer(bp)) && *(*TFcChar32)(unsafe.Pointer(bp)) <= uint32(m_FC_MAX_FOLD_CHAR) {
  41711. min = 0
  41712. max = int32(m_FC_NUM_CASE_FOLD)
  41713. for min <= max {
  41714. mid = (min + max) >> int32(1)
  41715. low = _fcCaseFold[mid].Fupper
  41716. if int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4))&0x3>>0) == int32(m_FC_CASE_FOLD_FULL) {
  41717. v1 = int32(1)
  41718. } else {
  41719. v1 = int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4)) & 0xfffc >> 2)
  41720. }
  41721. high = low + libc.Uint32FromInt32(v1)
  41722. if high <= *(*TFcChar32)(unsafe.Pointer(bp)) {
  41723. min = mid + int32(1)
  41724. } else {
  41725. if *(*TFcChar32)(unsafe.Pointer(bp)) < low {
  41726. max = mid - int32(1)
  41727. } else {
  41728. fold = uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8
  41729. switch int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0x3 >> 0) {
  41730. case int32(m_FC_CASE_FOLD_EVEN_ODD):
  41731. if *(*TFcChar32)(unsafe.Pointer(bp))&uint32(1) != (*TFcCaseFold)(unsafe.Pointer(fold)).Fupper&uint32(1) {
  41732. return r
  41733. }
  41734. /* fall through ... */
  41735. fallthrough
  41736. default:
  41737. dlen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp))+libc.Uint32FromInt16((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), w+8)
  41738. case int32(m_FC_CASE_FOLD_FULL):
  41739. dlen = int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0xfffc >> 2)
  41740. libc.Xmemcpy(tls, w+8, uintptr(unsafe.Pointer(&_fcCaseFoldChars))+uintptr((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), libc.Uint32FromInt32(dlen))
  41741. break
  41742. }
  41743. /* consume rest of src utf-8 bytes */
  41744. *(*uintptr)(unsafe.Pointer(w + 4)) += uintptr(slen - int32(1))
  41745. /* read from temp buffer */
  41746. *(*TFcChar8)(unsafe.Pointer(w + 8 + uintptr(dlen))) = uint8('\000')
  41747. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = w + 8
  41748. v3 = w
  41749. v2 = *(*uintptr)(unsafe.Pointer(v3))
  41750. *(*uintptr)(unsafe.Pointer(v3))++
  41751. return *(*TFcChar8)(unsafe.Pointer(v2))
  41752. }
  41753. }
  41754. }
  41755. }
  41756. return r
  41757. }
  41758. func _FcStrCaseWalkerNextNonDelim(tls *libc.TLS, w uintptr, delims uintptr) (r1 TFcChar8) {
  41759. var r, v2 TFcChar8
  41760. var v1, v7 int32
  41761. var v3, v4, v5, v6 uintptr
  41762. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41763. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41764. v1 = int32(1)
  41765. } else {
  41766. v1 = 0
  41767. }
  41768. if libc.X__builtin_expect(tls, v1, 0) != 0 {
  41769. v4 = w
  41770. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41771. *(*uintptr)(unsafe.Pointer(v4))++
  41772. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41773. r = v2
  41774. if v2 != 0 {
  41775. return r
  41776. }
  41777. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41778. }
  41779. for cond := true; cond; cond = libc.Int32FromUint8(r) != 0 && delims != 0 && libc.Xstrchr(tls, delims, libc.Int32FromUint8(r)) != 0 {
  41780. v6 = w + 4
  41781. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41782. *(*uintptr)(unsafe.Pointer(v6))++
  41783. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41784. }
  41785. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41786. v7 = int32(1)
  41787. } else {
  41788. v7 = 0
  41789. }
  41790. if libc.X__builtin_expect(tls, v7, 0) != 0 {
  41791. return _FcStrCaseWalkerLong(tls, w, r)
  41792. }
  41793. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41794. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41795. }
  41796. return r
  41797. }
  41798. func _FcStrCaseWalkerNextNonBlank(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  41799. var r, v2 TFcChar8
  41800. var v1, v7 int32
  41801. var v3, v4, v5, v6 uintptr
  41802. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41803. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41804. v1 = int32(1)
  41805. } else {
  41806. v1 = 0
  41807. }
  41808. if libc.X__builtin_expect(tls, v1, 0) != 0 {
  41809. v4 = w
  41810. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41811. *(*uintptr)(unsafe.Pointer(v4))++
  41812. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41813. r = v2
  41814. if v2 != 0 {
  41815. return r
  41816. }
  41817. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41818. }
  41819. for cond := true; cond; cond = libc.Int32FromUint8(r) == int32(' ') {
  41820. v6 = w + 4
  41821. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41822. *(*uintptr)(unsafe.Pointer(v6))++
  41823. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41824. }
  41825. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41826. v7 = int32(1)
  41827. } else {
  41828. v7 = 0
  41829. }
  41830. if libc.X__builtin_expect(tls, v7, 0) != 0 {
  41831. return _FcStrCaseWalkerLong(tls, w, r)
  41832. }
  41833. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41834. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41835. }
  41836. return r
  41837. }
  41838. func _FcStrCaseWalkerNext(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  41839. var r, v2 TFcChar8
  41840. var v1, v7 int32
  41841. var v3, v4, v5, v6 uintptr
  41842. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41843. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41844. v1 = int32(1)
  41845. } else {
  41846. v1 = 0
  41847. }
  41848. if libc.X__builtin_expect(tls, v1, 0) != 0 {
  41849. v4 = w
  41850. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41851. *(*uintptr)(unsafe.Pointer(v4))++
  41852. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41853. r = v2
  41854. if v2 != 0 {
  41855. return r
  41856. }
  41857. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41858. }
  41859. v6 = w + 4
  41860. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41861. *(*uintptr)(unsafe.Pointer(v6))++
  41862. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41863. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41864. v7 = int32(1)
  41865. } else {
  41866. v7 = 0
  41867. }
  41868. if libc.X__builtin_expect(tls, v7, 0) != 0 {
  41869. return _FcStrCaseWalkerLong(tls, w, r)
  41870. }
  41871. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41872. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41873. }
  41874. return r
  41875. }
  41876. func XIA__FcStrDowncase(tls *libc.TLS, s uintptr) (r uintptr) {
  41877. bp := tls.Alloc(16)
  41878. defer tls.Free(16)
  41879. var d, dst, v1, v3 uintptr
  41880. var len1 int32
  41881. var v2 TFcChar8
  41882. var _ /* w at bp+0 */ TFcCaseWalker
  41883. _, _, _, _, _, _ = d, dst, len1, v1, v2, v3
  41884. len1 = 0
  41885. _FcStrCaseWalkerInit(tls, s, bp)
  41886. for _FcStrCaseWalkerNext(tls, bp) != 0 {
  41887. len1++
  41888. }
  41889. v1 = libc.Xmalloc(tls, libc.Uint32FromInt32(len1+int32(1)))
  41890. dst = v1
  41891. d = v1
  41892. if !(d != 0) {
  41893. return uintptr(0)
  41894. }
  41895. _FcStrCaseWalkerInit(tls, s, bp)
  41896. for {
  41897. v2 = _FcStrCaseWalkerNext(tls, bp)
  41898. v3 = d
  41899. d++
  41900. *(*TFcChar8)(unsafe.Pointer(v3)) = v2
  41901. if !(v2 != 0) {
  41902. break
  41903. }
  41904. }
  41905. return dst
  41906. }
  41907. var XFcStrDowncase = XIA__FcStrDowncase
  41908. func XIA__FcStrCmpIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41909. bp := tls.Alloc(32)
  41910. defer tls.Free(32)
  41911. var c1, c2 TFcChar8
  41912. var _ /* w1 at bp+0 */ TFcCaseWalker
  41913. var _ /* w2 at bp+16 */ TFcCaseWalker
  41914. _, _ = c1, c2
  41915. if s1 == s2 {
  41916. return 0
  41917. }
  41918. _FcStrCaseWalkerInit(tls, s1, bp)
  41919. _FcStrCaseWalkerInit(tls, s2, bp+16)
  41920. for {
  41921. c1 = _FcStrCaseWalkerNext(tls, bp)
  41922. c2 = _FcStrCaseWalkerNext(tls, bp+16)
  41923. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41924. break
  41925. }
  41926. goto _1
  41927. _1:
  41928. }
  41929. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41930. }
  41931. var XFcStrCmpIgnoreCase = XIA__FcStrCmpIgnoreCase
  41932. func XFcStrCmpIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41933. bp := tls.Alloc(32)
  41934. defer tls.Free(32)
  41935. var c1, c2 TFcChar8
  41936. var _ /* w1 at bp+0 */ TFcCaseWalker
  41937. var _ /* w2 at bp+16 */ TFcCaseWalker
  41938. _, _ = c1, c2
  41939. if s1 == s2 {
  41940. return 0
  41941. }
  41942. _FcStrCaseWalkerInit(tls, s1, bp)
  41943. _FcStrCaseWalkerInit(tls, s2, bp+16)
  41944. for {
  41945. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  41946. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+16)
  41947. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41948. break
  41949. }
  41950. goto _1
  41951. _1:
  41952. }
  41953. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41954. }
  41955. func XIA__FcStrCmp(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41956. var c1, c2 TFcChar8
  41957. var v2, v3 uintptr
  41958. _, _, _, _ = c1, c2, v2, v3
  41959. if s1 == s2 {
  41960. return 0
  41961. }
  41962. for {
  41963. v2 = s1
  41964. s1++
  41965. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  41966. v3 = s2
  41967. s2++
  41968. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41969. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41970. break
  41971. }
  41972. goto _1
  41973. _1:
  41974. }
  41975. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41976. }
  41977. var XFcStrCmp = XIA__FcStrCmp
  41978. /*
  41979. * Return a hash value for a string
  41980. */
  41981. func XFcStrHashIgnoreCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  41982. bp := tls.Alloc(16)
  41983. defer tls.Free(16)
  41984. var c, v1 TFcChar8
  41985. var h TFcChar32
  41986. var _ /* w at bp+0 */ TFcCaseWalker
  41987. _, _, _ = c, h, v1
  41988. h = uint32(0)
  41989. _FcStrCaseWalkerInit(tls, s, bp)
  41990. for {
  41991. v1 = _FcStrCaseWalkerNext(tls, bp)
  41992. c = v1
  41993. if !(v1 != 0) {
  41994. break
  41995. }
  41996. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  41997. }
  41998. return h
  41999. }
  42000. func XFcStrHashIgnoreBlanksAndCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  42001. bp := tls.Alloc(16)
  42002. defer tls.Free(16)
  42003. var c, v1 TFcChar8
  42004. var h TFcChar32
  42005. var _ /* w at bp+0 */ TFcCaseWalker
  42006. _, _, _ = c, h, v1
  42007. h = uint32(0)
  42008. _FcStrCaseWalkerInit(tls, s, bp)
  42009. for {
  42010. v1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  42011. c = v1
  42012. if !(v1 != 0) {
  42013. break
  42014. }
  42015. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  42016. }
  42017. return h
  42018. }
  42019. /*
  42020. * Is the head of s1 equal to s2?
  42021. */
  42022. func _FcStrIsAtIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  42023. bp := tls.Alloc(32)
  42024. defer tls.Free(32)
  42025. var c1, c2 TFcChar8
  42026. var _ /* w1 at bp+0 */ TFcCaseWalker
  42027. var _ /* w2 at bp+16 */ TFcCaseWalker
  42028. _, _ = c1, c2
  42029. _FcStrCaseWalkerInit(tls, s1, bp)
  42030. _FcStrCaseWalkerInit(tls, s2, bp+16)
  42031. for {
  42032. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  42033. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+16)
  42034. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42035. break
  42036. }
  42037. goto _1
  42038. _1:
  42039. }
  42040. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  42041. }
  42042. /*
  42043. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  42044. */
  42045. func XFcStrContainsIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42046. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  42047. if _FcStrIsAtIgnoreBlanksAndCase(tls, s1, s2) != 0 {
  42048. return s1
  42049. }
  42050. s1++
  42051. }
  42052. return uintptr(0)
  42053. }
  42054. func _FcCharIsPunct1(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  42055. if libc.Int32FromUint8(c) < int32('0') {
  42056. return int32(m_FcTrue)
  42057. }
  42058. if libc.Int32FromUint8(c) <= int32('9') {
  42059. return m_FcFalse
  42060. }
  42061. if libc.Int32FromUint8(c) < int32('A') {
  42062. return int32(m_FcTrue)
  42063. }
  42064. if libc.Int32FromUint8(c) <= int32('Z') {
  42065. return m_FcFalse
  42066. }
  42067. if libc.Int32FromUint8(c) < int32('a') {
  42068. return int32(m_FcTrue)
  42069. }
  42070. if libc.Int32FromUint8(c) <= int32('z') {
  42071. return m_FcFalse
  42072. }
  42073. if libc.Int32FromUint8(c) <= int32('~') {
  42074. return int32(m_FcTrue)
  42075. }
  42076. return m_FcFalse
  42077. }
  42078. /*
  42079. * Is the head of s1 equal to s2?
  42080. */
  42081. func _FcStrIsAtIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  42082. bp := tls.Alloc(32)
  42083. defer tls.Free(32)
  42084. var c1, c2 TFcChar8
  42085. var _ /* w1 at bp+0 */ TFcCaseWalker
  42086. var _ /* w2 at bp+16 */ TFcCaseWalker
  42087. _, _ = c1, c2
  42088. _FcStrCaseWalkerInit(tls, s1, bp)
  42089. _FcStrCaseWalkerInit(tls, s2, bp+16)
  42090. for {
  42091. c1 = _FcStrCaseWalkerNext(tls, bp)
  42092. c2 = _FcStrCaseWalkerNext(tls, bp+16)
  42093. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42094. break
  42095. }
  42096. goto _1
  42097. _1:
  42098. }
  42099. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  42100. }
  42101. /*
  42102. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  42103. */
  42104. func XFcStrContainsIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42105. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  42106. if _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 {
  42107. return s1
  42108. }
  42109. s1++
  42110. }
  42111. return uintptr(0)
  42112. }
  42113. /*
  42114. * Does s1 contain an instance of s2 on a word boundary (ignoring case)?
  42115. */
  42116. func XFcStrContainsWord(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42117. var s1len, s2len int32
  42118. var wordStart TFcBool
  42119. _, _, _ = s1len, s2len, wordStart
  42120. wordStart = int32(m_FcTrue)
  42121. s1len = libc.Int32FromUint32(libc.Xstrlen(tls, s1))
  42122. s2len = libc.Int32FromUint32(libc.Xstrlen(tls, s2))
  42123. for s1len >= s2len {
  42124. if wordStart != 0 && _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 && (s1len == s2len || _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1 + uintptr(s2len)))) != 0) {
  42125. return s1
  42126. }
  42127. wordStart = m_FcFalse
  42128. if _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1))) != 0 {
  42129. wordStart = int32(m_FcTrue)
  42130. }
  42131. s1++
  42132. s1len--
  42133. }
  42134. return uintptr(0)
  42135. }
  42136. /*
  42137. * returns the number of strings (ignoring delimiters and case) being matched
  42138. */
  42139. func XFcStrMatchIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  42140. bp := tls.Alloc(32)
  42141. defer tls.Free(32)
  42142. var c1, c2 TFcChar8
  42143. var _ /* w1 at bp+0 */ TFcCaseWalker
  42144. var _ /* w2 at bp+16 */ TFcCaseWalker
  42145. _, _ = c1, c2
  42146. if s1 == s2 {
  42147. return 0
  42148. }
  42149. _FcStrCaseWalkerInit(tls, s1, bp)
  42150. _FcStrCaseWalkerInit(tls, s2, bp+16)
  42151. for {
  42152. c1 = _FcStrCaseWalkerNextNonDelim(tls, bp, delims)
  42153. c2 = _FcStrCaseWalkerNextNonDelim(tls, bp+16, delims)
  42154. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42155. break
  42156. }
  42157. goto _1
  42158. _1:
  42159. }
  42160. return int32((*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc) - int32(s1) - int32(1)
  42161. }
  42162. func XFcStrGlobMatch(tls *libc.TLS, glob uintptr, string1 uintptr) (r TFcBool) {
  42163. var c, v1 TFcChar8
  42164. var l1, l2 Tsize_t
  42165. var v2, v3, v4 uintptr
  42166. _, _, _, _, _, _, _ = c, l1, l2, v1, v2, v3, v4
  42167. for {
  42168. v2 = glob
  42169. glob++
  42170. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  42171. c = v1
  42172. if !(v1 != 0) {
  42173. break
  42174. }
  42175. switch libc.Int32FromUint8(c) {
  42176. case int32('*'):
  42177. /* short circuit common case */
  42178. if !(*(*TFcChar8)(unsafe.Pointer(glob)) != 0) {
  42179. return int32(m_FcTrue)
  42180. }
  42181. /* short circuit another common case */
  42182. if libc.Xstrchr(tls, glob, int32('*')) == uintptr(0) {
  42183. l1 = libc.Xstrlen(tls, string1)
  42184. l2 = libc.Xstrlen(tls, glob)
  42185. if l1 < l2 {
  42186. return m_FcFalse
  42187. }
  42188. string1 += uintptr(l1 - l2)
  42189. }
  42190. for *(*TFcChar8)(unsafe.Pointer(string1)) != 0 {
  42191. if XFcStrGlobMatch(tls, glob, string1) != 0 {
  42192. return int32(m_FcTrue)
  42193. }
  42194. string1++
  42195. }
  42196. return m_FcFalse
  42197. case int32('?'):
  42198. v3 = string1
  42199. string1++
  42200. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v3))) == int32('\000') {
  42201. return m_FcFalse
  42202. }
  42203. default:
  42204. v4 = string1
  42205. string1++
  42206. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v4))) != libc.Int32FromUint8(c) {
  42207. return m_FcFalse
  42208. }
  42209. break
  42210. }
  42211. }
  42212. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(string1))) == int32('\000'))
  42213. }
  42214. func XIA__FcStrStrIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42215. bp := tls.Alloc(64)
  42216. defer tls.Free(64)
  42217. var c1, c1t, c2, c2t TFcChar8
  42218. var cur uintptr
  42219. var _ /* w1 at bp+0 */ TFcCaseWalker
  42220. var _ /* w1t at bp+32 */ TFcCaseWalker
  42221. var _ /* w2 at bp+16 */ TFcCaseWalker
  42222. var _ /* w2t at bp+48 */ TFcCaseWalker
  42223. _, _, _, _, _ = c1, c1t, c2, c2t, cur
  42224. if !(s1 != 0) || !(s2 != 0) {
  42225. return uintptr(0)
  42226. }
  42227. if s1 == s2 {
  42228. return s1
  42229. }
  42230. _FcStrCaseWalkerInit(tls, s1, bp)
  42231. _FcStrCaseWalkerInit(tls, s2, bp+16)
  42232. c2 = _FcStrCaseWalkerNext(tls, bp+16)
  42233. for {
  42234. cur = (*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc
  42235. c1 = _FcStrCaseWalkerNext(tls, bp)
  42236. if !(c1 != 0) {
  42237. break
  42238. }
  42239. if libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  42240. *(*TFcCaseWalker)(unsafe.Pointer(bp + 32)) = *(*TFcCaseWalker)(unsafe.Pointer(bp))
  42241. *(*TFcCaseWalker)(unsafe.Pointer(bp + 48)) = *(*TFcCaseWalker)(unsafe.Pointer(bp + 16))
  42242. for {
  42243. c1t = _FcStrCaseWalkerNext(tls, bp+32)
  42244. c2t = _FcStrCaseWalkerNext(tls, bp+48)
  42245. if !(c2t != 0) {
  42246. return cur
  42247. }
  42248. if libc.Int32FromUint8(c2t) != libc.Int32FromUint8(c1t) {
  42249. break
  42250. }
  42251. goto _2
  42252. _2:
  42253. }
  42254. }
  42255. goto _1
  42256. _1:
  42257. }
  42258. return uintptr(0)
  42259. }
  42260. var XFcStrStrIgnoreCase = XIA__FcStrStrIgnoreCase
  42261. func XIA__FcStrStr(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42262. var b, p, v1, v3 uintptr
  42263. var c1, c2 TFcChar8
  42264. _, _, _, _, _, _ = b, c1, c2, p, v1, v3
  42265. p = s1
  42266. b = s2
  42267. if !(s1 != 0) || !(s2 != 0) {
  42268. return uintptr(0)
  42269. }
  42270. if s1 == s2 {
  42271. return s1
  42272. }
  42273. goto again
  42274. again:
  42275. ;
  42276. v1 = s2
  42277. s2++
  42278. c2 = *(*TFcChar8)(unsafe.Pointer(v1))
  42279. if !(c2 != 0) {
  42280. return uintptr(0)
  42281. }
  42282. for {
  42283. p = s1
  42284. v3 = s1
  42285. s1++
  42286. c1 = *(*TFcChar8)(unsafe.Pointer(v3))
  42287. if !(c1 != 0) || libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  42288. break
  42289. }
  42290. goto _2
  42291. _2:
  42292. }
  42293. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42294. return uintptr(0)
  42295. }
  42296. for {
  42297. c1 = *(*TFcChar8)(unsafe.Pointer(s1))
  42298. c2 = *(*TFcChar8)(unsafe.Pointer(s2))
  42299. if c1 != 0 && c2 != 0 && libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42300. s1 = p + uintptr(1)
  42301. s2 = b
  42302. goto again
  42303. }
  42304. if !(c2 != 0) {
  42305. return p
  42306. }
  42307. if !(c1 != 0) {
  42308. return uintptr(0)
  42309. }
  42310. s1++
  42311. s2++
  42312. goto _4
  42313. _4:
  42314. }
  42315. /* never reached. */
  42316. return r
  42317. }
  42318. var XFcStrStr = XIA__FcStrStr
  42319. func XIA__FcUtf8ToUcs4(tls *libc.TLS, src_orig uintptr, dst uintptr, len1 int32) (r int32) {
  42320. var extra, v2 int32
  42321. var result TFcChar32
  42322. var s TFcChar8
  42323. var src, v1, v3 uintptr
  42324. _, _, _, _, _, _, _ = extra, result, s, src, v1, v2, v3
  42325. src = src_orig
  42326. if len1 == 0 {
  42327. return 0
  42328. }
  42329. v1 = src
  42330. src++
  42331. s = *(*TFcChar8)(unsafe.Pointer(v1))
  42332. len1--
  42333. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x80) != 0) {
  42334. result = uint32(s)
  42335. extra = 0
  42336. } else {
  42337. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x40) != 0) {
  42338. return -int32(1)
  42339. } else {
  42340. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x20) != 0) {
  42341. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x1f))
  42342. extra = int32(1)
  42343. } else {
  42344. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x10) != 0) {
  42345. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0xf))
  42346. extra = int32(2)
  42347. } else {
  42348. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x08) != 0) {
  42349. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x07))
  42350. extra = int32(3)
  42351. } else {
  42352. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x04) != 0) {
  42353. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x03))
  42354. extra = int32(4)
  42355. } else {
  42356. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x02) != 0) {
  42357. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x01))
  42358. extra = int32(5)
  42359. } else {
  42360. return -int32(1)
  42361. }
  42362. }
  42363. }
  42364. }
  42365. }
  42366. }
  42367. }
  42368. if extra > len1 {
  42369. return -int32(1)
  42370. }
  42371. for {
  42372. v2 = extra
  42373. extra--
  42374. if !(v2 != 0) {
  42375. break
  42376. }
  42377. result <<= uint32(6)
  42378. v3 = src
  42379. src++
  42380. s = *(*TFcChar8)(unsafe.Pointer(v3))
  42381. if libc.Int32FromUint8(s)&int32(0xc0) != int32(0x80) {
  42382. return -int32(1)
  42383. }
  42384. result |= libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x3f))
  42385. }
  42386. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  42387. return int32(src) - int32(src_orig)
  42388. }
  42389. var XFcUtf8ToUcs4 = XIA__FcUtf8ToUcs4
  42390. func XIA__FcUtf8Len(tls *libc.TLS, string1 uintptr, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  42391. bp := tls.Alloc(16)
  42392. defer tls.Free(16)
  42393. var clen, n int32
  42394. var max TFcChar32
  42395. var _ /* c at bp+0 */ TFcChar32
  42396. _, _, _ = clen, max, n
  42397. n = 0
  42398. max = uint32(0)
  42399. for len1 != 0 {
  42400. clen = XIA__FcUtf8ToUcs4(tls, string1, bp, len1)
  42401. if clen <= 0 { /* malformed UTF8 string */
  42402. return m_FcFalse
  42403. }
  42404. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  42405. max = *(*TFcChar32)(unsafe.Pointer(bp))
  42406. }
  42407. string1 += uintptr(clen)
  42408. len1 -= clen
  42409. n++
  42410. }
  42411. *(*int32)(unsafe.Pointer(nchar)) = n
  42412. if max >= uint32(0x10000) {
  42413. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  42414. } else {
  42415. if max > uint32(0x100) {
  42416. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  42417. } else {
  42418. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  42419. }
  42420. }
  42421. return int32(m_FcTrue)
  42422. }
  42423. var XFcUtf8Len = XIA__FcUtf8Len
  42424. func XIA__FcUcs4ToUtf8(tls *libc.TLS, ucs4 TFcChar32, dest uintptr) (r int32) {
  42425. var bits int32
  42426. var d, v1, v2, v3, v4, v5, v6, v8 uintptr
  42427. _, _, _, _, _, _, _, _, _ = bits, d, v1, v2, v3, v4, v5, v6, v8
  42428. d = dest
  42429. if ucs4 < uint32(0x80) {
  42430. v1 = d
  42431. d++
  42432. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(ucs4)
  42433. bits = -int32(6)
  42434. } else {
  42435. if ucs4 < uint32(0x800) {
  42436. v2 = d
  42437. d++
  42438. *(*TFcChar8)(unsafe.Pointer(v2)) = uint8(ucs4>>libc.Int32FromInt32(6)&uint32(0x1F) | uint32(0xC0))
  42439. bits = 0
  42440. } else {
  42441. if ucs4 < uint32(0x10000) {
  42442. v3 = d
  42443. d++
  42444. *(*TFcChar8)(unsafe.Pointer(v3)) = uint8(ucs4>>libc.Int32FromInt32(12)&uint32(0x0F) | uint32(0xE0))
  42445. bits = int32(6)
  42446. } else {
  42447. if ucs4 < uint32(0x200000) {
  42448. v4 = d
  42449. d++
  42450. *(*TFcChar8)(unsafe.Pointer(v4)) = uint8(ucs4>>libc.Int32FromInt32(18)&uint32(0x07) | uint32(0xF0))
  42451. bits = int32(12)
  42452. } else {
  42453. if ucs4 < uint32(0x4000000) {
  42454. v5 = d
  42455. d++
  42456. *(*TFcChar8)(unsafe.Pointer(v5)) = uint8(ucs4>>libc.Int32FromInt32(24)&uint32(0x03) | uint32(0xF8))
  42457. bits = int32(18)
  42458. } else {
  42459. if ucs4 < uint32(0x80000000) {
  42460. v6 = d
  42461. d++
  42462. *(*TFcChar8)(unsafe.Pointer(v6)) = uint8(ucs4>>libc.Int32FromInt32(30)&uint32(0x01) | uint32(0xFC))
  42463. bits = int32(24)
  42464. } else {
  42465. return 0
  42466. }
  42467. }
  42468. }
  42469. }
  42470. }
  42471. }
  42472. for {
  42473. if !(bits >= 0) {
  42474. break
  42475. }
  42476. v8 = d
  42477. d++
  42478. *(*TFcChar8)(unsafe.Pointer(v8)) = uint8(ucs4>>bits&uint32(0x3F) | uint32(0x80))
  42479. goto _7
  42480. _7:
  42481. ;
  42482. bits -= int32(6)
  42483. }
  42484. return int32(d) - int32(dest)
  42485. }
  42486. var XFcUcs4ToUtf8 = XIA__FcUcs4ToUtf8
  42487. func XIA__FcUtf16ToUcs4(tls *libc.TLS, src_orig uintptr, endian TFcEndian, dst uintptr, len1 int32) (r int32) {
  42488. /* in bytes */
  42489. var a, b TFcChar16
  42490. var result TFcChar32
  42491. var src uintptr
  42492. var v1, v2, v3, v4 int32
  42493. _, _, _, _, _, _, _, _ = a, b, result, src, v1, v2, v3, v4
  42494. src = src_orig
  42495. if len1 < int32(2) {
  42496. return 0
  42497. }
  42498. if endian == int32(_FcEndianBig) {
  42499. v1 = 0
  42500. } else {
  42501. v1 = int32(1)
  42502. }
  42503. if endian == int32(_FcEndianBig) {
  42504. v2 = int32(1)
  42505. } else {
  42506. v2 = 0
  42507. }
  42508. a = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v1))))<<libc.Int32FromInt32(8))) | libc.Int32FromUint16(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v2))))))
  42509. src += uintptr(2)
  42510. len1 -= int32(2)
  42511. /*
  42512. * Check for surrogate
  42513. */
  42514. if libc.Int32FromUint16(a)&int32(0xfc00) == int32(0xd800) {
  42515. if len1 < int32(2) {
  42516. return 0
  42517. }
  42518. if endian == int32(_FcEndianBig) {
  42519. v3 = 0
  42520. } else {
  42521. v3 = int32(1)
  42522. }
  42523. if endian == int32(_FcEndianBig) {
  42524. v4 = int32(1)
  42525. } else {
  42526. v4 = 0
  42527. }
  42528. b = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v3))))<<libc.Int32FromInt32(8))) | libc.Int32FromUint16(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v4))))))
  42529. src += uintptr(2)
  42530. len1 -= int32(2)
  42531. /*
  42532. * Check for invalid surrogate sequence
  42533. */
  42534. if libc.Int32FromUint16(b)&int32(0xfc00) != int32(0xdc00) {
  42535. return 0
  42536. }
  42537. result = uint32(a)&uint32(0x3ff)<<int32(10) | uint32(b)&uint32(0x3ff) + uint32(0x10000)
  42538. } else {
  42539. result = uint32(a)
  42540. }
  42541. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  42542. return int32(src) - int32(src_orig)
  42543. }
  42544. var XFcUtf16ToUcs4 = XIA__FcUtf16ToUcs4
  42545. func XIA__FcUtf16Len(tls *libc.TLS, string1 uintptr, endian TFcEndian, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  42546. bp := tls.Alloc(16)
  42547. defer tls.Free(16)
  42548. var clen, n int32
  42549. var max TFcChar32
  42550. var _ /* c at bp+0 */ TFcChar32
  42551. _, _, _ = clen, max, n
  42552. n = 0
  42553. max = uint32(0)
  42554. for len1 != 0 {
  42555. clen = XIA__FcUtf16ToUcs4(tls, string1, endian, bp, len1)
  42556. if clen <= 0 { /* malformed UTF8 string */
  42557. return m_FcFalse
  42558. }
  42559. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  42560. max = *(*TFcChar32)(unsafe.Pointer(bp))
  42561. }
  42562. string1 += uintptr(clen)
  42563. len1 -= clen
  42564. n++
  42565. }
  42566. *(*int32)(unsafe.Pointer(nchar)) = n
  42567. if max >= uint32(0x10000) {
  42568. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  42569. } else {
  42570. if max > uint32(0x100) {
  42571. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  42572. } else {
  42573. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  42574. }
  42575. }
  42576. return int32(m_FcTrue)
  42577. }
  42578. var XFcUtf16Len = XIA__FcUtf16Len
  42579. func XFcStrBufInit(tls *libc.TLS, buf uintptr, init1 uintptr, size int32) {
  42580. if init1 != 0 {
  42581. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = init1
  42582. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  42583. } else {
  42584. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = buf + 20
  42585. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = int32(64)
  42586. }
  42587. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = m_FcFalse
  42588. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = m_FcFalse
  42589. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = 0
  42590. }
  42591. func XFcStrBufDestroy(tls *libc.TLS, buf uintptr) {
  42592. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  42593. libc.Xfree(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf)
  42594. XFcStrBufInit(tls, buf, uintptr(0), 0)
  42595. }
  42596. }
  42597. func XFcStrBufDone(tls *libc.TLS, buf uintptr) (r uintptr) {
  42598. var ret uintptr
  42599. _ = ret
  42600. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42601. ret = libc.UintptrFromInt32(0)
  42602. } else {
  42603. ret = libc.Xmalloc(tls, libc.Uint32FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1+int32(1)))
  42604. }
  42605. if ret != 0 {
  42606. libc.Xmemcpy(tls, ret, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint32FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  42607. *(*TFcChar8)(unsafe.Pointer(ret + uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))) = uint8('\000')
  42608. }
  42609. XFcStrBufDestroy(tls, buf)
  42610. return ret
  42611. }
  42612. func XFcStrBufDoneStatic(tls *libc.TLS, buf uintptr) (r uintptr) {
  42613. XFcStrBufChar(tls, buf, uint8('\000'))
  42614. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42615. return libc.UintptrFromInt32(0)
  42616. }
  42617. return (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf
  42618. }
  42619. func XFcStrBufChar(tls *libc.TLS, buf uintptr, c TFcChar8) (r TFcBool) {
  42620. var new1, v2 uintptr
  42621. var size, v1 int32
  42622. _, _, _, _ = new1, size, v1, v2
  42623. if (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 == (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize {
  42624. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42625. return m_FcFalse
  42626. }
  42627. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  42628. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize * int32(2)
  42629. new1 = libc.Xrealloc(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint32FromInt32(size))
  42630. } else {
  42631. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize + int32(64)
  42632. new1 = libc.Xmalloc(tls, libc.Uint32FromInt32(size))
  42633. if new1 != 0 {
  42634. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = int32(m_FcTrue)
  42635. libc.Xmemcpy(tls, new1, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint32FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  42636. }
  42637. }
  42638. if !(new1 != 0) {
  42639. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = int32(m_FcTrue)
  42640. return m_FcFalse
  42641. }
  42642. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  42643. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = new1
  42644. }
  42645. v2 = buf + 12
  42646. v1 = *(*int32)(unsafe.Pointer(v2))
  42647. *(*int32)(unsafe.Pointer(v2))++
  42648. *(*TFcChar8)(unsafe.Pointer((*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(v1))) = c
  42649. return int32(m_FcTrue)
  42650. }
  42651. func XFcStrBufString(tls *libc.TLS, buf uintptr, s uintptr) (r TFcBool) {
  42652. var c, v1 TFcChar8
  42653. var v2 uintptr
  42654. _, _, _ = c, v1, v2
  42655. for {
  42656. v2 = s
  42657. s++
  42658. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  42659. c = v1
  42660. if !(v1 != 0) {
  42661. break
  42662. }
  42663. if !(XFcStrBufChar(tls, buf, c) != 0) {
  42664. return m_FcFalse
  42665. }
  42666. }
  42667. return int32(m_FcTrue)
  42668. }
  42669. func XFcStrBufData(tls *libc.TLS, buf uintptr, s uintptr, len1 int32) (r TFcBool) {
  42670. var v1 int32
  42671. var v2 uintptr
  42672. _, _ = v1, v2
  42673. for {
  42674. v1 = len1
  42675. len1--
  42676. if !(v1 > 0) {
  42677. break
  42678. }
  42679. v2 = s
  42680. s++
  42681. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v2))) != 0) {
  42682. return m_FcFalse
  42683. }
  42684. }
  42685. return int32(m_FcTrue)
  42686. }
  42687. func XFcStrUsesHome(tls *libc.TLS, s uintptr) (r TFcBool) {
  42688. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~'))
  42689. }
  42690. func XFcStrIsAbsoluteFilename(tls *libc.TLS, s uintptr) (r TFcBool) {
  42691. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/'))
  42692. }
  42693. func XIA__FcStrBuildFilename(tls *libc.TLS, path uintptr, va uintptr) (r uintptr) {
  42694. var ap Tva_list
  42695. var len1 Tsize_t
  42696. var list, p, ret, s, sset, v1, v2 uintptr
  42697. _, _, _, _, _, _, _, _, _ = ap, len1, list, p, ret, s, sset, v1, v2
  42698. ret = libc.UintptrFromInt32(0)
  42699. len1 = uint32(0)
  42700. if !(path != 0) {
  42701. return libc.UintptrFromInt32(0)
  42702. }
  42703. sset = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  42704. if !(sset != 0) {
  42705. return libc.UintptrFromInt32(0)
  42706. }
  42707. if !(XIA__FcStrSetAdd(tls, sset, path) != 0) {
  42708. goto bail0
  42709. }
  42710. ap = va
  42711. for int32(1) != 0 {
  42712. s = libc.VaUintptr(&ap)
  42713. if !(s != 0) {
  42714. break
  42715. }
  42716. if !(XIA__FcStrSetAdd(tls, sset, s) != 0) {
  42717. goto bail1
  42718. }
  42719. }
  42720. list = XIA__FcStrListCreate(tls, sset)
  42721. for {
  42722. v1 = XIA__FcStrListNext(tls, list)
  42723. s = v1
  42724. if !(v1 != 0) {
  42725. break
  42726. }
  42727. len1 += libc.Xstrlen(tls, s) + uint32(1)
  42728. }
  42729. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  42730. ret = libc.Xmalloc(tls, uint32(1)*(len1+uint32(1)))
  42731. if !(ret != 0) {
  42732. goto bail2
  42733. }
  42734. p = ret
  42735. for {
  42736. v2 = XIA__FcStrListNext(tls, list)
  42737. s = v2
  42738. if !(v2 != 0) {
  42739. break
  42740. }
  42741. if p != ret {
  42742. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('/')
  42743. p++
  42744. }
  42745. len1 = libc.Xstrlen(tls, s)
  42746. libc.Xmemcpy(tls, p, s, len1)
  42747. p += uintptr(len1)
  42748. }
  42749. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  42750. goto bail2
  42751. bail2:
  42752. ;
  42753. XIA__FcStrListDone(tls, list)
  42754. goto bail1
  42755. bail1:
  42756. ;
  42757. _ = ap
  42758. goto bail0
  42759. bail0:
  42760. ;
  42761. XIA__FcStrSetDestroy(tls, sset)
  42762. return ret
  42763. }
  42764. var XFcStrBuildFilename = XIA__FcStrBuildFilename
  42765. func XIA__FcStrCopyFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42766. var full, home, new1 uintptr
  42767. var size int32
  42768. _, _, _, _ = full, home, new1, size
  42769. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~') {
  42770. home = XIA__FcConfigHome(tls)
  42771. if !(home != 0) {
  42772. return libc.UintptrFromInt32(0)
  42773. }
  42774. size = libc.Int32FromUint32(libc.Xstrlen(tls, home) + libc.Xstrlen(tls, s))
  42775. full = libc.Xmalloc(tls, libc.Uint32FromInt32(size+int32(1)))
  42776. if !(full != 0) {
  42777. return libc.UintptrFromInt32(0)
  42778. }
  42779. libc.Xstrcpy(tls, full, home)
  42780. libc.Xstrcat(tls, full, s+uintptr(1))
  42781. new1 = XFcStrCanonFilename(tls, full)
  42782. libc.Xfree(tls, full)
  42783. } else {
  42784. new1 = XFcStrCanonFilename(tls, s)
  42785. }
  42786. return new1
  42787. }
  42788. var XFcStrCopyFilename = XIA__FcStrCopyFilename
  42789. func XFcStrLastSlash(tls *libc.TLS, path uintptr) (r uintptr) {
  42790. var slash uintptr
  42791. _ = slash
  42792. slash = libc.Xstrrchr(tls, path, int32('/'))
  42793. return slash
  42794. }
  42795. func XIA__FcStrDirname(tls *libc.TLS, file uintptr) (r uintptr) {
  42796. var dir, slash uintptr
  42797. _, _ = dir, slash
  42798. slash = XFcStrLastSlash(tls, file)
  42799. if !(slash != 0) {
  42800. return XIA__FcStrCopy(tls, __ccgo_ts+6977)
  42801. }
  42802. dir = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(slash)-int32(file)+int32(1)))
  42803. if !(dir != 0) {
  42804. return uintptr(0)
  42805. }
  42806. libc.Xstrncpy(tls, dir, file, libc.Uint32FromInt32(int32(slash)-int32(file)))
  42807. *(*TFcChar8)(unsafe.Pointer(dir + uintptr(int32(slash)-int32(file)))) = uint8('\000')
  42808. return dir
  42809. }
  42810. var XFcStrDirname = XIA__FcStrDirname
  42811. func XIA__FcStrBasename(tls *libc.TLS, file uintptr) (r uintptr) {
  42812. var slash uintptr
  42813. _ = slash
  42814. slash = XFcStrLastSlash(tls, file)
  42815. if !(slash != 0) {
  42816. return XIA__FcStrCopy(tls, file)
  42817. }
  42818. return XIA__FcStrCopy(tls, slash+uintptr(1))
  42819. }
  42820. var XFcStrBasename = XIA__FcStrBasename
  42821. func XFcStrRealPath(tls *libc.TLS, path uintptr) (r uintptr) {
  42822. bp := tls.Alloc(4112)
  42823. defer tls.Free(4112)
  42824. var resolved_ret uintptr
  42825. var _ /* resolved_name at bp+0 */ [4097]uint8
  42826. _ = resolved_ret
  42827. if !(path != 0) {
  42828. return libc.UintptrFromInt32(0)
  42829. }
  42830. resolved_ret = libc.Xrealpath(tls, path, bp)
  42831. if resolved_ret != 0 {
  42832. path = resolved_ret
  42833. }
  42834. return XIA__FcStrCopyFilename(tls, path)
  42835. }
  42836. func _FcStrCanonAbsoluteFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42837. var f, file, slash, v2, v4, v5 uintptr
  42838. var size int32
  42839. var v3 TFcChar8
  42840. _, _, _, _, _, _, _, _ = f, file, size, slash, v2, v3, v4, v5
  42841. size = libc.Int32FromUint32(libc.Xstrlen(tls, s) + uint32(1))
  42842. file = libc.Xmalloc(tls, libc.Uint32FromInt32(size))
  42843. if !(file != 0) {
  42844. return libc.UintptrFromInt32(0)
  42845. }
  42846. slash = libc.UintptrFromInt32(0)
  42847. f = file
  42848. for {
  42849. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('\000') {
  42850. if slash != 0 {
  42851. switch int32(s) - int32(slash) {
  42852. case int32(1):
  42853. f -= uintptr(1) /* squash // and trim final / from file */
  42854. case int32(2):
  42855. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6979, uint32(2)) != 0) {
  42856. f -= uintptr(2) /* trim /. from file */
  42857. }
  42858. case int32(3):
  42859. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6982, uint32(3)) != 0) {
  42860. f -= uintptr(3) /* trim /.. from file */
  42861. for f > file {
  42862. f--
  42863. v2 = f
  42864. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2))) == int32('/') {
  42865. break
  42866. }
  42867. }
  42868. }
  42869. break
  42870. }
  42871. }
  42872. slash = s
  42873. }
  42874. v4 = s
  42875. s++
  42876. v3 = *(*TFcChar8)(unsafe.Pointer(v4))
  42877. v5 = f
  42878. f++
  42879. *(*TFcChar8)(unsafe.Pointer(v5)) = v3
  42880. if !(v3 != 0) {
  42881. break
  42882. }
  42883. goto _1
  42884. _1:
  42885. }
  42886. return file
  42887. }
  42888. func XFcStrCanonFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42889. bp := tls.Alloc(4128)
  42890. defer tls.Free(4128)
  42891. var file, full uintptr
  42892. var _ /* cwd at bp+0 */ [4098]TFcChar8
  42893. _, _ = file, full
  42894. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') {
  42895. return _FcStrCanonAbsoluteFilename(tls, s)
  42896. } else {
  42897. if libc.Xgetcwd(tls, bp, uint32(m_FC_MAX_FILE_LEN)) == libc.UintptrFromInt32(0) {
  42898. return libc.UintptrFromInt32(0)
  42899. }
  42900. full = XIA__FcStrBuildFilename(tls, bp, libc.VaList(bp+4112, s, libc.UintptrFromInt32(0)))
  42901. file = _FcStrCanonAbsoluteFilename(tls, full)
  42902. XIA__FcStrFree(tls, full)
  42903. return file
  42904. }
  42905. return r
  42906. }
  42907. func XIA__FcStrSetCreate(tls *libc.TLS) (r uintptr) {
  42908. return XFcStrSetCreateEx(tls, uint32(m_FCSS_DEFAULT))
  42909. }
  42910. var XFcStrSetCreate = XIA__FcStrSetCreate
  42911. func XFcStrSetCreateEx(tls *libc.TLS, control uint32) (r uintptr) {
  42912. var set uintptr
  42913. _ = set
  42914. set = libc.Xmalloc(tls, uint32(20))
  42915. if !(set != 0) {
  42916. return uintptr(0)
  42917. }
  42918. (*TFcRef)(unsafe.Pointer(set)).Fcount = int32(1)
  42919. (*TFcStrSet)(unsafe.Pointer(set)).Fnum = 0
  42920. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = 0
  42921. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = uintptr(0)
  42922. (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol = control
  42923. return set
  42924. }
  42925. func __FcStrSetGrow(tls *libc.TLS, set uintptr, growElements int32) (r TFcBool) {
  42926. var strs uintptr
  42927. _ = strs
  42928. /* accommodate an additional NULL entry at the end of the array */
  42929. strs = libc.Xmalloc(tls, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fsize+growElements+libc.Int32FromInt32(1))*uint32(4))
  42930. if !(strs != 0) {
  42931. return m_FcFalse
  42932. }
  42933. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum != 0 {
  42934. libc.Xmemcpy(tls, strs, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*uint32(4))
  42935. }
  42936. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  42937. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  42938. }
  42939. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = (*TFcStrSet)(unsafe.Pointer(set)).Fsize + growElements
  42940. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = strs
  42941. return int32(m_FcTrue)
  42942. }
  42943. func __FcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  42944. var growElements, i, v1, v2 int32
  42945. var v3 uintptr
  42946. _, _, _, _, _ = growElements, i, v1, v2, v3
  42947. if !((*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&libc.Uint32FromInt32(m_FCSS_ALLOW_DUPLICATES) != 0) {
  42948. if XIA__FcStrSetMember(tls, set, s) != 0 {
  42949. XIA__FcStrFree(tls, s)
  42950. return int32(m_FcTrue)
  42951. }
  42952. }
  42953. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum == (*TFcStrSet)(unsafe.Pointer(set)).Fsize {
  42954. if (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&uint32(m_FCSS_GROW_BY_64) != 0 {
  42955. v1 = int32(64)
  42956. } else {
  42957. v1 = int32(1)
  42958. }
  42959. growElements = v1
  42960. if !(__FcStrSetGrow(tls, set, growElements) != 0) {
  42961. return m_FcFalse
  42962. }
  42963. }
  42964. if pos >= (*TFcStrSet)(unsafe.Pointer(set)).Fnum {
  42965. v3 = set + 4
  42966. v2 = *(*int32)(unsafe.Pointer(v3))
  42967. *(*int32)(unsafe.Pointer(v3))++
  42968. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(v2)*4)) = s
  42969. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*4)) = uintptr(0)
  42970. } else {
  42971. (*TFcStrSet)(unsafe.Pointer(set)).Fnum++
  42972. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*4)) = uintptr(0)
  42973. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum - int32(1)
  42974. for {
  42975. if !(i > pos) {
  42976. break
  42977. }
  42978. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*4))
  42979. goto _4
  42980. _4:
  42981. ;
  42982. i--
  42983. }
  42984. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(pos)*4)) = s
  42985. }
  42986. return int32(m_FcTrue)
  42987. }
  42988. func XIA__FcStrSetMember(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  42989. var i int32
  42990. _ = i
  42991. i = 0
  42992. for {
  42993. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  42994. break
  42995. }
  42996. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)), s) != 0) {
  42997. return int32(m_FcTrue)
  42998. }
  42999. goto _1
  43000. _1:
  43001. ;
  43002. i++
  43003. }
  43004. return m_FcFalse
  43005. }
  43006. var XFcStrSetMember = XIA__FcStrSetMember
  43007. func _fc_strcmp_r(tls *libc.TLS, s1 uintptr, s2 uintptr, ret uintptr) (r int32) {
  43008. var c1, c2 TFcChar8
  43009. var v2, v3 uintptr
  43010. _, _, _, _ = c1, c2, v2, v3
  43011. if s1 == s2 {
  43012. if ret != 0 {
  43013. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  43014. }
  43015. return 0
  43016. }
  43017. for {
  43018. if s1 != 0 {
  43019. v2 = s1
  43020. s1++
  43021. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  43022. } else {
  43023. c1 = uint8(0)
  43024. }
  43025. if s2 != 0 {
  43026. v3 = s2
  43027. s2++
  43028. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  43029. } else {
  43030. c2 = uint8(0)
  43031. }
  43032. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  43033. break
  43034. }
  43035. goto _1
  43036. _1:
  43037. }
  43038. if ret != 0 {
  43039. *(*uintptr)(unsafe.Pointer(ret)) = s1
  43040. }
  43041. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  43042. }
  43043. func XFcStrSetMemberAB(tls *libc.TLS, set uintptr, a uintptr, b uintptr, ret uintptr) (r TFcBool) {
  43044. bp := tls.Alloc(16)
  43045. defer tls.Free(16)
  43046. var i int32
  43047. var _ /* s at bp+0 */ uintptr
  43048. _ = i
  43049. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  43050. i = 0
  43051. for {
  43052. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  43053. break
  43054. }
  43055. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)), a, bp) != 0) && *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  43056. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer(bp)), b, libc.UintptrFromInt32(0)) != 0) {
  43057. if ret != 0 {
  43058. *(*uintptr)(unsafe.Pointer(ret)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4))
  43059. }
  43060. return int32(m_FcTrue)
  43061. }
  43062. }
  43063. goto _1
  43064. _1:
  43065. ;
  43066. i++
  43067. }
  43068. if ret != 0 {
  43069. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  43070. }
  43071. return m_FcFalse
  43072. }
  43073. func XIA__FcStrSetEqual(tls *libc.TLS, sa uintptr, sb uintptr) (r TFcBool) {
  43074. var i int32
  43075. _ = i
  43076. if (*TFcStrSet)(unsafe.Pointer(sa)).Fnum != (*TFcStrSet)(unsafe.Pointer(sb)).Fnum {
  43077. return m_FcFalse
  43078. }
  43079. i = 0
  43080. for {
  43081. if !(i < (*TFcStrSet)(unsafe.Pointer(sa)).Fnum) {
  43082. break
  43083. }
  43084. if !(XIA__FcStrSetMember(tls, sb, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(sa)).Fstrs + uintptr(i)*4))) != 0) {
  43085. return m_FcFalse
  43086. }
  43087. goto _1
  43088. _1:
  43089. ;
  43090. i++
  43091. }
  43092. return int32(m_FcTrue)
  43093. }
  43094. var XFcStrSetEqual = XIA__FcStrSetEqual
  43095. func XIA__FcStrSetAdd(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  43096. var new1 uintptr
  43097. _ = new1
  43098. new1 = XIA__FcStrCopy(tls, s)
  43099. if !(new1 != 0) {
  43100. return m_FcFalse
  43101. }
  43102. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  43103. XIA__FcStrFree(tls, new1)
  43104. return m_FcFalse
  43105. }
  43106. return int32(m_FcTrue)
  43107. }
  43108. var XFcStrSetAdd = XIA__FcStrSetAdd
  43109. func XFcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  43110. var new1 uintptr
  43111. _ = new1
  43112. new1 = XIA__FcStrCopy(tls, s)
  43113. if !(new1 != 0) {
  43114. return m_FcFalse
  43115. }
  43116. if !(__FcStrSetInsert(tls, set, new1, pos) != 0) {
  43117. XIA__FcStrFree(tls, new1)
  43118. return m_FcFalse
  43119. }
  43120. return int32(m_FcTrue)
  43121. }
  43122. func XFcStrSetAddTriple(tls *libc.TLS, set uintptr, a uintptr, b uintptr, c uintptr) (r TFcBool) {
  43123. var new1 uintptr
  43124. _ = new1
  43125. new1 = _FcStrMakeTriple(tls, a, b, c)
  43126. if !(new1 != 0) {
  43127. return m_FcFalse
  43128. }
  43129. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  43130. XIA__FcStrFree(tls, new1)
  43131. return m_FcFalse
  43132. }
  43133. return int32(m_FcTrue)
  43134. }
  43135. func XFcStrTripleSecond(tls *libc.TLS, str uintptr) (r uintptr) {
  43136. var second uintptr
  43137. _ = second
  43138. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  43139. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(second))) == int32('\000') {
  43140. return uintptr(0)
  43141. }
  43142. return second
  43143. }
  43144. func XFcStrTripleThird(tls *libc.TLS, str uintptr) (r uintptr) {
  43145. var second, third uintptr
  43146. _, _ = second, third
  43147. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  43148. third = second + uintptr(libc.Xstrlen(tls, second)) + uintptr(1)
  43149. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(third))) == int32('\000') {
  43150. return uintptr(0)
  43151. }
  43152. return third
  43153. }
  43154. func XIA__FcStrSetAddFilename(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  43155. var new1 uintptr
  43156. _ = new1
  43157. new1 = XIA__FcStrCopyFilename(tls, s)
  43158. if !(new1 != 0) {
  43159. return m_FcFalse
  43160. }
  43161. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  43162. XIA__FcStrFree(tls, new1)
  43163. return m_FcFalse
  43164. }
  43165. return int32(m_FcTrue)
  43166. }
  43167. var XFcStrSetAddFilename = XIA__FcStrSetAddFilename
  43168. func XFcStrSetAddFilenamePairWithSalt(tls *libc.TLS, set uintptr, a uintptr, b uintptr, salt uintptr) (r TFcBool) {
  43169. var new_a, new_b uintptr
  43170. var ret TFcBool
  43171. _, _, _ = new_a, new_b, ret
  43172. new_a = libc.UintptrFromInt32(0)
  43173. new_b = libc.UintptrFromInt32(0)
  43174. if a != 0 {
  43175. new_a = XIA__FcStrCopyFilename(tls, a)
  43176. if !(new_a != 0) {
  43177. return m_FcFalse
  43178. }
  43179. }
  43180. if b != 0 {
  43181. new_b = XIA__FcStrCopyFilename(tls, b)
  43182. if !(new_b != 0) {
  43183. if new_a != 0 {
  43184. XIA__FcStrFree(tls, new_a)
  43185. }
  43186. return m_FcFalse
  43187. }
  43188. }
  43189. /* Override maps with new one if exists */
  43190. XIA__FcStrSetDel(tls, set, new_a)
  43191. ret = XFcStrSetAddTriple(tls, set, new_a, new_b, salt)
  43192. if new_a != 0 {
  43193. XIA__FcStrFree(tls, new_a)
  43194. }
  43195. if new_b != 0 {
  43196. XIA__FcStrFree(tls, new_b)
  43197. }
  43198. return ret
  43199. }
  43200. func XFcStrSetAddLangs(tls *libc.TLS, strs uintptr, languages uintptr) (r TFcBool) {
  43201. bp := tls.Alloc(128)
  43202. defer tls.Free(128)
  43203. var len1 Tsize_t
  43204. var next, normalized_lang, p, v1 uintptr
  43205. var ret TFcBool
  43206. var v2 uint32
  43207. var _ /* lang at bp+0 */ [128]TFcChar8
  43208. _, _, _, _, _, _, _ = len1, next, normalized_lang, p, ret, v1, v2
  43209. p = languages
  43210. *(*[128]TFcChar8)(unsafe.Pointer(bp)) = [128]TFcChar8{}
  43211. ret = m_FcFalse
  43212. if !(languages != 0) {
  43213. return m_FcFalse
  43214. }
  43215. for {
  43216. v1 = libc.Xstrchr(tls, p, int32(':'))
  43217. next = v1
  43218. if !(v1 != 0) {
  43219. break
  43220. }
  43221. len1 = libc.Uint32FromInt32(int32(next) - int32(p))
  43222. if len1 < libc.Uint32FromInt32(libc.Int32FromInt32(127)) {
  43223. v2 = len1
  43224. } else {
  43225. v2 = libc.Uint32FromInt32(libc.Int32FromInt32(127))
  43226. }
  43227. len1 = v2
  43228. libc.Xstrncpy(tls, bp, p, len1)
  43229. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  43230. /* ignore an empty item */
  43231. if *(*TFcChar8)(unsafe.Pointer(bp)) != 0 {
  43232. normalized_lang = XIA__FcLangNormalize(tls, bp)
  43233. if normalized_lang != 0 {
  43234. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  43235. XIA__FcStrFree(tls, normalized_lang)
  43236. ret = int32(m_FcTrue)
  43237. }
  43238. }
  43239. p = next + uintptr(1)
  43240. }
  43241. if *(*uint8)(unsafe.Pointer(p)) != 0 {
  43242. normalized_lang = XIA__FcLangNormalize(tls, p)
  43243. if normalized_lang != 0 {
  43244. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  43245. XIA__FcStrFree(tls, normalized_lang)
  43246. ret = int32(m_FcTrue)
  43247. }
  43248. }
  43249. return ret
  43250. }
  43251. func XIA__FcStrSetDel(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  43252. var i int32
  43253. _ = i
  43254. i = 0
  43255. for {
  43256. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  43257. break
  43258. }
  43259. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)), s) != 0) {
  43260. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)))
  43261. /*
  43262. * copy remaining string pointers and trailing
  43263. * NULL
  43264. */
  43265. libc.Xmemmove(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i)*4, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i+int32(1))*4, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum-i)*uint32(4))
  43266. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  43267. return int32(m_FcTrue)
  43268. }
  43269. goto _1
  43270. _1:
  43271. ;
  43272. i++
  43273. }
  43274. return m_FcFalse
  43275. }
  43276. var XFcStrSetDel = XIA__FcStrSetDel
  43277. func XFcStrSetDeleteAll(tls *libc.TLS, set uintptr) (r TFcBool) {
  43278. var i int32
  43279. var v1 TFcBool
  43280. _, _ = i, v1
  43281. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43282. goto _2
  43283. _2:
  43284. if v1 != 0 {
  43285. return m_FcFalse
  43286. }
  43287. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum
  43288. for {
  43289. if !(i > 0) {
  43290. break
  43291. }
  43292. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*4)))
  43293. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  43294. goto _3
  43295. _3:
  43296. ;
  43297. i--
  43298. }
  43299. return int32(m_FcTrue)
  43300. }
  43301. // C documentation
  43302. //
  43303. // /* TODO Make public */
  43304. func _FcStrSetReference(tls *libc.TLS, set uintptr) (r uintptr) {
  43305. var v1 TFcBool
  43306. var p4 uintptr
  43307. _, _ = v1, p4
  43308. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43309. goto _2
  43310. _2:
  43311. if v1 != 0 {
  43312. return set
  43313. }
  43314. p4 = set
  43315. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  43316. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  43317. goto _3
  43318. _3:
  43319. ;
  43320. return set
  43321. }
  43322. func XIA__FcStrSetDestroy(tls *libc.TLS, set uintptr) {
  43323. var i, v3 int32
  43324. var v1 TFcBool
  43325. var p5 uintptr
  43326. _, _, _, _ = i, v1, v3, p5
  43327. /* We rely on this in FcGetDefaultLangs for caching. */
  43328. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43329. goto _2
  43330. _2:
  43331. if v1 != 0 {
  43332. return
  43333. }
  43334. p5 = set
  43335. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  43336. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  43337. goto _4
  43338. _4:
  43339. if v3 != int32(1) {
  43340. return
  43341. }
  43342. i = 0
  43343. for {
  43344. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  43345. break
  43346. }
  43347. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)))
  43348. goto _6
  43349. _6:
  43350. ;
  43351. i++
  43352. }
  43353. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  43354. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  43355. }
  43356. libc.Xfree(tls, set)
  43357. }
  43358. var XFcStrSetDestroy = XIA__FcStrSetDestroy
  43359. func XIA__FcStrListCreate(tls *libc.TLS, set uintptr) (r uintptr) {
  43360. var list uintptr
  43361. _ = list
  43362. list = libc.Xmalloc(tls, uint32(8))
  43363. if !(list != 0) {
  43364. return uintptr(0)
  43365. }
  43366. (*TFcStrList)(unsafe.Pointer(list)).Fset = set
  43367. _FcStrSetReference(tls, set)
  43368. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  43369. return list
  43370. }
  43371. var XFcStrListCreate = XIA__FcStrListCreate
  43372. func XIA__FcStrListFirst(tls *libc.TLS, list uintptr) {
  43373. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  43374. }
  43375. var XFcStrListFirst = XIA__FcStrListFirst
  43376. func XIA__FcStrListNext(tls *libc.TLS, list uintptr) (r uintptr) {
  43377. var v1 int32
  43378. var v2 uintptr
  43379. _, _ = v1, v2
  43380. if (*TFcStrList)(unsafe.Pointer(list)).Fn >= (*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fnum {
  43381. return uintptr(0)
  43382. }
  43383. v2 = list + 4
  43384. v1 = *(*int32)(unsafe.Pointer(v2))
  43385. *(*int32)(unsafe.Pointer(v2))++
  43386. return *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fstrs + uintptr(v1)*4))
  43387. }
  43388. var XFcStrListNext = XIA__FcStrListNext
  43389. func XIA__FcStrListDone(tls *libc.TLS, list uintptr) {
  43390. XIA__FcStrSetDestroy(tls, (*TFcStrList)(unsafe.Pointer(list)).Fset)
  43391. libc.Xfree(tls, list)
  43392. }
  43393. var XFcStrListDone = XIA__FcStrListDone
  43394. const m_FC_DIR_SEPARATOR4 = '/'
  43395. var _map = [13]struct {
  43396. Fot int32
  43397. Ffc int32
  43398. }{
  43399. 0: {},
  43400. 1: {
  43401. Fot: int32(100),
  43402. },
  43403. 2: {
  43404. Fot: int32(200),
  43405. Ffc: int32(m_FC_WEIGHT_EXTRALIGHT),
  43406. },
  43407. 3: {
  43408. Fot: int32(300),
  43409. Ffc: int32(m_FC_WEIGHT_LIGHT),
  43410. },
  43411. 4: {
  43412. Fot: int32(350),
  43413. Ffc: int32(m_FC_WEIGHT_DEMILIGHT),
  43414. },
  43415. 5: {
  43416. Fot: int32(380),
  43417. Ffc: int32(m_FC_WEIGHT_BOOK),
  43418. },
  43419. 6: {
  43420. Fot: int32(400),
  43421. Ffc: int32(m_FC_WEIGHT_REGULAR),
  43422. },
  43423. 7: {
  43424. Fot: int32(500),
  43425. Ffc: int32(m_FC_WEIGHT_MEDIUM),
  43426. },
  43427. 8: {
  43428. Fot: int32(600),
  43429. Ffc: int32(m_FC_WEIGHT_DEMIBOLD),
  43430. },
  43431. 9: {
  43432. Fot: int32(700),
  43433. Ffc: int32(m_FC_WEIGHT_BOLD),
  43434. },
  43435. 10: {
  43436. Fot: int32(800),
  43437. Ffc: int32(m_FC_WEIGHT_EXTRABOLD),
  43438. },
  43439. 11: {
  43440. Fot: int32(900),
  43441. Ffc: int32(m_FC_WEIGHT_BLACK),
  43442. },
  43443. 12: {
  43444. Fot: int32(1000),
  43445. Ffc: int32(m_FC_WEIGHT_EXTRABLACK),
  43446. },
  43447. }
  43448. func _lerp(tls *libc.TLS, x float64, x1 int32, x2 int32, y1 int32, y2 int32) (r float64) {
  43449. var dx, dy int32
  43450. _, _ = dx, dy
  43451. dx = x2 - x1
  43452. dy = y2 - y1
  43453. return float64(y1) + (x-float64(x1))*float64(dy)/float64(dx)
  43454. }
  43455. func XIA__FcWeightFromOpenTypeDouble(tls *libc.TLS, ot_weight float64) (r float64) {
  43456. var i int32
  43457. var v1 float64
  43458. _, _ = i, v1
  43459. if ot_weight < libc.Float64FromInt32(0) {
  43460. return float64(-libc.Int32FromInt32(1))
  43461. }
  43462. if ot_weight < float64(_map[libc.Uint32FromInt64(104)/libc.Uint32FromInt64(8)-libc.Uint32FromInt32(1)].Fot) {
  43463. v1 = ot_weight
  43464. } else {
  43465. v1 = float64(_map[libc.Uint32FromInt64(104)/libc.Uint32FromInt64(8)-libc.Uint32FromInt32(1)].Fot)
  43466. }
  43467. ot_weight = v1
  43468. i = int32(1)
  43469. for {
  43470. if !(ot_weight > float64(_map[i].Fot)) {
  43471. break
  43472. }
  43473. goto _2
  43474. _2:
  43475. ;
  43476. i++
  43477. }
  43478. if ot_weight == float64(_map[i].Fot) {
  43479. return float64(_map[i].Ffc)
  43480. }
  43481. /* Interpolate between two items. */
  43482. return _lerp(tls, ot_weight, _map[i-int32(1)].Fot, _map[i].Fot, _map[i-int32(1)].Ffc, _map[i].Ffc)
  43483. }
  43484. var XFcWeightFromOpenTypeDouble = XIA__FcWeightFromOpenTypeDouble
  43485. func XIA__FcWeightToOpenTypeDouble(tls *libc.TLS, fc_weight float64) (r float64) {
  43486. var i int32
  43487. _ = i
  43488. if fc_weight < libc.Float64FromInt32(0) || fc_weight > libc.Float64FromInt32(m_FC_WEIGHT_EXTRABLACK) {
  43489. return float64(-libc.Int32FromInt32(1))
  43490. }
  43491. i = int32(1)
  43492. for {
  43493. if !(fc_weight > float64(_map[i].Ffc)) {
  43494. break
  43495. }
  43496. goto _1
  43497. _1:
  43498. ;
  43499. i++
  43500. }
  43501. if fc_weight == float64(_map[i].Ffc) {
  43502. return float64(_map[i].Fot)
  43503. }
  43504. /* Interpolate between two items. */
  43505. return _lerp(tls, fc_weight, _map[i-int32(1)].Ffc, _map[i].Ffc, _map[i-int32(1)].Fot, _map[i].Fot)
  43506. }
  43507. var XFcWeightToOpenTypeDouble = XIA__FcWeightToOpenTypeDouble
  43508. func XIA__FcWeightFromOpenType(tls *libc.TLS, ot_weight int32) (r int32) {
  43509. return int32(XIA__FcWeightFromOpenTypeDouble(tls, float64(ot_weight)) + float64(0.5))
  43510. }
  43511. var XFcWeightFromOpenType = XIA__FcWeightFromOpenType
  43512. func XIA__FcWeightToOpenType(tls *libc.TLS, fc_weight int32) (r int32) {
  43513. return int32(XIA__FcWeightToOpenTypeDouble(tls, float64(fc_weight)) + float64(0.5))
  43514. }
  43515. var XFcWeightToOpenType = XIA__FcWeightToOpenType
  43516. const m_Expat_External_INCLUDED = 1
  43517. const m_Expat_INCLUDED = 1
  43518. const m_FC_DIR_SEPARATOR5 = 47
  43519. const m_HAVE_XMLPARSE_H = 0
  43520. const m_LC_ALL = 6
  43521. const m_LC_ALL_MASK = 0x7fffffff
  43522. const m_LC_COLLATE = 3
  43523. const m_LC_CTYPE = 0
  43524. const m_LC_MESSAGES = 5
  43525. const m_LC_MONETARY = 4
  43526. const m_LC_NUMERIC = 1
  43527. const m_LC_TIME = 2
  43528. const m_TAIL = ".conf"
  43529. const m_TAIL_LEN = 5
  43530. const m_XML_ENABLE_VISIBILITY = 0
  43531. const m_XML_GetErrorByteIndex = "XML_GetCurrentByteIndex"
  43532. const m_XML_GetErrorColumnNumber = "XML_GetCurrentColumnNumber"
  43533. const m_XML_GetErrorLineNumber = "XML_GetCurrentLineNumber"
  43534. const m_XML_MAJOR_VERSION = 2
  43535. const m_XML_MICRO_VERSION = 0
  43536. const m_XML_MINOR_VERSION = 5
  43537. type TXML_Char = uint8
  43538. type TXML_LChar = uint8
  43539. type TXML_Index = int32
  43540. type TXML_Size = uint32
  43541. type TXML_Parser = uintptr
  43542. type TXML_Bool = uint8
  43543. type _XML_Status = int32
  43544. const _XML_STATUS_ERROR = 0
  43545. const _XML_STATUS_OK = 1
  43546. const _XML_STATUS_SUSPENDED = 2
  43547. type _XML_Error = int32
  43548. const _XML_ERROR_NONE = 0
  43549. const _XML_ERROR_NO_MEMORY = 1
  43550. const _XML_ERROR_SYNTAX = 2
  43551. const _XML_ERROR_NO_ELEMENTS = 3
  43552. const _XML_ERROR_INVALID_TOKEN = 4
  43553. const _XML_ERROR_UNCLOSED_TOKEN = 5
  43554. const _XML_ERROR_PARTIAL_CHAR = 6
  43555. const _XML_ERROR_TAG_MISMATCH = 7
  43556. const _XML_ERROR_DUPLICATE_ATTRIBUTE = 8
  43557. const _XML_ERROR_JUNK_AFTER_DOC_ELEMENT = 9
  43558. const _XML_ERROR_PARAM_ENTITY_REF = 10
  43559. const _XML_ERROR_UNDEFINED_ENTITY = 11
  43560. const _XML_ERROR_RECURSIVE_ENTITY_REF = 12
  43561. const _XML_ERROR_ASYNC_ENTITY = 13
  43562. const _XML_ERROR_BAD_CHAR_REF = 14
  43563. const _XML_ERROR_BINARY_ENTITY_REF = 15
  43564. const _XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
  43565. const _XML_ERROR_MISPLACED_XML_PI = 17
  43566. const _XML_ERROR_UNKNOWN_ENCODING = 18
  43567. const _XML_ERROR_INCORRECT_ENCODING = 19
  43568. const _XML_ERROR_UNCLOSED_CDATA_SECTION = 20
  43569. const _XML_ERROR_EXTERNAL_ENTITY_HANDLING = 21
  43570. const _XML_ERROR_NOT_STANDALONE = 22
  43571. const _XML_ERROR_UNEXPECTED_STATE = 23
  43572. const _XML_ERROR_ENTITY_DECLARED_IN_PE = 24
  43573. const _XML_ERROR_FEATURE_REQUIRES_XML_DTD = 25
  43574. const _XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING = 26
  43575. const _XML_ERROR_UNBOUND_PREFIX = 27
  43576. const _XML_ERROR_UNDECLARING_PREFIX = 28
  43577. const _XML_ERROR_INCOMPLETE_PE = 29
  43578. const _XML_ERROR_XML_DECL = 30
  43579. const _XML_ERROR_TEXT_DECL = 31
  43580. const _XML_ERROR_PUBLICID = 32
  43581. const _XML_ERROR_SUSPENDED = 33
  43582. const _XML_ERROR_NOT_SUSPENDED = 34
  43583. const _XML_ERROR_ABORTED = 35
  43584. const _XML_ERROR_FINISHED = 36
  43585. const _XML_ERROR_SUSPEND_PE = 37
  43586. const _XML_ERROR_RESERVED_PREFIX_XML = 38
  43587. const _XML_ERROR_RESERVED_PREFIX_XMLNS = 39
  43588. const _XML_ERROR_RESERVED_NAMESPACE_URI = 40
  43589. const _XML_ERROR_INVALID_ARGUMENT = 41
  43590. const _XML_ERROR_NO_BUFFER = 42
  43591. const _XML_ERROR_AMPLIFICATION_LIMIT_BREACH = 43
  43592. type _XML_Content_Type = int32
  43593. const _XML_CTYPE_EMPTY = 1
  43594. const _XML_CTYPE_ANY = 2
  43595. const _XML_CTYPE_MIXED = 3
  43596. const _XML_CTYPE_NAME = 4
  43597. const _XML_CTYPE_CHOICE = 5
  43598. const _XML_CTYPE_SEQ = 6
  43599. type _XML_Content_Quant = int32
  43600. const _XML_CQUANT_NONE = 0
  43601. const _XML_CQUANT_OPT = 1
  43602. const _XML_CQUANT_REP = 2
  43603. const _XML_CQUANT_PLUS = 3
  43604. type TXML_Content = struct {
  43605. Ftype1 _XML_Content_Type
  43606. Fquant _XML_Content_Quant
  43607. Fname uintptr
  43608. Fnumchildren uint32
  43609. Fchildren uintptr
  43610. }
  43611. type TXML_cp = TXML_Content
  43612. type TXML_ElementDeclHandler = uintptr
  43613. type TXML_AttlistDeclHandler = uintptr
  43614. type TXML_XmlDeclHandler = uintptr
  43615. type TXML_Memory_Handling_Suite = struct {
  43616. Fmalloc_fcn uintptr
  43617. Frealloc_fcn uintptr
  43618. Ffree_fcn uintptr
  43619. }
  43620. type TXML_StartElementHandler = uintptr
  43621. type TXML_EndElementHandler = uintptr
  43622. type TXML_CharacterDataHandler = uintptr
  43623. type TXML_ProcessingInstructionHandler = uintptr
  43624. type TXML_CommentHandler = uintptr
  43625. type TXML_StartCdataSectionHandler = uintptr
  43626. type TXML_EndCdataSectionHandler = uintptr
  43627. type TXML_DefaultHandler = uintptr
  43628. type TXML_StartDoctypeDeclHandler = uintptr
  43629. type TXML_EndDoctypeDeclHandler = uintptr
  43630. type TXML_EntityDeclHandler = uintptr
  43631. type TXML_UnparsedEntityDeclHandler = uintptr
  43632. type TXML_NotationDeclHandler = uintptr
  43633. type TXML_StartNamespaceDeclHandler = uintptr
  43634. type TXML_EndNamespaceDeclHandler = uintptr
  43635. type TXML_NotStandaloneHandler = uintptr
  43636. type TXML_ExternalEntityRefHandler = uintptr
  43637. type TXML_SkippedEntityHandler = uintptr
  43638. type TXML_Encoding = struct {
  43639. Fmap1 [256]int32
  43640. Fdata uintptr
  43641. Fconvert uintptr
  43642. Frelease uintptr
  43643. }
  43644. type TXML_UnknownEncodingHandler = uintptr
  43645. type _XML_Parsing = int32
  43646. const _XML_INITIALIZED = 0
  43647. const _XML_PARSING = 1
  43648. const _XML_FINISHED = 2
  43649. const _XML_SUSPENDED = 3
  43650. type TXML_ParsingStatus = struct {
  43651. Fparsing _XML_Parsing
  43652. FfinalBuffer TXML_Bool
  43653. }
  43654. type _XML_ParamEntityParsing = int32
  43655. const _XML_PARAM_ENTITY_PARSING_NEVER = 0
  43656. const _XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1
  43657. const _XML_PARAM_ENTITY_PARSING_ALWAYS = 2
  43658. type TXML_Expat_Version = struct {
  43659. Fmajor int32
  43660. Fminor int32
  43661. Fmicro int32
  43662. }
  43663. type _XML_FeatureEnum = int32
  43664. const _XML_FEATURE_END = 0
  43665. const _XML_FEATURE_UNICODE = 1
  43666. const _XML_FEATURE_UNICODE_WCHAR_T = 2
  43667. const _XML_FEATURE_DTD = 3
  43668. const _XML_FEATURE_CONTEXT_BYTES = 4
  43669. const _XML_FEATURE_MIN_SIZE = 5
  43670. const _XML_FEATURE_SIZEOF_XML_CHAR = 6
  43671. const _XML_FEATURE_SIZEOF_XML_LCHAR = 7
  43672. const _XML_FEATURE_NS = 8
  43673. const _XML_FEATURE_LARGE_SIZE = 9
  43674. const _XML_FEATURE_ATTR_INFO = 10
  43675. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT = 11
  43676. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT = 12
  43677. type TXML_Feature = struct {
  43678. Ffeature _XML_FeatureEnum
  43679. Fname uintptr
  43680. Fvalue int32
  43681. }
  43682. /* Expat follows the semantic versioning convention.
  43683. See http://semver.org.
  43684. */
  43685. var ___fc_userdir = libc.UintptrFromInt32(0)
  43686. var ___fc_userconf = libc.UintptrFromInt32(0)
  43687. func XFcTestDestroy(tls *libc.TLS, test uintptr) {
  43688. _FcExprDestroy(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  43689. libc.Xfree(tls, test)
  43690. }
  43691. func XFcRuleDestroy(tls *libc.TLS, rule uintptr) {
  43692. var n uintptr
  43693. _ = n
  43694. n = (*TFcRule)(unsafe.Pointer(rule)).Fnext
  43695. switch (*TFcRule)(unsafe.Pointer(rule)).Ftype1 {
  43696. case int32(_FcRuleTest):
  43697. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 8)))
  43698. case int32(_FcRuleEdit):
  43699. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 8)))
  43700. case int32(_FcRuleUnknown):
  43701. fallthrough
  43702. default:
  43703. break
  43704. }
  43705. libc.Xfree(tls, rule)
  43706. if n != 0 {
  43707. XFcRuleDestroy(tls, n)
  43708. }
  43709. }
  43710. func _FcExprCreateInteger(tls *libc.TLS, config uintptr, i int32) (r uintptr) {
  43711. var e uintptr
  43712. _ = e
  43713. e = XFcConfigAllocExpr(tls, config)
  43714. if e != 0 {
  43715. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpInteger)
  43716. (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival = i
  43717. }
  43718. return e
  43719. }
  43720. func _FcExprCreateDouble(tls *libc.TLS, config uintptr, d float64) (r uintptr) {
  43721. var e uintptr
  43722. _ = e
  43723. e = XFcConfigAllocExpr(tls, config)
  43724. if e != 0 {
  43725. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpDouble)
  43726. *(*float64)(unsafe.Pointer(e + 8)) = d
  43727. }
  43728. return e
  43729. }
  43730. func _FcExprCreateString(tls *libc.TLS, config uintptr, s uintptr) (r uintptr) {
  43731. var e uintptr
  43732. _ = e
  43733. e = XFcConfigAllocExpr(tls, config)
  43734. if e != 0 {
  43735. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpString)
  43736. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, s)
  43737. }
  43738. return e
  43739. }
  43740. func _FcExprMatrixCopyShallow(tls *libc.TLS, matrix uintptr) (r uintptr) {
  43741. var m uintptr
  43742. _ = m
  43743. m = libc.Xmalloc(tls, uint32(16))
  43744. if m != 0 {
  43745. *(*TFcExprMatrix)(unsafe.Pointer(m)) = *(*TFcExprMatrix)(unsafe.Pointer(matrix))
  43746. }
  43747. return m
  43748. }
  43749. func _FcExprMatrixFreeShallow(tls *libc.TLS, m uintptr) {
  43750. if !(m != 0) {
  43751. return
  43752. }
  43753. libc.Xfree(tls, m)
  43754. }
  43755. func _FcExprMatrixFree(tls *libc.TLS, m uintptr) {
  43756. if !(m != 0) {
  43757. return
  43758. }
  43759. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxx)
  43760. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxy)
  43761. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyx)
  43762. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyy)
  43763. libc.Xfree(tls, m)
  43764. }
  43765. func _FcExprCreateMatrix(tls *libc.TLS, config uintptr, matrix uintptr) (r uintptr) {
  43766. var e uintptr
  43767. _ = e
  43768. e = XFcConfigAllocExpr(tls, config)
  43769. if e != 0 {
  43770. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpMatrix)
  43771. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  43772. }
  43773. return e
  43774. }
  43775. func _FcExprCreateRange(tls *libc.TLS, config uintptr, range1 uintptr) (r uintptr) {
  43776. var e uintptr
  43777. _ = e
  43778. e = XFcConfigAllocExpr(tls, config)
  43779. if e != 0 {
  43780. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpRange)
  43781. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcRangeCopy(tls, range1)
  43782. }
  43783. return e
  43784. }
  43785. func _FcExprCreateBool(tls *libc.TLS, config uintptr, b TFcBool) (r uintptr) {
  43786. var e uintptr
  43787. _ = e
  43788. e = XFcConfigAllocExpr(tls, config)
  43789. if e != 0 {
  43790. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpBool)
  43791. *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = b
  43792. }
  43793. return e
  43794. }
  43795. func _FcExprCreateCharSet(tls *libc.TLS, config uintptr, charset uintptr) (r uintptr) {
  43796. var e uintptr
  43797. _ = e
  43798. e = XFcConfigAllocExpr(tls, config)
  43799. if e != 0 {
  43800. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpCharSet)
  43801. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcCharSetCopy(tls, charset)
  43802. }
  43803. return e
  43804. }
  43805. func _FcExprCreateLangSet(tls *libc.TLS, config uintptr, langset uintptr) (r uintptr) {
  43806. var e uintptr
  43807. _ = e
  43808. e = XFcConfigAllocExpr(tls, config)
  43809. if e != 0 {
  43810. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpLangSet)
  43811. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcLangSetCopy(tls, langset)
  43812. }
  43813. return e
  43814. }
  43815. func _FcExprCreateName(tls *libc.TLS, config uintptr, name TFcExprName) (r uintptr) {
  43816. var e uintptr
  43817. _ = e
  43818. e = XFcConfigAllocExpr(tls, config)
  43819. if e != 0 {
  43820. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpField)
  43821. *(*TFcExprName)(unsafe.Pointer(e + 8)) = name
  43822. }
  43823. return e
  43824. }
  43825. func _FcExprCreateConst(tls *libc.TLS, config uintptr, constant uintptr) (r uintptr) {
  43826. var e uintptr
  43827. _ = e
  43828. e = XFcConfigAllocExpr(tls, config)
  43829. if e != 0 {
  43830. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpConst)
  43831. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, constant)
  43832. }
  43833. return e
  43834. }
  43835. func _FcExprCreateOp(tls *libc.TLS, config uintptr, left uintptr, op TFcOp, right uintptr) (r uintptr) {
  43836. var e uintptr
  43837. _ = e
  43838. e = XFcConfigAllocExpr(tls, config)
  43839. if e != 0 {
  43840. (*TFcExpr)(unsafe.Pointer(e)).Fop = op
  43841. (*(*struct {
  43842. Fleft uintptr
  43843. Fright uintptr
  43844. })(unsafe.Pointer(e + 8))).Fleft = left
  43845. (*(*struct {
  43846. Fleft uintptr
  43847. Fright uintptr
  43848. })(unsafe.Pointer(e + 8))).Fright = right
  43849. }
  43850. return e
  43851. }
  43852. func _FcExprDestroy(tls *libc.TLS, e uintptr) {
  43853. if !(e != 0) {
  43854. return
  43855. }
  43856. switch (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff) {
  43857. case int32(_FcOpInteger):
  43858. case int32(_FcOpDouble):
  43859. case int32(_FcOpString):
  43860. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43861. case int32(_FcOpMatrix):
  43862. _FcExprMatrixFree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43863. case int32(_FcOpRange):
  43864. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43865. case int32(_FcOpCharSet):
  43866. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43867. case int32(_FcOpLangSet):
  43868. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43869. case int32(_FcOpBool):
  43870. case int32(_FcOpField):
  43871. case int32(_FcOpConst):
  43872. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43873. case int32(_FcOpAssign):
  43874. fallthrough
  43875. case int32(_FcOpAssignReplace):
  43876. fallthrough
  43877. case int32(_FcOpPrepend):
  43878. fallthrough
  43879. case int32(_FcOpPrependFirst):
  43880. fallthrough
  43881. case int32(_FcOpAppend):
  43882. fallthrough
  43883. case int32(_FcOpAppendLast):
  43884. fallthrough
  43885. case int32(_FcOpDelete):
  43886. fallthrough
  43887. case int32(_FcOpDeleteAll):
  43888. case int32(_FcOpOr):
  43889. fallthrough
  43890. case int32(_FcOpAnd):
  43891. fallthrough
  43892. case int32(_FcOpEqual):
  43893. fallthrough
  43894. case int32(_FcOpNotEqual):
  43895. fallthrough
  43896. case int32(_FcOpLess):
  43897. fallthrough
  43898. case int32(_FcOpLessEqual):
  43899. fallthrough
  43900. case int32(_FcOpMore):
  43901. fallthrough
  43902. case int32(_FcOpMoreEqual):
  43903. fallthrough
  43904. case int32(_FcOpContains):
  43905. fallthrough
  43906. case int32(_FcOpListing):
  43907. fallthrough
  43908. case int32(_FcOpNotContains):
  43909. fallthrough
  43910. case int32(_FcOpPlus):
  43911. fallthrough
  43912. case int32(_FcOpMinus):
  43913. fallthrough
  43914. case int32(_FcOpTimes):
  43915. fallthrough
  43916. case int32(_FcOpDivide):
  43917. fallthrough
  43918. case int32(_FcOpQuest):
  43919. fallthrough
  43920. case int32(_FcOpComma):
  43921. _FcExprDestroy(tls, (*(*struct {
  43922. Fleft uintptr
  43923. Fright uintptr
  43924. })(unsafe.Pointer(e + 8))).Fright)
  43925. /* fall through */
  43926. fallthrough
  43927. case int32(_FcOpNot):
  43928. fallthrough
  43929. case int32(_FcOpFloor):
  43930. fallthrough
  43931. case int32(_FcOpCeil):
  43932. fallthrough
  43933. case int32(_FcOpRound):
  43934. fallthrough
  43935. case int32(_FcOpTrunc):
  43936. _FcExprDestroy(tls, (*(*struct {
  43937. Fleft uintptr
  43938. Fright uintptr
  43939. })(unsafe.Pointer(e + 8))).Fleft)
  43940. case int32(_FcOpNil):
  43941. fallthrough
  43942. case int32(_FcOpInvalid):
  43943. break
  43944. }
  43945. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpNil)
  43946. }
  43947. func XFcEditDestroy(tls *libc.TLS, e uintptr) {
  43948. if (*TFcEdit)(unsafe.Pointer(e)).Fexpr != 0 {
  43949. _FcExprDestroy(tls, (*TFcEdit)(unsafe.Pointer(e)).Fexpr)
  43950. }
  43951. libc.Xfree(tls, e)
  43952. }
  43953. type TFcElement = int32
  43954. type __FcElement = int32
  43955. const _FcElementNone = 0
  43956. const _FcElementFontconfig = 1
  43957. const _FcElementDir = 2
  43958. const _FcElementCacheDir = 3
  43959. const _FcElementCache = 4
  43960. const _FcElementInclude = 5
  43961. const _FcElementConfig = 6
  43962. const _FcElementMatch = 7
  43963. const _FcElementAlias = 8
  43964. const _FcElementDescription = 9
  43965. const _FcElementRemapDir = 10
  43966. const _FcElementResetDirs = 11
  43967. const _FcElementRescan = 12
  43968. const _FcElementPrefer = 13
  43969. const _FcElementAccept = 14
  43970. const _FcElementDefault = 15
  43971. const _FcElementFamily = 16
  43972. const _FcElementSelectfont = 17
  43973. const _FcElementAcceptfont = 18
  43974. const _FcElementRejectfont = 19
  43975. const _FcElementGlob = 20
  43976. const _FcElementPattern = 21
  43977. const _FcElementPatelt = 22
  43978. const _FcElementTest = 23
  43979. const _FcElementEdit = 24
  43980. const _FcElementInt = 25
  43981. const _FcElementDouble = 26
  43982. const _FcElementString = 27
  43983. const _FcElementMatrix = 28
  43984. const _FcElementRange = 29
  43985. const _FcElementBool = 30
  43986. const _FcElementCharSet = 31
  43987. const _FcElementLangSet = 32
  43988. const _FcElementName = 33
  43989. const _FcElementConst = 34
  43990. const _FcElementOr = 35
  43991. const _FcElementAnd = 36
  43992. const _FcElementEq = 37
  43993. const _FcElementNotEq = 38
  43994. const _FcElementLess = 39
  43995. const _FcElementLessEq = 40
  43996. const _FcElementMore = 41
  43997. const _FcElementMoreEq = 42
  43998. const _FcElementContains = 43
  43999. const _FcElementNotContains = 44
  44000. const _FcElementPlus = 45
  44001. const _FcElementMinus = 46
  44002. const _FcElementTimes = 47
  44003. const _FcElementDivide = 48
  44004. const _FcElementNot = 49
  44005. const _FcElementIf = 50
  44006. const _FcElementFloor = 51
  44007. const _FcElementCeil = 52
  44008. const _FcElementRound = 53
  44009. const _FcElementTrunc = 54
  44010. const _FcElementUnknown = 55
  44011. var _fcElementMap = [54]struct {
  44012. Fname [16]uint8
  44013. Felement TFcElement
  44014. }{
  44015. 0: {
  44016. Fname: [16]uint8{'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g'},
  44017. Felement: int32(_FcElementFontconfig),
  44018. },
  44019. 1: {
  44020. Fname: [16]uint8{'d', 'i', 'r'},
  44021. Felement: int32(_FcElementDir),
  44022. },
  44023. 2: {
  44024. Fname: [16]uint8{'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r'},
  44025. Felement: int32(_FcElementCacheDir),
  44026. },
  44027. 3: {
  44028. Fname: [16]uint8{'c', 'a', 'c', 'h', 'e'},
  44029. Felement: int32(_FcElementCache),
  44030. },
  44031. 4: {
  44032. Fname: [16]uint8{'i', 'n', 'c', 'l', 'u', 'd', 'e'},
  44033. Felement: int32(_FcElementInclude),
  44034. },
  44035. 5: {
  44036. Fname: [16]uint8{'c', 'o', 'n', 'f', 'i', 'g'},
  44037. Felement: int32(_FcElementConfig),
  44038. },
  44039. 6: {
  44040. Fname: [16]uint8{'m', 'a', 't', 'c', 'h'},
  44041. Felement: int32(_FcElementMatch),
  44042. },
  44043. 7: {
  44044. Fname: [16]uint8{'a', 'l', 'i', 'a', 's'},
  44045. Felement: int32(_FcElementAlias),
  44046. },
  44047. 8: {
  44048. Fname: [16]uint8{'d', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n'},
  44049. Felement: int32(_FcElementDescription),
  44050. },
  44051. 9: {
  44052. Fname: [16]uint8{'r', 'e', 'm', 'a', 'p', '-', 'd', 'i', 'r'},
  44053. Felement: int32(_FcElementRemapDir),
  44054. },
  44055. 10: {
  44056. Fname: [16]uint8{'r', 'e', 's', 'e', 't', '-', 'd', 'i', 'r', 's'},
  44057. Felement: int32(_FcElementResetDirs),
  44058. },
  44059. 11: {
  44060. Fname: [16]uint8{'r', 'e', 's', 'c', 'a', 'n'},
  44061. Felement: int32(_FcElementRescan),
  44062. },
  44063. 12: {
  44064. Fname: [16]uint8{'p', 'r', 'e', 'f', 'e', 'r'},
  44065. Felement: int32(_FcElementPrefer),
  44066. },
  44067. 13: {
  44068. Fname: [16]uint8{'a', 'c', 'c', 'e', 'p', 't'},
  44069. Felement: int32(_FcElementAccept),
  44070. },
  44071. 14: {
  44072. Fname: [16]uint8{'d', 'e', 'f', 'a', 'u', 'l', 't'},
  44073. Felement: int32(_FcElementDefault),
  44074. },
  44075. 15: {
  44076. Fname: [16]uint8{'f', 'a', 'm', 'i', 'l', 'y'},
  44077. Felement: int32(_FcElementFamily),
  44078. },
  44079. 16: {
  44080. Fname: [16]uint8{'s', 'e', 'l', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  44081. Felement: int32(_FcElementSelectfont),
  44082. },
  44083. 17: {
  44084. Fname: [16]uint8{'a', 'c', 'c', 'e', 'p', 't', 'f', 'o', 'n', 't'},
  44085. Felement: int32(_FcElementAcceptfont),
  44086. },
  44087. 18: {
  44088. Fname: [16]uint8{'r', 'e', 'j', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  44089. Felement: int32(_FcElementRejectfont),
  44090. },
  44091. 19: {
  44092. Fname: [16]uint8{'g', 'l', 'o', 'b'},
  44093. Felement: int32(_FcElementGlob),
  44094. },
  44095. 20: {
  44096. Fname: [16]uint8{'p', 'a', 't', 't', 'e', 'r', 'n'},
  44097. Felement: int32(_FcElementPattern),
  44098. },
  44099. 21: {
  44100. Fname: [16]uint8{'p', 'a', 't', 'e', 'l', 't'},
  44101. Felement: int32(_FcElementPatelt),
  44102. },
  44103. 22: {
  44104. Fname: [16]uint8{'t', 'e', 's', 't'},
  44105. Felement: int32(_FcElementTest),
  44106. },
  44107. 23: {
  44108. Fname: [16]uint8{'e', 'd', 'i', 't'},
  44109. Felement: int32(_FcElementEdit),
  44110. },
  44111. 24: {
  44112. Fname: [16]uint8{'i', 'n', 't'},
  44113. Felement: int32(_FcElementInt),
  44114. },
  44115. 25: {
  44116. Fname: [16]uint8{'d', 'o', 'u', 'b', 'l', 'e'},
  44117. Felement: int32(_FcElementDouble),
  44118. },
  44119. 26: {
  44120. Fname: [16]uint8{'s', 't', 'r', 'i', 'n', 'g'},
  44121. Felement: int32(_FcElementString),
  44122. },
  44123. 27: {
  44124. Fname: [16]uint8{'m', 'a', 't', 'r', 'i', 'x'},
  44125. Felement: int32(_FcElementMatrix),
  44126. },
  44127. 28: {
  44128. Fname: [16]uint8{'r', 'a', 'n', 'g', 'e'},
  44129. Felement: int32(_FcElementRange),
  44130. },
  44131. 29: {
  44132. Fname: [16]uint8{'b', 'o', 'o', 'l'},
  44133. Felement: int32(_FcElementBool),
  44134. },
  44135. 30: {
  44136. Fname: [16]uint8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  44137. Felement: int32(_FcElementCharSet),
  44138. },
  44139. 31: {
  44140. Fname: [16]uint8{'l', 'a', 'n', 'g', 's', 'e', 't'},
  44141. Felement: int32(_FcElementLangSet),
  44142. },
  44143. 32: {
  44144. Fname: [16]uint8{'n', 'a', 'm', 'e'},
  44145. Felement: int32(_FcElementName),
  44146. },
  44147. 33: {
  44148. Fname: [16]uint8{'c', 'o', 'n', 's', 't'},
  44149. Felement: int32(_FcElementConst),
  44150. },
  44151. 34: {
  44152. Fname: [16]uint8{'o', 'r'},
  44153. Felement: int32(_FcElementOr),
  44154. },
  44155. 35: {
  44156. Fname: [16]uint8{'a', 'n', 'd'},
  44157. Felement: int32(_FcElementAnd),
  44158. },
  44159. 36: {
  44160. Fname: [16]uint8{'e', 'q'},
  44161. Felement: int32(_FcElementEq),
  44162. },
  44163. 37: {
  44164. Fname: [16]uint8{'n', 'o', 't', '_', 'e', 'q'},
  44165. Felement: int32(_FcElementNotEq),
  44166. },
  44167. 38: {
  44168. Fname: [16]uint8{'l', 'e', 's', 's'},
  44169. Felement: int32(_FcElementLess),
  44170. },
  44171. 39: {
  44172. Fname: [16]uint8{'l', 'e', 's', 's', '_', 'e', 'q'},
  44173. Felement: int32(_FcElementLessEq),
  44174. },
  44175. 40: {
  44176. Fname: [16]uint8{'m', 'o', 'r', 'e'},
  44177. Felement: int32(_FcElementMore),
  44178. },
  44179. 41: {
  44180. Fname: [16]uint8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  44181. Felement: int32(_FcElementMoreEq),
  44182. },
  44183. 42: {
  44184. Fname: [16]uint8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44185. Felement: int32(_FcElementContains),
  44186. },
  44187. 43: {
  44188. Fname: [16]uint8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44189. Felement: int32(_FcElementNotContains),
  44190. },
  44191. 44: {
  44192. Fname: [16]uint8{'p', 'l', 'u', 's'},
  44193. Felement: int32(_FcElementPlus),
  44194. },
  44195. 45: {
  44196. Fname: [16]uint8{'m', 'i', 'n', 'u', 's'},
  44197. Felement: int32(_FcElementMinus),
  44198. },
  44199. 46: {
  44200. Fname: [16]uint8{'t', 'i', 'm', 'e', 's'},
  44201. Felement: int32(_FcElementTimes),
  44202. },
  44203. 47: {
  44204. Fname: [16]uint8{'d', 'i', 'v', 'i', 'd', 'e'},
  44205. Felement: int32(_FcElementDivide),
  44206. },
  44207. 48: {
  44208. Fname: [16]uint8{'n', 'o', 't'},
  44209. Felement: int32(_FcElementNot),
  44210. },
  44211. 49: {
  44212. Fname: [16]uint8{'i', 'f'},
  44213. Felement: int32(_FcElementIf),
  44214. },
  44215. 50: {
  44216. Fname: [16]uint8{'f', 'l', 'o', 'o', 'r'},
  44217. Felement: int32(_FcElementFloor),
  44218. },
  44219. 51: {
  44220. Fname: [16]uint8{'c', 'e', 'i', 'l'},
  44221. Felement: int32(_FcElementCeil),
  44222. },
  44223. 52: {
  44224. Fname: [16]uint8{'r', 'o', 'u', 'n', 'd'},
  44225. Felement: int32(_FcElementRound),
  44226. },
  44227. 53: {
  44228. Fname: [16]uint8{'t', 'r', 'u', 'n', 'c'},
  44229. Felement: int32(_FcElementTrunc),
  44230. },
  44231. }
  44232. var _fcElementIgnoreName = [16]uintptr{
  44233. 0: __ccgo_ts + 6986,
  44234. 1: libc.UintptrFromInt32(0),
  44235. }
  44236. func _FcElementMap(tls *libc.TLS, name uintptr) (r TFcElement) {
  44237. var i int32
  44238. _ = i
  44239. i = 0
  44240. for {
  44241. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(1080)/libc.Uint32FromInt64(20))) {
  44242. break
  44243. }
  44244. if !(libc.Xstrcmp(tls, name, uintptr(unsafe.Pointer(&_fcElementMap))+uintptr(i)*20) != 0) {
  44245. return _fcElementMap[i].Felement
  44246. }
  44247. goto _1
  44248. _1:
  44249. ;
  44250. i++
  44251. }
  44252. i = 0
  44253. for {
  44254. if !(_fcElementIgnoreName[i] != libc.UintptrFromInt32(0)) {
  44255. break
  44256. }
  44257. if !(libc.Xstrncmp(tls, name, _fcElementIgnoreName[i], libc.Xstrlen(tls, _fcElementIgnoreName[i])) != 0) {
  44258. return int32(_FcElementNone)
  44259. }
  44260. goto _2
  44261. _2:
  44262. ;
  44263. i++
  44264. }
  44265. return int32(_FcElementUnknown)
  44266. }
  44267. func _FcElementReverseMap(tls *libc.TLS, e TFcElement) (r uintptr) {
  44268. var i int32
  44269. _ = i
  44270. i = 0
  44271. for {
  44272. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(1080)/libc.Uint32FromInt64(20))) {
  44273. break
  44274. }
  44275. if _fcElementMap[i].Felement == e {
  44276. return uintptr(unsafe.Pointer(&_fcElementMap)) + uintptr(i)*20
  44277. }
  44278. goto _1
  44279. _1:
  44280. ;
  44281. i++
  44282. }
  44283. return libc.UintptrFromInt32(0)
  44284. }
  44285. type TFcPStack = struct {
  44286. Fprev uintptr
  44287. Felement TFcElement
  44288. Fattr uintptr
  44289. Fstr TFcStrBuf
  44290. Fattr_buf_static [16]uintptr
  44291. }
  44292. type T_FcPStack = TFcPStack
  44293. type TFcVStackTag = int32
  44294. type __FcVStackTag = int32
  44295. const _FcVStackNone = 0
  44296. const _FcVStackString = 1
  44297. const _FcVStackFamily = 2
  44298. const _FcVStackConstant = 3
  44299. const _FcVStackGlob = 4
  44300. const _FcVStackName = 5
  44301. const _FcVStackPattern = 6
  44302. const _FcVStackPrefer = 7
  44303. const _FcVStackAccept = 8
  44304. const _FcVStackDefault = 9
  44305. const _FcVStackInteger = 10
  44306. const _FcVStackDouble = 11
  44307. const _FcVStackMatrix = 12
  44308. const _FcVStackRange = 13
  44309. const _FcVStackBool = 14
  44310. const _FcVStackCharSet = 15
  44311. const _FcVStackLangSet = 16
  44312. const _FcVStackTest = 17
  44313. const _FcVStackExpr = 18
  44314. const _FcVStackEdit = 19
  44315. type TFcVStack = struct {
  44316. F__ccgo_align [0]uint32
  44317. Fprev uintptr
  44318. Fpstack uintptr
  44319. Ftag TFcVStackTag
  44320. F__ccgo_align3 [4]byte
  44321. Fu struct {
  44322. F__ccgo_align [0]uint32
  44323. Finteger [0]int32
  44324. F_double [0]float64
  44325. Fmatrix [0]uintptr
  44326. Frange1 [0]uintptr
  44327. Fbool_ [0]TFcBool
  44328. Fcharset [0]uintptr
  44329. Flangset [0]uintptr
  44330. Fname [0]TFcExprName
  44331. Ftest [0]uintptr
  44332. Fqual [0]TFcQual
  44333. Fop [0]TFcOp
  44334. Fexpr [0]uintptr
  44335. Fedit [0]uintptr
  44336. Fpattern [0]uintptr
  44337. Fstring1 uintptr
  44338. F__ccgo_pad15 [4]byte
  44339. }
  44340. }
  44341. type T_FcVStack = TFcVStack
  44342. type TFcConfigParse = struct {
  44343. F__ccgo_align [0]uint32
  44344. Fpstack uintptr
  44345. Fvstack uintptr
  44346. Ferror1 TFcBool
  44347. Fname uintptr
  44348. Fconfig uintptr
  44349. Fruleset uintptr
  44350. Fparser TXML_Parser
  44351. Fpstack_static_used uint32
  44352. Fpstack_static [8]TFcPStack
  44353. Fvstack_static_used uint32
  44354. F__ccgo_align10 [4]byte
  44355. Fvstack_static [64]TFcVStack
  44356. FscanOnly TFcBool
  44357. F__ccgo_pad12 [4]byte
  44358. }
  44359. type T_FcConfigParse = TFcConfigParse
  44360. type TFcConfigSeverity = int32
  44361. type __FcConfigSeverity = int32
  44362. const _FcSevereInfo = 0
  44363. const _FcSevereWarning = 1
  44364. const _FcSevereError = 2
  44365. func _FcConfigMessage(tls *libc.TLS, parse uintptr, severe TFcConfigSeverity, fmt uintptr, va uintptr) {
  44366. bp := tls.Alloc(32)
  44367. defer tls.Free(32)
  44368. var args Tva_list
  44369. var s uintptr
  44370. _, _ = args, s
  44371. s = __ccgo_ts + 4864
  44372. args = va
  44373. switch severe {
  44374. case int32(_FcSevereInfo):
  44375. s = __ccgo_ts + 6991
  44376. case int32(_FcSevereWarning):
  44377. s = __ccgo_ts + 6996
  44378. case int32(_FcSevereError):
  44379. s = __ccgo_ts + 7004
  44380. break
  44381. }
  44382. if parse != 0 {
  44383. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fname != 0 {
  44384. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+7010, libc.VaList(bp+8, s, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname, libc.Int32FromUint32(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  44385. } else {
  44386. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+7041, libc.VaList(bp+8, s, libc.Int32FromUint32(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  44387. }
  44388. if severe >= int32(_FcSevereError) {
  44389. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  44390. }
  44391. } else {
  44392. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+7066, libc.VaList(bp+8, s))
  44393. }
  44394. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  44395. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1276, 0)
  44396. _ = args
  44397. }
  44398. func _FcTypeName(tls *libc.TLS, type1 TFcType) (r uintptr) {
  44399. switch type1 {
  44400. case int32(_FcTypeVoid):
  44401. return __ccgo_ts + 7082
  44402. case int32(_FcTypeInteger):
  44403. fallthrough
  44404. case int32(_FcTypeDouble):
  44405. return __ccgo_ts + 7087
  44406. case int32(_FcTypeString):
  44407. return __ccgo_ts + 7094
  44408. case int32(_FcTypeBool):
  44409. return __ccgo_ts + 7101
  44410. case int32(_FcTypeMatrix):
  44411. return __ccgo_ts + 6393
  44412. case int32(_FcTypeCharSet):
  44413. return __ccgo_ts + 6118
  44414. case int32(_FcTypeFTFace):
  44415. return __ccgo_ts + 7106
  44416. case int32(_FcTypeLangSet):
  44417. return __ccgo_ts + 7114
  44418. case int32(_FcTypeRange):
  44419. return __ccgo_ts + 7122
  44420. case int32(_FcTypeUnknown):
  44421. fallthrough
  44422. default:
  44423. return __ccgo_ts + 4864
  44424. }
  44425. return r
  44426. }
  44427. func _FcTypecheckValue(tls *libc.TLS, parse uintptr, value TFcType, type1 TFcType) {
  44428. bp := tls.Alloc(32)
  44429. defer tls.Free(32)
  44430. if value == int32(_FcTypeInteger) {
  44431. value = int32(_FcTypeDouble)
  44432. }
  44433. if type1 == int32(_FcTypeInteger) {
  44434. type1 = int32(_FcTypeDouble)
  44435. }
  44436. if value != type1 {
  44437. if value == int32(_FcTypeLangSet) && type1 == int32(_FcTypeString) || value == int32(_FcTypeString) && type1 == int32(_FcTypeLangSet) || value == int32(_FcTypeDouble) && type1 == int32(_FcTypeRange) {
  44438. return
  44439. }
  44440. if type1 == int32(_FcTypeUnknown) {
  44441. return
  44442. }
  44443. /* It's perfectly fine to use user-define elements in expressions,
  44444. * so don't warn in that case. */
  44445. if value == int32(_FcTypeUnknown) {
  44446. return
  44447. }
  44448. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7128, libc.VaList(bp+8, _FcTypeName(tls, value), _FcTypeName(tls, type1)))
  44449. }
  44450. }
  44451. func _FcTypecheckExpr(tls *libc.TLS, parse uintptr, expr uintptr, type1 TFcType) {
  44452. bp := tls.Alloc(16)
  44453. defer tls.Free(16)
  44454. var c, o uintptr
  44455. _, _ = c, o
  44456. /* If parsing the expression failed, some nodes may be NULL */
  44457. if !(expr != 0) {
  44458. return
  44459. }
  44460. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  44461. case int32(_FcOpInteger):
  44462. fallthrough
  44463. case int32(_FcOpDouble):
  44464. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  44465. case int32(_FcOpString):
  44466. _FcTypecheckValue(tls, parse, int32(_FcTypeString), type1)
  44467. case int32(_FcOpMatrix):
  44468. _FcTypecheckValue(tls, parse, int32(_FcTypeMatrix), type1)
  44469. case int32(_FcOpBool):
  44470. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44471. case int32(_FcOpCharSet):
  44472. _FcTypecheckValue(tls, parse, int32(_FcTypeCharSet), type1)
  44473. case int32(_FcOpLangSet):
  44474. _FcTypecheckValue(tls, parse, int32(_FcTypeLangSet), type1)
  44475. case int32(_FcOpRange):
  44476. _FcTypecheckValue(tls, parse, int32(_FcTypeRange), type1)
  44477. case int32(_FcOpNil):
  44478. case int32(_FcOpField):
  44479. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(expr + 8))).Fobject))
  44480. if o != 0 {
  44481. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  44482. }
  44483. case int32(_FcOpConst):
  44484. c = XIA__FcNameGetConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  44485. if c != 0 {
  44486. o = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  44487. if o != 0 {
  44488. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  44489. }
  44490. } else {
  44491. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7148, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  44492. }
  44493. case int32(_FcOpQuest):
  44494. _FcTypecheckExpr(tls, parse, (*(*struct {
  44495. Fleft uintptr
  44496. Fright uintptr
  44497. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  44498. _FcTypecheckExpr(tls, parse, (*(*struct {
  44499. Fleft uintptr
  44500. Fright uintptr
  44501. })(unsafe.Pointer((*(*struct {
  44502. Fleft uintptr
  44503. Fright uintptr
  44504. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft, type1)
  44505. _FcTypecheckExpr(tls, parse, (*(*struct {
  44506. Fleft uintptr
  44507. Fright uintptr
  44508. })(unsafe.Pointer((*(*struct {
  44509. Fleft uintptr
  44510. Fright uintptr
  44511. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright, type1)
  44512. case int32(_FcOpAssign):
  44513. fallthrough
  44514. case int32(_FcOpAssignReplace):
  44515. case int32(_FcOpEqual):
  44516. fallthrough
  44517. case int32(_FcOpNotEqual):
  44518. fallthrough
  44519. case int32(_FcOpLess):
  44520. fallthrough
  44521. case int32(_FcOpLessEqual):
  44522. fallthrough
  44523. case int32(_FcOpMore):
  44524. fallthrough
  44525. case int32(_FcOpMoreEqual):
  44526. fallthrough
  44527. case int32(_FcOpContains):
  44528. fallthrough
  44529. case int32(_FcOpNotContains):
  44530. fallthrough
  44531. case int32(_FcOpListing):
  44532. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44533. case int32(_FcOpComma):
  44534. fallthrough
  44535. case int32(_FcOpOr):
  44536. fallthrough
  44537. case int32(_FcOpAnd):
  44538. fallthrough
  44539. case int32(_FcOpPlus):
  44540. fallthrough
  44541. case int32(_FcOpMinus):
  44542. fallthrough
  44543. case int32(_FcOpTimes):
  44544. fallthrough
  44545. case int32(_FcOpDivide):
  44546. _FcTypecheckExpr(tls, parse, (*(*struct {
  44547. Fleft uintptr
  44548. Fright uintptr
  44549. })(unsafe.Pointer(expr + 8))).Fleft, type1)
  44550. _FcTypecheckExpr(tls, parse, (*(*struct {
  44551. Fleft uintptr
  44552. Fright uintptr
  44553. })(unsafe.Pointer(expr + 8))).Fright, type1)
  44554. case int32(_FcOpNot):
  44555. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44556. _FcTypecheckExpr(tls, parse, (*(*struct {
  44557. Fleft uintptr
  44558. Fright uintptr
  44559. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  44560. case int32(_FcOpFloor):
  44561. fallthrough
  44562. case int32(_FcOpCeil):
  44563. fallthrough
  44564. case int32(_FcOpRound):
  44565. fallthrough
  44566. case int32(_FcOpTrunc):
  44567. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  44568. _FcTypecheckExpr(tls, parse, (*(*struct {
  44569. Fleft uintptr
  44570. Fright uintptr
  44571. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeDouble))
  44572. default:
  44573. break
  44574. }
  44575. }
  44576. func _FcTestCreate(tls *libc.TLS, parse uintptr, kind TFcMatchKind, qual TFcQual, field uintptr, compare uint32, expr uintptr) (r uintptr) {
  44577. var o, test uintptr
  44578. _, _ = o, test
  44579. test = libc.Xmalloc(tls, uint32(20))
  44580. if test != 0 {
  44581. (*TFcTest)(unsafe.Pointer(test)).Fkind = kind
  44582. (*TFcTest)(unsafe.Pointer(test)).Fqual = qual
  44583. (*TFcTest)(unsafe.Pointer(test)).Fobject = XFcObjectFromName(tls, field)
  44584. (*TFcTest)(unsafe.Pointer(test)).Fop = libc.Int32FromUint32(compare)
  44585. (*TFcTest)(unsafe.Pointer(test)).Fexpr = expr
  44586. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject))
  44587. if o != 0 {
  44588. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  44589. }
  44590. }
  44591. return test
  44592. }
  44593. func _FcEditCreate(tls *libc.TLS, parse uintptr, object TFcObject, op TFcOp, expr uintptr, binding TFcValueBinding) (r uintptr) {
  44594. var e, o uintptr
  44595. _, _ = e, o
  44596. e = libc.Xmalloc(tls, uint32(16))
  44597. if e != 0 {
  44598. (*TFcEdit)(unsafe.Pointer(e)).Fobject = object
  44599. (*TFcEdit)(unsafe.Pointer(e)).Fop = op
  44600. (*TFcEdit)(unsafe.Pointer(e)).Fexpr = expr
  44601. (*TFcEdit)(unsafe.Pointer(e)).Fbinding = binding
  44602. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(e)).Fobject))
  44603. if o != 0 {
  44604. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  44605. }
  44606. }
  44607. return e
  44608. }
  44609. func _FcRuleCreate(tls *libc.TLS, type1 TFcRuleType, p uintptr) (r1 uintptr) {
  44610. var r uintptr
  44611. _ = r
  44612. r = libc.Xmalloc(tls, uint32(12))
  44613. if !(r != 0) {
  44614. return libc.UintptrFromInt32(0)
  44615. }
  44616. (*TFcRule)(unsafe.Pointer(r)).Fnext = libc.UintptrFromInt32(0)
  44617. (*TFcRule)(unsafe.Pointer(r)).Ftype1 = type1
  44618. switch type1 {
  44619. case int32(_FcRuleTest):
  44620. *(*uintptr)(unsafe.Pointer(r + 8)) = p
  44621. case int32(_FcRuleEdit):
  44622. *(*uintptr)(unsafe.Pointer(r + 8)) = p
  44623. case int32(_FcRuleUnknown):
  44624. fallthrough
  44625. default:
  44626. libc.Xfree(tls, r)
  44627. r = libc.UintptrFromInt32(0)
  44628. break
  44629. }
  44630. return r
  44631. }
  44632. func _FcVStackCreateAndPush(tls *libc.TLS, parse uintptr) (r uintptr) {
  44633. var new1, v2, v3 uintptr
  44634. var v1 uint32
  44635. _, _, _, _ = new1, v1, v2, v3
  44636. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used < libc.Uint32FromInt64(1536)/libc.Uint32FromInt64(24) {
  44637. v2 = parse + 1312
  44638. v1 = *(*uint32)(unsafe.Pointer(v2))
  44639. *(*uint32)(unsafe.Pointer(v2))++
  44640. new1 = parse + 1320 + uintptr(v1)*24
  44641. } else {
  44642. new1 = libc.Xmalloc(tls, uint32(24))
  44643. if !(new1 != 0) {
  44644. return uintptr(0)
  44645. }
  44646. }
  44647. (*TFcVStack)(unsafe.Pointer(new1)).Ftag = int32(_FcVStackNone)
  44648. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = uintptr(0)
  44649. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44650. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  44651. v3 = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fprev
  44652. } else {
  44653. v3 = uintptr(0)
  44654. }
  44655. (*TFcVStack)(unsafe.Pointer(new1)).Fpstack = v3
  44656. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = new1
  44657. return new1
  44658. }
  44659. func _FcVStackPushString(tls *libc.TLS, parse uintptr, tag TFcVStackTag, string1 uintptr) (r TFcBool) {
  44660. var vstack uintptr
  44661. _ = vstack
  44662. vstack = _FcVStackCreateAndPush(tls, parse)
  44663. if !(vstack != 0) {
  44664. return m_FcFalse
  44665. }
  44666. (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1 = string1
  44667. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  44668. return int32(m_FcTrue)
  44669. }
  44670. func _FcVStackPushInteger(tls *libc.TLS, parse uintptr, integer int32) (r TFcBool) {
  44671. var vstack uintptr
  44672. _ = vstack
  44673. vstack = _FcVStackCreateAndPush(tls, parse)
  44674. if !(vstack != 0) {
  44675. return m_FcFalse
  44676. }
  44677. *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = integer
  44678. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackInteger)
  44679. return int32(m_FcTrue)
  44680. }
  44681. func _FcVStackPushDouble(tls *libc.TLS, parse uintptr, _double float64) (r TFcBool) {
  44682. var vstack uintptr
  44683. _ = vstack
  44684. vstack = _FcVStackCreateAndPush(tls, parse)
  44685. if !(vstack != 0) {
  44686. return m_FcFalse
  44687. }
  44688. *(*float64)(unsafe.Pointer(vstack + 16)) = _double
  44689. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackDouble)
  44690. return int32(m_FcTrue)
  44691. }
  44692. func _FcVStackPushMatrix(tls *libc.TLS, parse uintptr, matrix uintptr) (r TFcBool) {
  44693. var vstack uintptr
  44694. _ = vstack
  44695. vstack = _FcVStackCreateAndPush(tls, parse)
  44696. if !(vstack != 0) {
  44697. return m_FcFalse
  44698. }
  44699. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  44700. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackMatrix)
  44701. return int32(m_FcTrue)
  44702. }
  44703. func _FcVStackPushRange(tls *libc.TLS, parse uintptr, range1 uintptr) (r TFcBool) {
  44704. var vstack uintptr
  44705. _ = vstack
  44706. vstack = _FcVStackCreateAndPush(tls, parse)
  44707. if !(vstack != 0) {
  44708. return m_FcFalse
  44709. }
  44710. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = range1
  44711. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackRange)
  44712. return int32(m_FcTrue)
  44713. }
  44714. func _FcVStackPushBool(tls *libc.TLS, parse uintptr, bool_ TFcBool) (r TFcBool) {
  44715. var vstack uintptr
  44716. _ = vstack
  44717. vstack = _FcVStackCreateAndPush(tls, parse)
  44718. if !(vstack != 0) {
  44719. return m_FcFalse
  44720. }
  44721. *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = bool_
  44722. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackBool)
  44723. return int32(m_FcTrue)
  44724. }
  44725. func _FcVStackPushCharSet(tls *libc.TLS, parse uintptr, charset uintptr) (r TFcBool) {
  44726. var vstack uintptr
  44727. _ = vstack
  44728. if !(charset != 0) {
  44729. return m_FcFalse
  44730. }
  44731. vstack = _FcVStackCreateAndPush(tls, parse)
  44732. if !(vstack != 0) {
  44733. return m_FcFalse
  44734. }
  44735. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = charset
  44736. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackCharSet)
  44737. return int32(m_FcTrue)
  44738. }
  44739. func _FcVStackPushLangSet(tls *libc.TLS, parse uintptr, langset uintptr) (r TFcBool) {
  44740. var vstack uintptr
  44741. _ = vstack
  44742. if !(langset != 0) {
  44743. return m_FcFalse
  44744. }
  44745. vstack = _FcVStackCreateAndPush(tls, parse)
  44746. if !(vstack != 0) {
  44747. return m_FcFalse
  44748. }
  44749. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = langset
  44750. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackLangSet)
  44751. return int32(m_FcTrue)
  44752. }
  44753. func _FcVStackPushName(tls *libc.TLS, parse uintptr, kind TFcMatchKind, object TFcObject) (r TFcBool) {
  44754. var vstack uintptr
  44755. _ = vstack
  44756. vstack = _FcVStackCreateAndPush(tls, parse)
  44757. if !(vstack != 0) {
  44758. return m_FcFalse
  44759. }
  44760. (*(*TFcExprName)(unsafe.Pointer(vstack + 16))).Fobject = object
  44761. (*(*TFcExprName)(unsafe.Pointer(vstack + 16))).Fkind = kind
  44762. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackName)
  44763. return int32(m_FcTrue)
  44764. }
  44765. func _FcVStackPushTest(tls *libc.TLS, parse uintptr, test uintptr) (r TFcBool) {
  44766. var vstack uintptr
  44767. _ = vstack
  44768. vstack = _FcVStackCreateAndPush(tls, parse)
  44769. if !(vstack != 0) {
  44770. return m_FcFalse
  44771. }
  44772. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = test
  44773. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackTest)
  44774. return int32(m_FcTrue)
  44775. }
  44776. func _FcVStackPushExpr(tls *libc.TLS, parse uintptr, tag TFcVStackTag, expr uintptr) (r TFcBool) {
  44777. var vstack uintptr
  44778. _ = vstack
  44779. vstack = _FcVStackCreateAndPush(tls, parse)
  44780. if !(vstack != 0) {
  44781. return m_FcFalse
  44782. }
  44783. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = expr
  44784. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  44785. return int32(m_FcTrue)
  44786. }
  44787. func _FcVStackPushEdit(tls *libc.TLS, parse uintptr, edit uintptr) (r TFcBool) {
  44788. var vstack uintptr
  44789. _ = vstack
  44790. vstack = _FcVStackCreateAndPush(tls, parse)
  44791. if !(vstack != 0) {
  44792. return m_FcFalse
  44793. }
  44794. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = edit
  44795. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackEdit)
  44796. return int32(m_FcTrue)
  44797. }
  44798. func _FcVStackPushPattern(tls *libc.TLS, parse uintptr, pattern uintptr) (r TFcBool) {
  44799. var vstack uintptr
  44800. _ = vstack
  44801. vstack = _FcVStackCreateAndPush(tls, parse)
  44802. if !(vstack != 0) {
  44803. return m_FcFalse
  44804. }
  44805. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = pattern
  44806. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackPattern)
  44807. return int32(m_FcTrue)
  44808. }
  44809. func _FcVStackFetch(tls *libc.TLS, parse uintptr, off int32) (r uintptr) {
  44810. var vstack uintptr
  44811. var v2 int32
  44812. var v3 bool
  44813. _, _, _ = vstack, v2, v3
  44814. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44815. for {
  44816. if v3 = vstack != 0; v3 {
  44817. v2 = off
  44818. off--
  44819. }
  44820. if !(v3 && v2 > 0) {
  44821. break
  44822. }
  44823. goto _1
  44824. _1:
  44825. ;
  44826. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44827. }
  44828. return vstack
  44829. }
  44830. func _FcVStackPeek(tls *libc.TLS, parse uintptr) (r uintptr) {
  44831. var vstack, v1 uintptr
  44832. _, _ = vstack, v1
  44833. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44834. if vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44835. v1 = vstack
  44836. } else {
  44837. v1 = uintptr(0)
  44838. }
  44839. return v1
  44840. }
  44841. func _FcVStackPopAndDestroy(tls *libc.TLS, parse uintptr) {
  44842. var vstack uintptr
  44843. _ = vstack
  44844. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44845. if !(vstack != 0) || (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack != (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44846. return
  44847. }
  44848. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44849. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44850. case int32(_FcVStackNone):
  44851. case int32(_FcVStackName):
  44852. case int32(_FcVStackFamily):
  44853. case int32(_FcVStackString):
  44854. fallthrough
  44855. case int32(_FcVStackConstant):
  44856. fallthrough
  44857. case int32(_FcVStackGlob):
  44858. XIA__FcStrFree(tls, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  44859. case int32(_FcVStackPattern):
  44860. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44861. case int32(_FcVStackInteger):
  44862. fallthrough
  44863. case int32(_FcVStackDouble):
  44864. case int32(_FcVStackMatrix):
  44865. _FcExprMatrixFreeShallow(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44866. case int32(_FcVStackBool):
  44867. case int32(_FcVStackRange):
  44868. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44869. case int32(_FcVStackCharSet):
  44870. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44871. case int32(_FcVStackLangSet):
  44872. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44873. case int32(_FcVStackTest):
  44874. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44875. case int32(_FcVStackExpr):
  44876. fallthrough
  44877. case int32(_FcVStackPrefer):
  44878. fallthrough
  44879. case int32(_FcVStackAccept):
  44880. fallthrough
  44881. case int32(_FcVStackDefault):
  44882. _FcExprDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44883. case int32(_FcVStackEdit):
  44884. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44885. break
  44886. }
  44887. if vstack == parse+1320+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used-uint32(1))*24 {
  44888. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used--
  44889. } else {
  44890. libc.Xfree(tls, vstack)
  44891. }
  44892. }
  44893. func _FcVStackClear(tls *libc.TLS, parse uintptr) {
  44894. for _FcVStackPeek(tls, parse) != 0 {
  44895. _FcVStackPopAndDestroy(tls, parse)
  44896. }
  44897. }
  44898. func _FcVStackElements(tls *libc.TLS, parse uintptr) (r int32) {
  44899. var h int32
  44900. var vstack uintptr
  44901. _, _ = h, vstack
  44902. h = 0
  44903. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44904. for vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44905. h++
  44906. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44907. }
  44908. return h
  44909. }
  44910. func _FcConfigSaveAttr(tls *libc.TLS, attr uintptr, buf uintptr, size_bytes int32) (r uintptr) {
  44911. var i, slen int32
  44912. var new1, s uintptr
  44913. _, _, _, _ = i, new1, s, slen
  44914. if !(attr != 0) {
  44915. return uintptr(0)
  44916. }
  44917. slen = 0
  44918. i = 0
  44919. for {
  44920. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*4)) != 0) {
  44921. break
  44922. }
  44923. slen = int32(uint32(slen) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*4))) + libc.Uint32FromInt32(1)))
  44924. goto _1
  44925. _1:
  44926. ;
  44927. i++
  44928. }
  44929. if i == 0 {
  44930. return uintptr(0)
  44931. }
  44932. slen = int32(uint32(slen) + libc.Uint32FromInt32(i+libc.Int32FromInt32(1))*libc.Uint32FromInt64(4))
  44933. if slen <= size_bytes {
  44934. new1 = buf
  44935. } else {
  44936. new1 = libc.Xmalloc(tls, libc.Uint32FromInt32(slen))
  44937. if !(new1 != 0) {
  44938. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+7175, 0)
  44939. return uintptr(0)
  44940. }
  44941. }
  44942. s = new1 + uintptr(i+libc.Int32FromInt32(1))*4
  44943. i = 0
  44944. for {
  44945. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*4)) != 0) {
  44946. break
  44947. }
  44948. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*4)) = s
  44949. libc.Xstrcpy(tls, s, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*4)))
  44950. s += uintptr(libc.Xstrlen(tls, s) + uint32(1))
  44951. goto _2
  44952. _2:
  44953. ;
  44954. i++
  44955. }
  44956. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*4)) = uintptr(0)
  44957. return new1
  44958. }
  44959. func _FcPStackPush(tls *libc.TLS, parse uintptr, element TFcElement, attr uintptr) (r TFcBool) {
  44960. var new1, v2 uintptr
  44961. var v1 uint32
  44962. _, _, _ = new1, v1, v2
  44963. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used < libc.Uint32FromInt64(1280)/libc.Uint32FromInt64(160) {
  44964. v2 = parse + 28
  44965. v1 = *(*uint32)(unsafe.Pointer(v2))
  44966. *(*uint32)(unsafe.Pointer(v2))++
  44967. new1 = parse + 32 + uintptr(v1)*160
  44968. } else {
  44969. new1 = libc.Xmalloc(tls, uint32(160))
  44970. if !(new1 != 0) {
  44971. return m_FcFalse
  44972. }
  44973. }
  44974. (*TFcPStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  44975. (*TFcPStack)(unsafe.Pointer(new1)).Felement = element
  44976. (*TFcPStack)(unsafe.Pointer(new1)).Fattr = _FcConfigSaveAttr(tls, attr, new1+96, int32(64))
  44977. XFcStrBufInit(tls, new1+12, uintptr(0), 0)
  44978. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = new1
  44979. return int32(m_FcTrue)
  44980. }
  44981. func _FcPStackPop(tls *libc.TLS, parse uintptr) (r TFcBool) {
  44982. bp := tls.Alloc(16)
  44983. defer tls.Free(16)
  44984. var attrs, old uintptr
  44985. _, _ = attrs, old
  44986. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44987. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7189, 0)
  44988. return m_FcFalse
  44989. }
  44990. /* Don't check the attributes for FcElementNone */
  44991. if (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement != int32(_FcElementNone) && (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr != 0 {
  44992. /* Warn about unused attrs. */
  44993. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  44994. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  44995. if *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) != 0 {
  44996. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7209, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(attrs))))
  44997. }
  44998. attrs += uintptr(2) * 4
  44999. }
  45000. }
  45001. _FcVStackClear(tls, parse)
  45002. old = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  45003. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = (*TFcPStack)(unsafe.Pointer(old)).Fprev
  45004. XFcStrBufDestroy(tls, old+12)
  45005. if (*TFcPStack)(unsafe.Pointer(old)).Fattr != 0 && (*TFcPStack)(unsafe.Pointer(old)).Fattr != old+96 {
  45006. libc.Xfree(tls, (*TFcPStack)(unsafe.Pointer(old)).Fattr)
  45007. }
  45008. if old == parse+32+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used-uint32(1))*160 {
  45009. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used--
  45010. } else {
  45011. libc.Xfree(tls, old)
  45012. }
  45013. return int32(m_FcTrue)
  45014. }
  45015. func _FcConfigParseInit(tls *libc.TLS, parse uintptr, name uintptr, config uintptr, parser TXML_Parser, enabled TFcBool) (r TFcBool) {
  45016. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = uintptr(0)
  45017. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used = uint32(0)
  45018. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = uintptr(0)
  45019. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used = uint32(0)
  45020. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = m_FcFalse
  45021. (*TFcConfigParse)(unsafe.Pointer(parse)).Fname = name
  45022. (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig = config
  45023. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, name)
  45024. (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser = parser
  45025. (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly = libc.BoolInt32(!(enabled != 0))
  45026. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, enabled)
  45027. return int32(m_FcTrue)
  45028. }
  45029. func _FcConfigCleanup(tls *libc.TLS, parse uintptr) {
  45030. for (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  45031. _FcPStackPop(tls, parse)
  45032. }
  45033. XFcRuleSetDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset)
  45034. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = libc.UintptrFromInt32(0)
  45035. }
  45036. func _FcConfigGetAttribute(tls *libc.TLS, parse uintptr, attr uintptr) (r uintptr) {
  45037. var attrs uintptr
  45038. _ = attrs
  45039. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45040. return uintptr(0)
  45041. }
  45042. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  45043. if !(attrs != 0) {
  45044. return uintptr(0)
  45045. }
  45046. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  45047. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(attrs)), attr) != 0) {
  45048. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) = uint8('\000') /* Mark as used. */
  45049. return *(*uintptr)(unsafe.Pointer(attrs + 1*4))
  45050. }
  45051. attrs += uintptr(2) * 4
  45052. }
  45053. return uintptr(0)
  45054. }
  45055. func __get_real_paths_from_prefix(tls *libc.TLS, parse uintptr, path uintptr, prefix uintptr) (r uintptr) {
  45056. bp := tls.Alloc(32)
  45057. defer tls.Free(32)
  45058. var e, p, parent, retval, s uintptr
  45059. var i int32
  45060. _, _, _, _, _, _ = e, i, p, parent, retval, s
  45061. parent = libc.UintptrFromInt32(0)
  45062. retval = libc.UintptrFromInt32(0)
  45063. e = libc.UintptrFromInt32(0)
  45064. if prefix != 0 {
  45065. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7232) == 0 {
  45066. parent = XFcConfigXdgDataHome(tls)
  45067. if !(parent != 0) {
  45068. /* Home directory might be disabled */
  45069. return libc.UintptrFromInt32(0)
  45070. }
  45071. e = XFcConfigXdgDataDirs(tls)
  45072. if !(e != 0) {
  45073. XIA__FcStrFree(tls, parent)
  45074. return libc.UintptrFromInt32(0)
  45075. }
  45076. } else {
  45077. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7236) == 0 || XIA__FcStrCmp(tls, prefix, __ccgo_ts+7244) == 0 {
  45078. /* Nothing to do */
  45079. } else {
  45080. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7248) == 0 {
  45081. p = XFcStrRealPath(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname)
  45082. if !(p != 0) {
  45083. return libc.UintptrFromInt32(0)
  45084. }
  45085. parent = XIA__FcStrDirname(tls, p)
  45086. if !(parent != 0) {
  45087. libc.Xfree(tls, p)
  45088. return libc.UintptrFromInt32(0)
  45089. }
  45090. }
  45091. }
  45092. }
  45093. } else {
  45094. if !(XFcStrIsAbsoluteFilename(tls, path) != 0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path))) != int32('~') {
  45095. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7257, libc.VaList(bp+8, _FcElementReverseMap(tls, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)))
  45096. }
  45097. }
  45098. if parent != 0 {
  45099. retval = XIA__FcStrBuildFilename(tls, parent, libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  45100. XIA__FcStrFree(tls, parent)
  45101. } else {
  45102. retval = libc.Xstrdup(tls, path)
  45103. }
  45104. if !(e != 0) {
  45105. e = XIA__FcStrSetCreate(tls)
  45106. } else {
  45107. i = 0
  45108. for {
  45109. if !(i < (*TFcStrSet)(unsafe.Pointer(e)).Fnum) {
  45110. break
  45111. }
  45112. s = XIA__FcStrBuildFilename(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*4)), libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  45113. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*4)))
  45114. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*4)) = s
  45115. goto _1
  45116. _1:
  45117. ;
  45118. i++
  45119. }
  45120. }
  45121. if !(XFcStrSetInsert(tls, e, retval, 0) != 0) {
  45122. XIA__FcStrSetDestroy(tls, e)
  45123. e = libc.UintptrFromInt32(0)
  45124. }
  45125. XIA__FcStrFree(tls, retval)
  45126. return e
  45127. }
  45128. func _FcStartElement(tls *libc.TLS, userData uintptr, name uintptr, attr uintptr) {
  45129. bp := tls.Alloc(16)
  45130. defer tls.Free(16)
  45131. var element TFcElement
  45132. var parse uintptr
  45133. _, _ = element, parse
  45134. parse = userData
  45135. element = _FcElementMap(tls, name)
  45136. if element == int32(_FcElementUnknown) {
  45137. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7352, libc.VaList(bp+8, name))
  45138. }
  45139. if !(_FcPStackPush(tls, parse, element, attr) != 0) {
  45140. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45141. return
  45142. }
  45143. return
  45144. }
  45145. func _FcParseRescan(tls *libc.TLS, parse uintptr) {
  45146. var n, v1 int32
  45147. var v uintptr
  45148. _, _, _ = n, v, v1
  45149. n = _FcVStackElements(tls, parse)
  45150. for {
  45151. v1 = n
  45152. n--
  45153. if !(v1 > 0) {
  45154. break
  45155. }
  45156. v = _FcVStackFetch(tls, parse, n)
  45157. if (*TFcVStack)(unsafe.Pointer(v)).Ftag != int32(_FcVStackInteger) {
  45158. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7373, 0)
  45159. } else {
  45160. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FrescanInterval = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(v)).Fu))
  45161. }
  45162. }
  45163. }
  45164. func _FcParseInt(tls *libc.TLS, parse uintptr) {
  45165. bp := tls.Alloc(32)
  45166. defer tls.Free(32)
  45167. var l int32
  45168. var s uintptr
  45169. var _ /* end at bp+0 */ uintptr
  45170. _, _ = l, s
  45171. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45172. return
  45173. }
  45174. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45175. if !(s != 0) {
  45176. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45177. return
  45178. }
  45179. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  45180. l = libc.Xstrtol(tls, s, bp, 0)
  45181. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  45182. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7392, libc.VaList(bp+16, s))
  45183. } else {
  45184. _FcVStackPushInteger(tls, parse, l)
  45185. }
  45186. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45187. }
  45188. type Tlconv = struct {
  45189. Fdecimal_point uintptr
  45190. Fthousands_sep uintptr
  45191. Fgrouping uintptr
  45192. Fint_curr_symbol uintptr
  45193. Fcurrency_symbol uintptr
  45194. Fmon_decimal_point uintptr
  45195. Fmon_thousands_sep uintptr
  45196. Fmon_grouping uintptr
  45197. Fpositive_sign uintptr
  45198. Fnegative_sign uintptr
  45199. Fint_frac_digits uint8
  45200. Ffrac_digits uint8
  45201. Fp_cs_precedes uint8
  45202. Fp_sep_by_space uint8
  45203. Fn_cs_precedes uint8
  45204. Fn_sep_by_space uint8
  45205. Fp_sign_posn uint8
  45206. Fn_sign_posn uint8
  45207. Fint_p_cs_precedes uint8
  45208. Fint_p_sep_by_space uint8
  45209. Fint_n_cs_precedes uint8
  45210. Fint_n_sep_by_space uint8
  45211. Fint_p_sign_posn uint8
  45212. Fint_n_sign_posn uint8
  45213. }
  45214. func _FcStrtod(tls *libc.TLS, s uintptr, end uintptr) (r float64) {
  45215. bp := tls.Alloc(144)
  45216. defer tls.Free(144)
  45217. var decimal_point, dot, locale_data, v1 uintptr
  45218. var dlen, slen int32
  45219. var v float64
  45220. var _ /* buf at bp+0 */ [128]uint8
  45221. var _ /* buf_end at bp+128 */ uintptr
  45222. _, _, _, _, _, _, _ = decimal_point, dlen, dot, locale_data, slen, v, v1
  45223. /*
  45224. * Have to swap the decimal point to match the current locale
  45225. * if that locale doesn't use 0x2e
  45226. */
  45227. locale_data = libc.Xlocaleconv(tls)
  45228. decimal_point = (*Tlconv)(unsafe.Pointer(locale_data)).Fdecimal_point
  45229. dlen = libc.Int32FromUint32(libc.Xstrlen(tls, decimal_point))
  45230. v1 = libc.Xstrchr(tls, s, int32(0x2e))
  45231. dot = v1
  45232. if v1 != 0 && (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(decimal_point))) != int32(0x2e) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(decimal_point + 1))) != 0) {
  45233. slen = libc.Int32FromUint32(libc.Xstrlen(tls, s))
  45234. if slen+dlen > libc.Int32FromInt64(128) {
  45235. if end != 0 {
  45236. *(*uintptr)(unsafe.Pointer(end)) = s
  45237. }
  45238. v = libc.Float64FromInt32(0)
  45239. } else {
  45240. /* mantissa */
  45241. libc.Xstrncpy(tls, bp, s, libc.Uint32FromInt32(int32(dot)-int32(s)))
  45242. /* decimal point */
  45243. libc.Xstrcpy(tls, bp+uintptr(int32(dot)-int32(s)), decimal_point)
  45244. /* rest of number */
  45245. libc.Xstrcpy(tls, bp+uintptr(int32(dot)-int32(s))+uintptr(dlen), dot+uintptr(1))
  45246. *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
  45247. v = libc.Xstrtod(tls, bp, bp+128)
  45248. if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 {
  45249. *(*uintptr)(unsafe.Pointer(bp + 128)) = s + uintptr(int32(*(*uintptr)(unsafe.Pointer(bp + 128)))-t__predefined_ptrdiff_t(bp))
  45250. if *(*uintptr)(unsafe.Pointer(bp + 128)) > dot {
  45251. *(*uintptr)(unsafe.Pointer(bp + 128)) -= uintptr(dlen - int32(1))
  45252. }
  45253. }
  45254. if end != 0 {
  45255. *(*uintptr)(unsafe.Pointer(end)) = *(*uintptr)(unsafe.Pointer(bp + 128))
  45256. }
  45257. }
  45258. } else {
  45259. v = libc.Xstrtod(tls, s, end)
  45260. }
  45261. return v
  45262. }
  45263. func _FcParseDouble(tls *libc.TLS, parse uintptr) {
  45264. bp := tls.Alloc(32)
  45265. defer tls.Free(32)
  45266. var d float64
  45267. var s uintptr
  45268. var _ /* end at bp+0 */ uintptr
  45269. _, _ = d, s
  45270. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45271. return
  45272. }
  45273. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45274. if !(s != 0) {
  45275. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45276. return
  45277. }
  45278. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  45279. d = _FcStrtod(tls, s, bp)
  45280. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  45281. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7418, libc.VaList(bp+16, s))
  45282. } else {
  45283. _FcVStackPushDouble(tls, parse, d)
  45284. }
  45285. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45286. }
  45287. func _FcParseString(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  45288. var s uintptr
  45289. _ = s
  45290. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45291. return
  45292. }
  45293. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45294. if !(s != 0) {
  45295. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45296. return
  45297. }
  45298. if !(_FcVStackPushString(tls, parse, tag, s) != 0) {
  45299. XIA__FcStrFree(tls, s)
  45300. }
  45301. }
  45302. func _FcParseName(tls *libc.TLS, parse uintptr) {
  45303. bp := tls.Alloc(16)
  45304. defer tls.Free(16)
  45305. var kind TFcMatchKind
  45306. var kind_string, s uintptr
  45307. var object TFcObject
  45308. _, _, _, _ = kind, kind_string, object, s
  45309. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7443)
  45310. if !(kind_string != 0) {
  45311. kind = -libc.Int32FromInt32(1)
  45312. } else {
  45313. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7450) != 0) {
  45314. kind = int32(_FcMatchPattern)
  45315. } else {
  45316. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7458) != 0) {
  45317. kind = int32(_FcMatchFont)
  45318. } else {
  45319. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7236) != 0) {
  45320. kind = -libc.Int32FromInt32(1)
  45321. } else {
  45322. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7463, libc.VaList(bp+8, kind_string))
  45323. return
  45324. }
  45325. }
  45326. }
  45327. }
  45328. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45329. return
  45330. }
  45331. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45332. if !(s != 0) {
  45333. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45334. return
  45335. }
  45336. object = XFcObjectFromName(tls, s)
  45337. _FcVStackPushName(tls, parse, kind, object)
  45338. XIA__FcStrFree(tls, s)
  45339. }
  45340. func _FcParseMatrix(tls *libc.TLS, parse uintptr) {
  45341. bp := tls.Alloc(16)
  45342. defer tls.Free(16)
  45343. var _ /* m at bp+0 */ TFcExprMatrix
  45344. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy = _FcPopExpr(tls, parse)
  45345. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx = _FcPopExpr(tls, parse)
  45346. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy = _FcPopExpr(tls, parse)
  45347. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx = _FcPopExpr(tls, parse)
  45348. if !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx != 0) {
  45349. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7488, 0)
  45350. return
  45351. }
  45352. if _FcPopExpr(tls, parse) != 0 {
  45353. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7521, 0)
  45354. } else {
  45355. _FcVStackPushMatrix(tls, parse, bp)
  45356. }
  45357. }
  45358. func _FcParseRange(tls *libc.TLS, parse uintptr) {
  45359. var count int32
  45360. var d [2]float64
  45361. var dflag TFcBool
  45362. var n [2]TFcChar32
  45363. var r, vstack, v1 uintptr
  45364. _, _, _, _, _, _, _ = count, d, dflag, n, r, vstack, v1
  45365. n = [2]TFcChar32{}
  45366. count = int32(1)
  45367. d = [2]float64{}
  45368. dflag = m_FcFalse
  45369. for {
  45370. v1 = _FcVStackPeek(tls, parse)
  45371. vstack = v1
  45372. if !(v1 != 0) {
  45373. break
  45374. }
  45375. if count < 0 {
  45376. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7553, 0)
  45377. return
  45378. }
  45379. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45380. case int32(_FcVStackInteger):
  45381. if dflag != 0 {
  45382. d[count] = float64(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45383. } else {
  45384. n[count] = libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45385. }
  45386. case int32(_FcVStackDouble):
  45387. if count == 0 && !(dflag != 0) {
  45388. d[int32(1)] = float64(n[int32(1)])
  45389. }
  45390. d[count] = *(*float64)(unsafe.Pointer(vstack + 16))
  45391. dflag = int32(m_FcTrue)
  45392. default:
  45393. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7580, 0)
  45394. if dflag != 0 {
  45395. d[count] = libc.Float64FromFloat64(0)
  45396. } else {
  45397. n[count] = uint32(0)
  45398. }
  45399. break
  45400. }
  45401. count--
  45402. _FcVStackPopAndDestroy(tls, parse)
  45403. }
  45404. if count >= 0 {
  45405. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7605, 0)
  45406. return
  45407. }
  45408. if dflag != 0 {
  45409. if d[0] > d[int32(1)] {
  45410. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7605, 0)
  45411. return
  45412. }
  45413. r = XIA__FcRangeCreateDouble(tls, d[0], d[int32(1)])
  45414. } else {
  45415. if n[0] > n[int32(1)] {
  45416. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7605, 0)
  45417. return
  45418. }
  45419. r = XIA__FcRangeCreateInteger(tls, n[0], n[int32(1)])
  45420. }
  45421. _FcVStackPushRange(tls, parse, r)
  45422. }
  45423. func _FcConfigLexBool(tls *libc.TLS, parse uintptr, bool_ uintptr) (r TFcBool) {
  45424. bp := tls.Alloc(32)
  45425. defer tls.Free(32)
  45426. var _ /* result at bp+0 */ TFcBool
  45427. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  45428. if !(XFcNameBool(tls, bool_, bp) != 0) {
  45429. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7619, libc.VaList(bp+16, bool_))
  45430. }
  45431. return *(*TFcBool)(unsafe.Pointer(bp))
  45432. }
  45433. func _FcParseBool(tls *libc.TLS, parse uintptr) {
  45434. var s uintptr
  45435. _ = s
  45436. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45437. return
  45438. }
  45439. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45440. if !(s != 0) {
  45441. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45442. return
  45443. }
  45444. _FcVStackPushBool(tls, parse, _FcConfigLexBool(tls, parse, s))
  45445. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45446. }
  45447. func _FcParseCharSet(tls *libc.TLS, parse uintptr) {
  45448. bp := tls.Alloc(16)
  45449. defer tls.Free(16)
  45450. var begin, end, i TFcChar32
  45451. var charset, vstack, v1 uintptr
  45452. var n int32
  45453. _, _, _, _, _, _, _ = begin, charset, end, i, n, vstack, v1
  45454. charset = XIA__FcCharSetCreate(tls)
  45455. n = 0
  45456. for {
  45457. v1 = _FcVStackPeek(tls, parse)
  45458. vstack = v1
  45459. if !(v1 != 0) {
  45460. break
  45461. }
  45462. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45463. case int32(_FcVStackInteger):
  45464. if !(XIA__FcCharSetAddChar(tls, charset, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))) != 0) {
  45465. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7645, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))))
  45466. } else {
  45467. n++
  45468. }
  45469. case int32(_FcVStackRange):
  45470. begin = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))).Fbegin)
  45471. end = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))).Fend)
  45472. if begin <= end {
  45473. i = begin
  45474. for {
  45475. if !(i <= end) {
  45476. break
  45477. }
  45478. if !(XIA__FcCharSetAddChar(tls, charset, i) != 0) {
  45479. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7645, libc.VaList(bp+8, i))
  45480. } else {
  45481. n++
  45482. }
  45483. goto _2
  45484. _2:
  45485. ;
  45486. i++
  45487. }
  45488. }
  45489. default:
  45490. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7671, 0)
  45491. break
  45492. }
  45493. _FcVStackPopAndDestroy(tls, parse)
  45494. }
  45495. if n > 0 {
  45496. _FcVStackPushCharSet(tls, parse, charset)
  45497. } else {
  45498. XIA__FcCharSetDestroy(tls, charset)
  45499. }
  45500. }
  45501. func _FcParseLangSet(tls *libc.TLS, parse uintptr) {
  45502. bp := tls.Alloc(16)
  45503. defer tls.Free(16)
  45504. var langset, vstack, v1 uintptr
  45505. var n int32
  45506. _, _, _, _ = langset, n, vstack, v1
  45507. langset = XIA__FcLangSetCreate(tls)
  45508. n = 0
  45509. for {
  45510. v1 = _FcVStackPeek(tls, parse)
  45511. vstack = v1
  45512. if !(v1 != 0) {
  45513. break
  45514. }
  45515. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45516. case int32(_FcVStackString):
  45517. if !(XIA__FcLangSetAdd(tls, langset, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1) != 0) {
  45518. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7698, libc.VaList(bp+8, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1))
  45519. } else {
  45520. n++
  45521. }
  45522. default:
  45523. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7718, 0)
  45524. break
  45525. }
  45526. _FcVStackPopAndDestroy(tls, parse)
  45527. }
  45528. if n > 0 {
  45529. _FcVStackPushLangSet(tls, parse, langset)
  45530. } else {
  45531. XIA__FcLangSetDestroy(tls, langset)
  45532. }
  45533. }
  45534. func _FcConfigLexBinding(tls *libc.TLS, parse uintptr, binding_string uintptr, binding_ret uintptr) (r TFcBool) {
  45535. bp := tls.Alloc(16)
  45536. defer tls.Free(16)
  45537. var binding TFcValueBinding
  45538. _ = binding
  45539. if !(binding_string != 0) {
  45540. binding = int32(_FcValueBindingWeak)
  45541. } else {
  45542. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7745) != 0) {
  45543. binding = int32(_FcValueBindingWeak)
  45544. } else {
  45545. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7750) != 0) {
  45546. binding = int32(_FcValueBindingStrong)
  45547. } else {
  45548. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7757) != 0) {
  45549. binding = int32(_FcValueBindingSame)
  45550. } else {
  45551. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7762, libc.VaList(bp+8, binding_string))
  45552. return m_FcFalse
  45553. }
  45554. }
  45555. }
  45556. }
  45557. *(*TFcValueBinding)(unsafe.Pointer(binding_ret)) = binding
  45558. return int32(m_FcTrue)
  45559. }
  45560. func _FcParseFamilies(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  45561. var expr, left, new1, vstack, v1 uintptr
  45562. _, _, _, _, _ = expr, left, new1, vstack, v1
  45563. expr = uintptr(0)
  45564. for {
  45565. v1 = _FcVStackPeek(tls, parse)
  45566. vstack = v1
  45567. if !(v1 != 0) {
  45568. break
  45569. }
  45570. if (*TFcVStack)(unsafe.Pointer(vstack)).Ftag != int32(_FcVStackFamily) {
  45571. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7783, 0)
  45572. _FcVStackPopAndDestroy(tls, parse)
  45573. continue
  45574. }
  45575. left = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45576. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45577. _FcVStackPopAndDestroy(tls, parse)
  45578. if expr != 0 {
  45579. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, int32(_FcOpComma), expr)
  45580. if !(new1 != 0) {
  45581. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45582. _FcExprDestroy(tls, left)
  45583. _FcExprDestroy(tls, expr)
  45584. break
  45585. }
  45586. expr = new1
  45587. } else {
  45588. expr = left
  45589. }
  45590. }
  45591. if expr != 0 {
  45592. if !(_FcVStackPushExpr(tls, parse, tag, expr) != 0) {
  45593. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45594. _FcExprDestroy(tls, expr)
  45595. }
  45596. }
  45597. }
  45598. func _FcParseFamily(tls *libc.TLS, parse uintptr) {
  45599. var expr, s uintptr
  45600. _, _ = expr, s
  45601. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45602. return
  45603. }
  45604. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45605. if !(s != 0) {
  45606. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45607. return
  45608. }
  45609. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  45610. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45611. if expr != 0 {
  45612. _FcVStackPushExpr(tls, parse, int32(_FcVStackFamily), expr)
  45613. }
  45614. }
  45615. func _FcParseAlias(tls *libc.TLS, parse uintptr) {
  45616. bp := tls.Alloc(16)
  45617. defer tls.Free(16)
  45618. var accept, def, edit, family, new1, prefer, r, rule, t, vstack, v1, v3 uintptr
  45619. var n, v4 int32
  45620. var _ /* binding at bp+0 */ TFcValueBinding
  45621. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = accept, def, edit, family, n, new1, prefer, r, rule, t, vstack, v1, v3, v4
  45622. family = uintptr(0)
  45623. accept = uintptr(0)
  45624. prefer = uintptr(0)
  45625. def = uintptr(0)
  45626. new1 = uintptr(0)
  45627. edit = uintptr(0)
  45628. rule = libc.UintptrFromInt32(0)
  45629. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7794), bp) != 0) {
  45630. return
  45631. }
  45632. for {
  45633. v1 = _FcVStackPeek(tls, parse)
  45634. vstack = v1
  45635. if !(v1 != 0) {
  45636. break
  45637. }
  45638. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45639. case int32(_FcVStackFamily):
  45640. if family != 0 {
  45641. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7802, 0)
  45642. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)), int32(_FcOpComma), family)
  45643. if !(new1 != 0) {
  45644. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45645. } else {
  45646. family = new1
  45647. }
  45648. } else {
  45649. new1 = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45650. }
  45651. if new1 != 0 {
  45652. family = new1
  45653. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45654. }
  45655. case int32(_FcVStackPrefer):
  45656. if prefer != 0 {
  45657. _FcExprDestroy(tls, prefer)
  45658. }
  45659. prefer = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45660. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45661. case int32(_FcVStackAccept):
  45662. if accept != 0 {
  45663. _FcExprDestroy(tls, accept)
  45664. }
  45665. accept = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45666. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45667. case int32(_FcVStackDefault):
  45668. if def != 0 {
  45669. _FcExprDestroy(tls, def)
  45670. }
  45671. def = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45672. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45673. case int32(_FcVStackTest):
  45674. if rule != 0 {
  45675. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45676. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  45677. rule = r
  45678. } else {
  45679. rule = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45680. }
  45681. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45682. default:
  45683. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7883, 0)
  45684. break
  45685. }
  45686. _FcVStackPopAndDestroy(tls, parse)
  45687. }
  45688. if !(family != 0) {
  45689. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7893, 0)
  45690. if prefer != 0 {
  45691. _FcExprDestroy(tls, prefer)
  45692. }
  45693. if accept != 0 {
  45694. _FcExprDestroy(tls, accept)
  45695. }
  45696. if def != 0 {
  45697. _FcExprDestroy(tls, def)
  45698. }
  45699. if rule != 0 {
  45700. XFcRuleDestroy(tls, rule)
  45701. }
  45702. return
  45703. }
  45704. if !(prefer != 0) && !(accept != 0) && !(def != 0) {
  45705. _FcExprDestroy(tls, family)
  45706. if rule != 0 {
  45707. XFcRuleDestroy(tls, rule)
  45708. }
  45709. return
  45710. } else {
  45711. t = _FcTestCreate(tls, parse, int32(_FcMatchPattern), int32(_FcQualAny), __ccgo_ts+5970, libc.Uint32FromInt32(int32(_FcOpEqual)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), family)
  45712. if rule != 0 {
  45713. r = rule
  45714. for {
  45715. if !((*TFcRule)(unsafe.Pointer(r)).Fnext != 0) {
  45716. break
  45717. }
  45718. goto _2
  45719. _2:
  45720. ;
  45721. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45722. }
  45723. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  45724. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45725. } else {
  45726. v3 = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  45727. rule = v3
  45728. r = v3
  45729. }
  45730. }
  45731. if prefer != 0 {
  45732. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpPrepend), prefer, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45733. if !(edit != 0) {
  45734. _FcExprDestroy(tls, prefer)
  45735. } else {
  45736. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45737. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45738. }
  45739. }
  45740. if accept != 0 {
  45741. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppend), accept, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45742. if !(edit != 0) {
  45743. _FcExprDestroy(tls, accept)
  45744. } else {
  45745. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45746. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45747. }
  45748. }
  45749. if def != 0 {
  45750. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppendLast), def, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45751. if !(edit != 0) {
  45752. _FcExprDestroy(tls, def)
  45753. } else {
  45754. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45755. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45756. }
  45757. }
  45758. v4 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, int32(_FcMatchPattern))
  45759. n = v4
  45760. if v4 == -int32(1) {
  45761. XFcRuleDestroy(tls, rule)
  45762. } else {
  45763. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  45764. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  45765. }
  45766. }
  45767. }
  45768. func _FcParseDescription(tls *libc.TLS, parse uintptr) {
  45769. var desc, domain uintptr
  45770. _, _ = desc, domain
  45771. domain = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7917)
  45772. desc = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45773. if !(desc != 0) {
  45774. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45775. return
  45776. }
  45777. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, domain, desc)
  45778. XIA__FcStrFree(tls, desc)
  45779. }
  45780. func _FcParseRemapDir(tls *libc.TLS, parse uintptr) {
  45781. bp := tls.Alloc(32)
  45782. defer tls.Free(32)
  45783. var attr, data, l, path, prefix, prefix_dirs, salt, v1 uintptr
  45784. _, _, _, _, _, _, _, _ = attr, data, l, path, prefix, prefix_dirs, salt, v1
  45785. prefix_dirs = libc.UintptrFromInt32(0)
  45786. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45787. if !(data != 0) {
  45788. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45789. return
  45790. }
  45791. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  45792. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7924, 0)
  45793. return
  45794. }
  45795. path = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7968)
  45796. if !(path != 0) {
  45797. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7976, 0)
  45798. return
  45799. }
  45800. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8005)
  45801. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  45802. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  45803. if prefix_dirs != 0 {
  45804. l = XIA__FcStrListCreate(tls, prefix_dirs)
  45805. XIA__FcStrSetDestroy(tls, prefix_dirs)
  45806. for {
  45807. v1 = XIA__FcStrListNext(tls, l)
  45808. prefix = v1
  45809. if !(v1 != 0) {
  45810. break
  45811. }
  45812. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  45813. /* nop */
  45814. } else {
  45815. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XIA__FcConfigHome(tls) != 0) {
  45816. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, path, salt) != 0) {
  45817. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8017, libc.VaList(bp+8, prefix, path))
  45818. }
  45819. }
  45820. }
  45821. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45822. }
  45823. XIA__FcStrListDone(tls, l)
  45824. }
  45825. }
  45826. func _FcParseResetDirs(tls *libc.TLS, parse uintptr) {
  45827. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) {
  45828. if !(XFcConfigResetFontDirs(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig) != 0) {
  45829. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8070, 0)
  45830. }
  45831. }
  45832. }
  45833. func _FcPopExpr(tls *libc.TLS, parse uintptr) (r uintptr) {
  45834. var expr, vstack uintptr
  45835. _, _ = expr, vstack
  45836. vstack = _FcVStackPeek(tls, parse)
  45837. expr = uintptr(0)
  45838. if !(vstack != 0) {
  45839. return uintptr(0)
  45840. }
  45841. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45842. case int32(_FcVStackNone):
  45843. case int32(_FcVStackString):
  45844. fallthrough
  45845. case int32(_FcVStackFamily):
  45846. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  45847. case int32(_FcVStackName):
  45848. expr = _FcExprCreateName(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcExprName)(unsafe.Pointer(vstack + 16)))
  45849. case int32(_FcVStackConstant):
  45850. expr = _FcExprCreateConst(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  45851. case int32(_FcVStackGlob):
  45852. /* XXX: What's the correct action here? (CDW) */
  45853. case int32(_FcVStackPrefer):
  45854. fallthrough
  45855. case int32(_FcVStackAccept):
  45856. fallthrough
  45857. case int32(_FcVStackDefault):
  45858. expr = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45859. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45860. case int32(_FcVStackInteger):
  45861. expr = _FcExprCreateInteger(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45862. case int32(_FcVStackDouble):
  45863. expr = _FcExprCreateDouble(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*float64)(unsafe.Pointer(vstack + 16)))
  45864. case int32(_FcVStackMatrix):
  45865. expr = _FcExprCreateMatrix(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45866. case int32(_FcVStackRange):
  45867. expr = _FcExprCreateRange(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45868. case int32(_FcVStackBool):
  45869. expr = _FcExprCreateBool(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45870. case int32(_FcVStackCharSet):
  45871. expr = _FcExprCreateCharSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45872. case int32(_FcVStackLangSet):
  45873. expr = _FcExprCreateLangSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45874. case int32(_FcVStackTest):
  45875. case int32(_FcVStackExpr):
  45876. expr = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45877. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45878. case int32(_FcVStackEdit):
  45879. default:
  45880. break
  45881. }
  45882. _FcVStackPopAndDestroy(tls, parse)
  45883. return expr
  45884. }
  45885. // C documentation
  45886. //
  45887. // /*
  45888. // * This builds a tree of binary operations. Note
  45889. // * that every operator is defined so that if only
  45890. // * a single operand is contained, the value of the
  45891. // * whole expression is the value of the operand.
  45892. // *
  45893. // * This code reduces in that case to returning that
  45894. // * operand.
  45895. // */
  45896. func _FcPopBinary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  45897. var expr, left, new1, v1 uintptr
  45898. _, _, _, _ = expr, left, new1, v1
  45899. expr = uintptr(0)
  45900. for {
  45901. v1 = _FcPopExpr(tls, parse)
  45902. left = v1
  45903. if !(v1 != 0) {
  45904. break
  45905. }
  45906. if expr != 0 {
  45907. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, op, expr)
  45908. if !(new1 != 0) {
  45909. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45910. _FcExprDestroy(tls, left)
  45911. _FcExprDestroy(tls, expr)
  45912. return uintptr(0)
  45913. }
  45914. expr = new1
  45915. } else {
  45916. expr = left
  45917. }
  45918. }
  45919. return expr
  45920. }
  45921. func _FcParseBinary(tls *libc.TLS, parse uintptr, op TFcOp) {
  45922. var expr uintptr
  45923. _ = expr
  45924. expr = _FcPopBinary(tls, parse, op)
  45925. if expr != 0 {
  45926. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  45927. }
  45928. }
  45929. /*
  45930. * This builds a a unary operator, it consumes only
  45931. * a single operand
  45932. */
  45933. func _FcPopUnary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  45934. var new1, operand, v1 uintptr
  45935. _, _, _ = new1, operand, v1
  45936. new1 = uintptr(0)
  45937. v1 = _FcPopExpr(tls, parse)
  45938. operand = v1
  45939. if v1 != 0 {
  45940. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, operand, op, uintptr(0))
  45941. if !(new1 != 0) {
  45942. _FcExprDestroy(tls, operand)
  45943. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45944. }
  45945. }
  45946. return new1
  45947. }
  45948. func _FcParseUnary(tls *libc.TLS, parse uintptr, op TFcOp) {
  45949. var expr uintptr
  45950. _ = expr
  45951. expr = _FcPopUnary(tls, parse, op)
  45952. if expr != 0 {
  45953. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  45954. }
  45955. }
  45956. func _FcParseDir(tls *libc.TLS, parse uintptr) {
  45957. bp := tls.Alloc(16)
  45958. defer tls.Free(16)
  45959. var attr, data, l, prefix, prefix_dirs, salt, v1 uintptr
  45960. _, _, _, _, _, _, _ = attr, data, l, prefix, prefix_dirs, salt, v1
  45961. prefix_dirs = libc.UintptrFromInt32(0)
  45962. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45963. if !(data != 0) {
  45964. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45965. return
  45966. }
  45967. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  45968. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8097, 0)
  45969. return
  45970. }
  45971. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8005)
  45972. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  45973. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  45974. if prefix_dirs != 0 {
  45975. l = XIA__FcStrListCreate(tls, prefix_dirs)
  45976. XIA__FcStrSetDestroy(tls, prefix_dirs)
  45977. for {
  45978. v1 = XIA__FcStrListNext(tls, l)
  45979. prefix = v1
  45980. if !(v1 != 0) {
  45981. break
  45982. }
  45983. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  45984. /* nop */
  45985. } else {
  45986. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XIA__FcConfigHome(tls) != 0) {
  45987. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, libc.UintptrFromInt32(0), salt) != 0) {
  45988. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8131, libc.VaList(bp+8, prefix))
  45989. }
  45990. }
  45991. }
  45992. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45993. }
  45994. XIA__FcStrListDone(tls, l)
  45995. }
  45996. }
  45997. func _FcParseCacheDir(tls *libc.TLS, parse uintptr) {
  45998. bp := tls.Alloc(16)
  45999. defer tls.Free(16)
  46000. var attr, data, p, prefix uintptr
  46001. var dlen, plen Tsize_t
  46002. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  46003. prefix = libc.UintptrFromInt32(0)
  46004. data = libc.UintptrFromInt32(0)
  46005. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8005)
  46006. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7232) == 0 {
  46007. prefix = XFcConfigXdgCacheHome(tls)
  46008. /* home directory might be disabled.
  46009. * simply ignore this element.
  46010. */
  46011. if !(prefix != 0) {
  46012. goto bail
  46013. }
  46014. }
  46015. data = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46016. if !(data != 0) {
  46017. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46018. data = prefix
  46019. goto bail
  46020. }
  46021. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  46022. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8170, 0)
  46023. XIA__FcStrFree(tls, data)
  46024. data = prefix
  46025. goto bail
  46026. }
  46027. if prefix != 0 {
  46028. plen = libc.Xstrlen(tls, prefix)
  46029. dlen = libc.Xstrlen(tls, data)
  46030. p = libc.Xrealloc(tls, prefix, plen+uint32(1)+dlen+uint32(1))
  46031. if !(p != 0) {
  46032. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46033. XIA__FcStrFree(tls, prefix)
  46034. goto bail
  46035. }
  46036. prefix = p
  46037. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  46038. libc.Xmemcpy(tls, prefix+uintptr(plen+uint32(1)), data, dlen)
  46039. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint32(1)+dlen))) = uint8(0)
  46040. XIA__FcStrFree(tls, data)
  46041. data = prefix
  46042. }
  46043. if libc.Xstrlen(tls, data) == uint32(0) {
  46044. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8170, 0)
  46045. } else {
  46046. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XIA__FcConfigHome(tls) != 0) {
  46047. if !(XFcConfigAddCacheDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  46048. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8205, libc.VaList(bp+8, data))
  46049. }
  46050. }
  46051. }
  46052. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46053. goto bail
  46054. bail:
  46055. ;
  46056. if data != 0 {
  46057. XIA__FcStrFree(tls, data)
  46058. }
  46059. }
  46060. func XFcConfigPathFini(tls *libc.TLS) {
  46061. var s uintptr
  46062. var v1, v2 int32
  46063. _, _, _ = s, v1, v2
  46064. goto retry_dir
  46065. retry_dir:
  46066. ;
  46067. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  46068. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == s {
  46069. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = libc.UintptrFromInt32(0)
  46070. v1 = libc.Int32FromInt32(m_FcTrue)
  46071. } else {
  46072. v1 = m_FcFalse
  46073. }
  46074. if !(v1 != 0) {
  46075. goto retry_dir
  46076. }
  46077. libc.Xfree(tls, s)
  46078. goto retry_conf
  46079. retry_conf:
  46080. ;
  46081. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  46082. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == s {
  46083. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = libc.UintptrFromInt32(0)
  46084. v2 = libc.Int32FromInt32(m_FcTrue)
  46085. } else {
  46086. v2 = m_FcFalse
  46087. }
  46088. if !(v2 != 0) {
  46089. goto retry_conf
  46090. }
  46091. libc.Xfree(tls, s)
  46092. }
  46093. func _FcParseInclude(tls *libc.TLS, parse uintptr) {
  46094. bp := tls.Alloc(48)
  46095. defer tls.Free(48)
  46096. var attr, filename, p, parent, parent1, prefix, ruleset, s, u, userconf, userdir uintptr
  46097. var deprecated, ignore_missing TFcBool
  46098. var dlen, plen Tsize_t
  46099. var k TFcMatchKind
  46100. var v3, v6 int32
  46101. var _ /* iter at bp+0 */ TFcPtrListIter
  46102. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = attr, deprecated, dlen, filename, ignore_missing, k, p, parent, parent1, plen, prefix, ruleset, s, u, userconf, userdir, v3, v6
  46103. ignore_missing = m_FcFalse
  46104. deprecated = m_FcFalse
  46105. prefix = libc.UintptrFromInt32(0)
  46106. userdir = libc.UintptrFromInt32(0)
  46107. userconf = libc.UintptrFromInt32(0)
  46108. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46109. if !(s != 0) {
  46110. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46111. goto bail
  46112. }
  46113. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8250)
  46114. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  46115. ignore_missing = int32(m_FcTrue)
  46116. }
  46117. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8265)
  46118. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  46119. deprecated = int32(m_FcTrue)
  46120. }
  46121. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8005)
  46122. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7232) == 0 {
  46123. prefix = XFcConfigXdgConfigHome(tls)
  46124. /* home directory might be disabled.
  46125. * simply ignore this element.
  46126. */
  46127. if !(prefix != 0) {
  46128. goto bail
  46129. }
  46130. }
  46131. if prefix != 0 {
  46132. plen = libc.Xstrlen(tls, prefix)
  46133. dlen = libc.Xstrlen(tls, s)
  46134. p = libc.Xrealloc(tls, prefix, plen+uint32(1)+dlen+uint32(1))
  46135. if !(p != 0) {
  46136. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46137. goto bail
  46138. }
  46139. prefix = p
  46140. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  46141. libc.Xmemcpy(tls, prefix+uintptr(plen+uint32(1)), s, dlen)
  46142. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint32(1)+dlen))) = uint8(0)
  46143. s = prefix
  46144. if !(XIA__FcFileIsDir(tls, s) != 0) {
  46145. goto _1
  46146. }
  46147. goto userdir
  46148. userdir:
  46149. ;
  46150. userdir = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  46151. if !(userdir != 0) {
  46152. u = libc.Xstrdup(tls, s)
  46153. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == userdir {
  46154. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = u
  46155. v3 = libc.Int32FromInt32(m_FcTrue)
  46156. } else {
  46157. v3 = m_FcFalse
  46158. }
  46159. if !(v3 != 0) {
  46160. libc.Xfree(tls, u)
  46161. goto userdir
  46162. }
  46163. userdir = u
  46164. }
  46165. goto _2
  46166. _1:
  46167. ;
  46168. if !(XFcFileIsFile(tls, s) != 0) {
  46169. goto _4
  46170. }
  46171. goto userconf
  46172. userconf:
  46173. ;
  46174. userconf = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  46175. if !(userconf != 0) {
  46176. u = libc.Xstrdup(tls, s)
  46177. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == userconf {
  46178. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = u
  46179. v6 = libc.Int32FromInt32(m_FcTrue)
  46180. } else {
  46181. v6 = m_FcFalse
  46182. }
  46183. if !(v6 != 0) {
  46184. libc.Xfree(tls, u)
  46185. goto userconf
  46186. }
  46187. userconf = u
  46188. }
  46189. goto _5
  46190. _4:
  46191. ;
  46192. /* No config dir nor file on the XDG directory spec compliant place
  46193. * so need to guess what it is supposed to be.
  46194. */
  46195. if XIA__FcStrStr(tls, s, __ccgo_ts+8276) != libc.UintptrFromInt32(0) {
  46196. goto userdir
  46197. } else {
  46198. goto userconf
  46199. }
  46200. _5:
  46201. ;
  46202. _2:
  46203. }
  46204. /* flush the ruleset into the queue */
  46205. ruleset = (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset
  46206. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fname)
  46207. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fenabled)
  46208. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdomain, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdescription)
  46209. k = int32(_FcMatchKindBegin)
  46210. for {
  46211. if !(k < int32(_FcMatchKindEnd)) {
  46212. break
  46213. }
  46214. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(ruleset + 20 + uintptr(k)*4)), bp)
  46215. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(ruleset + 20 + uintptr(k)*4)), bp) != 0 {
  46216. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 20 + uintptr(k)*4)), bp)
  46217. XFcRuleSetReference(tls, ruleset)
  46218. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 20 + uintptr(k)*4)), bp, ruleset)
  46219. }
  46220. goto _7
  46221. _7:
  46222. ;
  46223. k++
  46224. }
  46225. XFcRuleSetDestroy(tls, ruleset)
  46226. if !(__FcConfigParse(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s, libc.BoolInt32(!(ignore_missing != 0)), libc.BoolInt32(!((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0))) != 0) {
  46227. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  46228. } else {
  46229. filename = XIA__FcConfigGetFilename(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  46230. if deprecated == int32(m_FcTrue) && filename != libc.UintptrFromInt32(0) && userdir != libc.UintptrFromInt32(0) && !(XFcFileIsLink(tls, filename) != 0) {
  46231. if XIA__FcFileIsDir(tls, filename) != 0 {
  46232. parent = XIA__FcStrDirname(tls, userdir)
  46233. if !(XIA__FcFileIsDir(tls, parent) != 0) {
  46234. XFcMakeDirectory(tls, parent)
  46235. }
  46236. XIA__FcStrFree(tls, parent)
  46237. if XIA__FcFileIsDir(tls, userdir) != 0 || libc.Xrename(tls, filename, userdir) != 0 || libc.Xsymlink(tls, userdir, filename) != 0 {
  46238. if !(_warn_confd != 0) {
  46239. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8283, libc.VaList(bp+24, s, userdir))
  46240. _warn_confd = int32(m_FcTrue)
  46241. }
  46242. }
  46243. } else {
  46244. parent1 = XIA__FcStrDirname(tls, userconf)
  46245. if !(XIA__FcFileIsDir(tls, parent1) != 0) {
  46246. XFcMakeDirectory(tls, parent1)
  46247. }
  46248. XIA__FcStrFree(tls, parent1)
  46249. if XFcFileIsFile(tls, userconf) != 0 || libc.Xrename(tls, filename, userconf) != 0 || libc.Xsymlink(tls, userconf, filename) != 0 {
  46250. if !(_warn_conf != 0) {
  46251. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8283, libc.VaList(bp+24, s, userconf))
  46252. _warn_conf = int32(m_FcTrue)
  46253. }
  46254. }
  46255. }
  46256. }
  46257. if filename != 0 {
  46258. XIA__FcStrFree(tls, filename)
  46259. }
  46260. }
  46261. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46262. goto bail
  46263. bail:
  46264. ;
  46265. if prefix != 0 {
  46266. XIA__FcStrFree(tls, prefix)
  46267. }
  46268. }
  46269. var _warn_conf TFcBool
  46270. var _warn_confd TFcBool
  46271. type TFcOpMap = struct {
  46272. Fname [16]uint8
  46273. Fop TFcOp
  46274. }
  46275. type T_FcOpMap = TFcOpMap
  46276. func _FcConfigLexOp(tls *libc.TLS, op uintptr, map1 uintptr, nmap int32) (r TFcOp) {
  46277. var i int32
  46278. _ = i
  46279. i = 0
  46280. for {
  46281. if !(i < nmap) {
  46282. break
  46283. }
  46284. if !(libc.Xstrcmp(tls, op, map1+uintptr(i)*20) != 0) {
  46285. return (*(*TFcOpMap)(unsafe.Pointer(map1 + uintptr(i)*20))).Fop
  46286. }
  46287. goto _1
  46288. _1:
  46289. ;
  46290. i++
  46291. }
  46292. return int32(_FcOpInvalid)
  46293. }
  46294. var _fcCompareOps = [8]TFcOpMap{
  46295. 0: {
  46296. Fname: [16]uint8{'e', 'q'},
  46297. Fop: int32(_FcOpEqual),
  46298. },
  46299. 1: {
  46300. Fname: [16]uint8{'n', 'o', 't', '_', 'e', 'q'},
  46301. Fop: int32(_FcOpNotEqual),
  46302. },
  46303. 2: {
  46304. Fname: [16]uint8{'l', 'e', 's', 's'},
  46305. Fop: int32(_FcOpLess),
  46306. },
  46307. 3: {
  46308. Fname: [16]uint8{'l', 'e', 's', 's', '_', 'e', 'q'},
  46309. Fop: int32(_FcOpLessEqual),
  46310. },
  46311. 4: {
  46312. Fname: [16]uint8{'m', 'o', 'r', 'e'},
  46313. Fop: int32(_FcOpMore),
  46314. },
  46315. 5: {
  46316. Fname: [16]uint8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  46317. Fop: int32(_FcOpMoreEqual),
  46318. },
  46319. 6: {
  46320. Fname: [16]uint8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  46321. Fop: int32(_FcOpContains),
  46322. },
  46323. 7: {
  46324. Fname: [16]uint8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  46325. Fop: int32(_FcOpNotContains),
  46326. },
  46327. }
  46328. func _FcConfigLexCompare(tls *libc.TLS, compare uintptr) (r TFcOp) {
  46329. return _FcConfigLexOp(tls, compare, uintptr(unsafe.Pointer(&_fcCompareOps)), libc.Int32FromUint32(libc.Uint32FromInt64(160)/libc.Uint32FromInt64(20)))
  46330. }
  46331. func _FcParseTest(tls *libc.TLS, parse uintptr) {
  46332. bp := tls.Alloc(32)
  46333. defer tls.Free(32)
  46334. var compare TFcOp
  46335. var compare_string, expr, iblanks_string, kind_string, name, qual_string, test uintptr
  46336. var flags int32
  46337. var kind TFcMatchKind
  46338. var qual TFcQual
  46339. var _ /* f at bp+0 */ TFcBool
  46340. _, _, _, _, _, _, _, _, _, _, _ = compare, compare_string, expr, flags, iblanks_string, kind, kind_string, name, qual, qual_string, test
  46341. flags = 0
  46342. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7443)
  46343. if !(kind_string != 0) {
  46344. kind = -libc.Int32FromInt32(1)
  46345. } else {
  46346. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7450) != 0) {
  46347. kind = int32(_FcMatchPattern)
  46348. } else {
  46349. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7458) != 0) {
  46350. kind = int32(_FcMatchFont)
  46351. } else {
  46352. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+8359) != 0) {
  46353. kind = int32(_FcMatchScan)
  46354. } else {
  46355. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7236) != 0) {
  46356. kind = -libc.Int32FromInt32(1)
  46357. } else {
  46358. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8364, libc.VaList(bp+16, kind_string))
  46359. return
  46360. }
  46361. }
  46362. }
  46363. }
  46364. }
  46365. qual_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8389)
  46366. if !(qual_string != 0) {
  46367. qual = int32(_FcQualAny)
  46368. } else {
  46369. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8394) != 0) {
  46370. qual = int32(_FcQualAny)
  46371. } else {
  46372. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8398) != 0) {
  46373. qual = int32(_FcQualAll)
  46374. } else {
  46375. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8402) != 0) {
  46376. qual = int32(_FcQualFirst)
  46377. } else {
  46378. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8408) != 0) {
  46379. qual = int32(_FcQualNotFirst)
  46380. } else {
  46381. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8418, libc.VaList(bp+16, qual_string))
  46382. return
  46383. }
  46384. }
  46385. }
  46386. }
  46387. }
  46388. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8441)
  46389. if !(name != 0) {
  46390. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8446, 0)
  46391. return
  46392. }
  46393. compare_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8464)
  46394. if !(compare_string != 0) {
  46395. compare = int32(_FcOpEqual)
  46396. } else {
  46397. compare = _FcConfigLexCompare(tls, compare_string)
  46398. if compare == int32(_FcOpInvalid) {
  46399. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8472, libc.VaList(bp+16, compare_string))
  46400. return
  46401. }
  46402. }
  46403. iblanks_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8498)
  46404. if iblanks_string != 0 {
  46405. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  46406. if !(XFcNameBool(tls, iblanks_string, bp) != 0) {
  46407. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8512, libc.VaList(bp+16, iblanks_string))
  46408. }
  46409. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  46410. flags |= int32(_FcOpFlagIgnoreBlanks)
  46411. }
  46412. }
  46413. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  46414. if !(expr != 0) {
  46415. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8544, 0)
  46416. return
  46417. }
  46418. if (*TFcExpr)(unsafe.Pointer(expr)).Fop == int32(_FcOpComma) {
  46419. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8568, 0)
  46420. }
  46421. test = _FcTestCreate(tls, parse, kind, qual, name, libc.Uint32FromInt32(compare&libc.Int32FromInt32(0xffff)|flags<<libc.Int32FromInt32(16)), expr)
  46422. if !(test != 0) {
  46423. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46424. return
  46425. }
  46426. _FcVStackPushTest(tls, parse, test)
  46427. }
  46428. var _fcModeOps = [8]TFcOpMap{
  46429. 0: {
  46430. Fname: [16]uint8{'a', 's', 's', 'i', 'g', 'n'},
  46431. Fop: int32(_FcOpAssign),
  46432. },
  46433. 1: {
  46434. Fname: [16]uint8{'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'p', 'l', 'a', 'c', 'e'},
  46435. Fop: int32(_FcOpAssignReplace),
  46436. },
  46437. 2: {
  46438. Fname: [16]uint8{'p', 'r', 'e', 'p', 'e', 'n', 'd'},
  46439. Fop: int32(_FcOpPrepend),
  46440. },
  46441. 3: {
  46442. Fname: [16]uint8{'p', 'r', 'e', 'p', 'e', 'n', 'd', '_', 'f', 'i', 'r', 's', 't'},
  46443. Fop: int32(_FcOpPrependFirst),
  46444. },
  46445. 4: {
  46446. Fname: [16]uint8{'a', 'p', 'p', 'e', 'n', 'd'},
  46447. Fop: int32(_FcOpAppend),
  46448. },
  46449. 5: {
  46450. Fname: [16]uint8{'a', 'p', 'p', 'e', 'n', 'd', '_', 'l', 'a', 's', 't'},
  46451. Fop: int32(_FcOpAppendLast),
  46452. },
  46453. 6: {
  46454. Fname: [16]uint8{'d', 'e', 'l', 'e', 't', 'e'},
  46455. Fop: int32(_FcOpDelete),
  46456. },
  46457. 7: {
  46458. Fname: [16]uint8{'d', 'e', 'l', 'e', 't', 'e', '_', 'a', 'l', 'l'},
  46459. Fop: int32(_FcOpDeleteAll),
  46460. },
  46461. }
  46462. func _FcConfigLexMode(tls *libc.TLS, mode uintptr) (r TFcOp) {
  46463. return _FcConfigLexOp(tls, mode, uintptr(unsafe.Pointer(&_fcModeOps)), libc.Int32FromUint32(libc.Uint32FromInt64(160)/libc.Uint32FromInt64(20)))
  46464. }
  46465. func _FcParseEdit(tls *libc.TLS, parse uintptr) {
  46466. bp := tls.Alloc(32)
  46467. defer tls.Free(32)
  46468. var edit, expr, mode_string, name uintptr
  46469. var mode TFcOp
  46470. var _ /* binding at bp+0 */ TFcValueBinding
  46471. _, _, _, _, _ = edit, expr, mode, mode_string, name
  46472. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8441)
  46473. if !(name != 0) {
  46474. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8646, 0)
  46475. return
  46476. }
  46477. mode_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8664)
  46478. if !(mode_string != 0) {
  46479. mode = int32(_FcOpAssign)
  46480. } else {
  46481. mode = _FcConfigLexMode(tls, mode_string)
  46482. if mode == int32(_FcOpInvalid) {
  46483. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8669, libc.VaList(bp+16, mode_string))
  46484. return
  46485. }
  46486. }
  46487. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7794), bp) != 0) {
  46488. return
  46489. }
  46490. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  46491. if (mode == int32(_FcOpDelete) || mode == int32(_FcOpDeleteAll)) && expr != libc.UintptrFromInt32(0) {
  46492. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8692, 0)
  46493. _FcExprDestroy(tls, expr)
  46494. expr = libc.UintptrFromInt32(0)
  46495. }
  46496. edit = _FcEditCreate(tls, parse, XFcObjectFromName(tls, name), mode, expr, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  46497. if !(edit != 0) {
  46498. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46499. _FcExprDestroy(tls, expr)
  46500. return
  46501. }
  46502. if !(_FcVStackPushEdit(tls, parse, edit) != 0) {
  46503. XFcEditDestroy(tls, edit)
  46504. }
  46505. }
  46506. func _FcParseMatch(tls *libc.TLS, parse uintptr) {
  46507. bp := tls.Alloc(16)
  46508. defer tls.Free(16)
  46509. var kind TFcMatchKind
  46510. var kind_name, r, rule, vstack, v1 uintptr
  46511. var n, v2 int32
  46512. _, _, _, _, _, _, _, _ = kind, kind_name, n, r, rule, vstack, v1, v2
  46513. rule = libc.UintptrFromInt32(0)
  46514. kind_name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7443)
  46515. if !(kind_name != 0) {
  46516. kind = int32(_FcMatchPattern)
  46517. } else {
  46518. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7450) != 0) {
  46519. kind = int32(_FcMatchPattern)
  46520. } else {
  46521. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7458) != 0) {
  46522. kind = int32(_FcMatchFont)
  46523. } else {
  46524. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+8359) != 0) {
  46525. kind = int32(_FcMatchScan)
  46526. } else {
  46527. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8754, libc.VaList(bp+8, kind_name))
  46528. return
  46529. }
  46530. }
  46531. }
  46532. }
  46533. for {
  46534. v1 = _FcVStackPeek(tls, parse)
  46535. vstack = v1
  46536. if !(v1 != 0) {
  46537. break
  46538. }
  46539. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46540. case int32(_FcVStackTest):
  46541. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46542. if rule != 0 {
  46543. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  46544. }
  46545. rule = r
  46546. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46547. case int32(_FcVStackEdit):
  46548. if kind == int32(_FcMatchScan) && (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))).Fobject > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) {
  46549. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8780, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))).Fobject)))
  46550. if rule != 0 {
  46551. XFcRuleDestroy(tls, rule)
  46552. }
  46553. return
  46554. }
  46555. r = _FcRuleCreate(tls, int32(_FcRuleEdit), *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46556. if rule != 0 {
  46557. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  46558. }
  46559. rule = r
  46560. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46561. default:
  46562. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8839, 0)
  46563. break
  46564. }
  46565. _FcVStackPopAndDestroy(tls, parse)
  46566. }
  46567. if !(rule != 0) {
  46568. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8861, 0)
  46569. return
  46570. }
  46571. v2 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, kind)
  46572. n = v2
  46573. if v2 == -int32(1) {
  46574. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46575. XFcRuleDestroy(tls, rule)
  46576. } else {
  46577. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  46578. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  46579. }
  46580. }
  46581. }
  46582. func _FcParseAcceptRejectFont(tls *libc.TLS, parse uintptr, element TFcElement) {
  46583. var vstack, v1 uintptr
  46584. _, _ = vstack, v1
  46585. for {
  46586. v1 = _FcVStackPeek(tls, parse)
  46587. vstack = v1
  46588. if !(v1 != 0) {
  46589. break
  46590. }
  46591. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46592. case int32(_FcVStackGlob):
  46593. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigGlobAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1, libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  46594. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46595. } else {
  46596. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1 != 0 {
  46597. XIA__FcStrFree(tls, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  46598. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46599. }
  46600. }
  46601. case int32(_FcVStackPattern):
  46602. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigPatternsAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  46603. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46604. } else {
  46605. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) != 0 {
  46606. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46607. }
  46608. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46609. }
  46610. default:
  46611. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8902, 0)
  46612. break
  46613. }
  46614. _FcVStackPopAndDestroy(tls, parse)
  46615. }
  46616. }
  46617. func _FcPopValue(tls *libc.TLS, parse uintptr) (r TFcValue) {
  46618. bp := tls.Alloc(32)
  46619. defer tls.Free(32)
  46620. var vstack uintptr
  46621. var _ /* value at bp+0 */ TFcValue
  46622. _ = vstack
  46623. vstack = _FcVStackPeek(tls, parse)
  46624. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  46625. if !(vstack != 0) {
  46626. return *(*TFcValue)(unsafe.Pointer(bp))
  46627. }
  46628. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46629. case int32(_FcVStackString):
  46630. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  46631. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  46632. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  46633. }
  46634. case int32(_FcVStackConstant):
  46635. if XIA__FcNameConstant(tls, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1, bp+8) != 0 {
  46636. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  46637. }
  46638. case int32(_FcVStackInteger):
  46639. *(*int32)(unsafe.Pointer(bp + 8)) = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  46640. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  46641. case int32(_FcVStackDouble):
  46642. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(vstack + 16))
  46643. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  46644. case int32(_FcVStackBool):
  46645. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  46646. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  46647. case int32(_FcVStackCharSet):
  46648. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46649. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  46650. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  46651. }
  46652. case int32(_FcVStackLangSet):
  46653. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46654. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  46655. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  46656. }
  46657. case int32(_FcVStackRange):
  46658. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46659. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  46660. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  46661. }
  46662. default:
  46663. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8920, libc.VaList(bp+24, (*TFcVStack)(unsafe.Pointer(vstack)).Ftag))
  46664. break
  46665. }
  46666. _FcVStackPopAndDestroy(tls, parse)
  46667. return *(*TFcValue)(unsafe.Pointer(bp))
  46668. }
  46669. func _FcParsePatelt(tls *libc.TLS, parse uintptr) {
  46670. var name, pattern uintptr
  46671. var value TFcValue
  46672. _, _, _ = name, pattern, value
  46673. pattern = XIA__FcPatternCreate(tls)
  46674. if !(pattern != 0) {
  46675. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46676. return
  46677. }
  46678. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8441)
  46679. if !(name != 0) {
  46680. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8947, 0)
  46681. XIA__FcPatternDestroy(tls, pattern)
  46682. return
  46683. }
  46684. for {
  46685. value = _FcPopValue(tls, parse)
  46686. if value.Ftype1 == int32(_FcTypeVoid) {
  46687. break
  46688. }
  46689. if !(XIA__FcPatternAdd(tls, pattern, name, value, int32(m_FcTrue)) != 0) {
  46690. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46691. XIA__FcValueDestroy(tls, value)
  46692. break
  46693. }
  46694. XIA__FcValueDestroy(tls, value)
  46695. goto _1
  46696. _1:
  46697. }
  46698. _FcVStackPushPattern(tls, parse, pattern)
  46699. }
  46700. func _FcParsePattern(tls *libc.TLS, parse uintptr) {
  46701. var pattern, vstack, v1 uintptr
  46702. _, _, _ = pattern, vstack, v1
  46703. pattern = XIA__FcPatternCreate(tls)
  46704. if !(pattern != 0) {
  46705. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46706. return
  46707. }
  46708. for {
  46709. v1 = _FcVStackPeek(tls, parse)
  46710. vstack = v1
  46711. if !(v1 != 0) {
  46712. break
  46713. }
  46714. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46715. case int32(_FcVStackPattern):
  46716. if !(XFcPatternAppend(tls, pattern, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))) != 0) {
  46717. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46718. XIA__FcPatternDestroy(tls, pattern)
  46719. return
  46720. }
  46721. default:
  46722. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8976, 0)
  46723. break
  46724. }
  46725. _FcVStackPopAndDestroy(tls, parse)
  46726. }
  46727. _FcVStackPushPattern(tls, parse, pattern)
  46728. }
  46729. func _FcEndElement(tls *libc.TLS, userData uintptr, name uintptr) {
  46730. var data, parse uintptr
  46731. _, _ = data, parse
  46732. parse = userData
  46733. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  46734. return
  46735. }
  46736. switch (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement {
  46737. case int32(_FcElementNone):
  46738. case int32(_FcElementFontconfig):
  46739. case int32(_FcElementDir):
  46740. _FcParseDir(tls, parse)
  46741. case int32(_FcElementCacheDir):
  46742. _FcParseCacheDir(tls, parse)
  46743. case int32(_FcElementCache):
  46744. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46745. if !(data != 0) {
  46746. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46747. break
  46748. }
  46749. /* discard this data; no longer used */
  46750. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46751. case int32(_FcElementInclude):
  46752. _FcParseInclude(tls, parse)
  46753. case int32(_FcElementConfig):
  46754. case int32(_FcElementMatch):
  46755. _FcParseMatch(tls, parse)
  46756. case int32(_FcElementAlias):
  46757. _FcParseAlias(tls, parse)
  46758. case int32(_FcElementDescription):
  46759. _FcParseDescription(tls, parse)
  46760. case int32(_FcElementRemapDir):
  46761. _FcParseRemapDir(tls, parse)
  46762. case int32(_FcElementResetDirs):
  46763. _FcParseResetDirs(tls, parse)
  46764. case int32(_FcElementRescan):
  46765. _FcParseRescan(tls, parse)
  46766. case int32(_FcElementPrefer):
  46767. _FcParseFamilies(tls, parse, int32(_FcVStackPrefer))
  46768. case int32(_FcElementAccept):
  46769. _FcParseFamilies(tls, parse, int32(_FcVStackAccept))
  46770. case int32(_FcElementDefault):
  46771. _FcParseFamilies(tls, parse, int32(_FcVStackDefault))
  46772. case int32(_FcElementFamily):
  46773. _FcParseFamily(tls, parse)
  46774. case int32(_FcElementTest):
  46775. _FcParseTest(tls, parse)
  46776. case int32(_FcElementEdit):
  46777. _FcParseEdit(tls, parse)
  46778. case int32(_FcElementInt):
  46779. _FcParseInt(tls, parse)
  46780. case int32(_FcElementDouble):
  46781. _FcParseDouble(tls, parse)
  46782. case int32(_FcElementString):
  46783. _FcParseString(tls, parse, int32(_FcVStackString))
  46784. case int32(_FcElementMatrix):
  46785. _FcParseMatrix(tls, parse)
  46786. case int32(_FcElementRange):
  46787. _FcParseRange(tls, parse)
  46788. case int32(_FcElementBool):
  46789. _FcParseBool(tls, parse)
  46790. case int32(_FcElementCharSet):
  46791. _FcParseCharSet(tls, parse)
  46792. case int32(_FcElementLangSet):
  46793. _FcParseLangSet(tls, parse)
  46794. case int32(_FcElementSelectfont):
  46795. case int32(_FcElementAcceptfont):
  46796. fallthrough
  46797. case int32(_FcElementRejectfont):
  46798. _FcParseAcceptRejectFont(tls, parse, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)
  46799. case int32(_FcElementGlob):
  46800. _FcParseString(tls, parse, int32(_FcVStackGlob))
  46801. case int32(_FcElementPattern):
  46802. _FcParsePattern(tls, parse)
  46803. case int32(_FcElementPatelt):
  46804. _FcParsePatelt(tls, parse)
  46805. case int32(_FcElementName):
  46806. _FcParseName(tls, parse)
  46807. case int32(_FcElementConst):
  46808. _FcParseString(tls, parse, int32(_FcVStackConstant))
  46809. case int32(_FcElementOr):
  46810. _FcParseBinary(tls, parse, int32(_FcOpOr))
  46811. case int32(_FcElementAnd):
  46812. _FcParseBinary(tls, parse, int32(_FcOpAnd))
  46813. case int32(_FcElementEq):
  46814. _FcParseBinary(tls, parse, int32(_FcOpEqual))
  46815. case int32(_FcElementNotEq):
  46816. _FcParseBinary(tls, parse, int32(_FcOpNotEqual))
  46817. case int32(_FcElementLess):
  46818. _FcParseBinary(tls, parse, int32(_FcOpLess))
  46819. case int32(_FcElementLessEq):
  46820. _FcParseBinary(tls, parse, int32(_FcOpLessEqual))
  46821. case int32(_FcElementMore):
  46822. _FcParseBinary(tls, parse, int32(_FcOpMore))
  46823. case int32(_FcElementMoreEq):
  46824. _FcParseBinary(tls, parse, int32(_FcOpMoreEqual))
  46825. case int32(_FcElementContains):
  46826. _FcParseBinary(tls, parse, int32(_FcOpContains))
  46827. case int32(_FcElementNotContains):
  46828. _FcParseBinary(tls, parse, int32(_FcOpNotContains))
  46829. case int32(_FcElementPlus):
  46830. _FcParseBinary(tls, parse, int32(_FcOpPlus))
  46831. case int32(_FcElementMinus):
  46832. _FcParseBinary(tls, parse, int32(_FcOpMinus))
  46833. case int32(_FcElementTimes):
  46834. _FcParseBinary(tls, parse, int32(_FcOpTimes))
  46835. case int32(_FcElementDivide):
  46836. _FcParseBinary(tls, parse, int32(_FcOpDivide))
  46837. case int32(_FcElementNot):
  46838. _FcParseUnary(tls, parse, int32(_FcOpNot))
  46839. case int32(_FcElementIf):
  46840. _FcParseBinary(tls, parse, int32(_FcOpQuest))
  46841. case int32(_FcElementFloor):
  46842. _FcParseUnary(tls, parse, int32(_FcOpFloor))
  46843. case int32(_FcElementCeil):
  46844. _FcParseUnary(tls, parse, int32(_FcOpCeil))
  46845. case int32(_FcElementRound):
  46846. _FcParseUnary(tls, parse, int32(_FcOpRound))
  46847. case int32(_FcElementTrunc):
  46848. _FcParseUnary(tls, parse, int32(_FcOpTrunc))
  46849. case int32(_FcElementUnknown):
  46850. break
  46851. }
  46852. _FcPStackPop(tls, parse)
  46853. }
  46854. func _FcCharacterData(tls *libc.TLS, userData uintptr, s uintptr, len1 int32) {
  46855. var parse uintptr
  46856. _ = parse
  46857. parse = userData
  46858. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  46859. return
  46860. }
  46861. if !(XFcStrBufData(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12, s, len1) != 0) {
  46862. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46863. }
  46864. }
  46865. func _FcStartDoctypeDecl(tls *libc.TLS, userData uintptr, doctypeName uintptr, sysid uintptr, pubid uintptr, has_internal_subset int32) {
  46866. bp := tls.Alloc(16)
  46867. defer tls.Free(16)
  46868. var parse uintptr
  46869. _ = parse
  46870. parse = userData
  46871. if libc.Xstrcmp(tls, doctypeName, __ccgo_ts+1826) != 0 {
  46872. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+9000, libc.VaList(bp+8, doctypeName))
  46873. }
  46874. }
  46875. func _FcEndDoctypeDecl(tls *libc.TLS, userData uintptr) {
  46876. }
  46877. func _FcSortCmpStr(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  46878. var as, bs uintptr
  46879. _, _ = as, bs
  46880. as = *(*uintptr)(unsafe.Pointer(a))
  46881. bs = *(*uintptr)(unsafe.Pointer(b))
  46882. return XIA__FcStrCmp(tls, as, bs)
  46883. }
  46884. func _FcConfigParseAndLoadDir(tls *libc.TLS, config uintptr, name uintptr, dir uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  46885. bp := tls.Alloc(16)
  46886. defer tls.Free(16)
  46887. var base, d, e, file, files, v1 uintptr
  46888. var d_len, i int32
  46889. var ret TFcBool
  46890. var v2 bool
  46891. _, _, _, _, _, _, _, _, _, _ = base, d, d_len, e, file, files, i, ret, v1, v2
  46892. ret = int32(m_FcTrue)
  46893. d = libc.Xopendir(tls, dir)
  46894. if !(d != 0) {
  46895. if complain != 0 {
  46896. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9021, libc.VaList(bp+8, name))
  46897. }
  46898. ret = m_FcFalse
  46899. goto bail0
  46900. }
  46901. /* freed below */
  46902. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint32(1)+uint32(m_FC_MAX_FILE_LEN)+uint32(1))
  46903. if !(file != 0) {
  46904. ret = m_FcFalse
  46905. goto bail1
  46906. }
  46907. libc.Xstrcpy(tls, file, dir)
  46908. libc.Xstrcat(tls, file, __ccgo_ts+1495)
  46909. base = file + uintptr(libc.Xstrlen(tls, file))
  46910. files = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  46911. if !(files != 0) {
  46912. ret = m_FcFalse
  46913. goto bail2
  46914. }
  46915. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  46916. libc.Xprintf(tls, __ccgo_ts+9049, libc.VaList(bp+8, dir))
  46917. }
  46918. if load != 0 {
  46919. XFcConfigAddConfigDir(tls, config, dir)
  46920. }
  46921. for {
  46922. if v2 = ret != 0; v2 {
  46923. v1 = libc.Xreaddir(tls, d)
  46924. e = v1
  46925. }
  46926. if !(v2 && v1 != 0) {
  46927. break
  46928. }
  46929. /*
  46930. * Add all files of the form [0-9]*.conf
  46931. */
  46932. d_len = libc.Int32FromUint32(libc.Xstrlen(tls, e+19))
  46933. if int32('0') <= libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) <= int32('9') && d_len > int32(m_TAIL_LEN) && libc.Xstrcmp(tls, e+19+uintptr(d_len)-uintptr(m_TAIL_LEN), __ccgo_ts+9074) == 0 {
  46934. libc.Xstrcpy(tls, base, e+19)
  46935. if !(XIA__FcStrSetAdd(tls, files, file) != 0) {
  46936. ret = m_FcFalse
  46937. goto bail3
  46938. }
  46939. }
  46940. }
  46941. if ret != 0 {
  46942. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint32(4), __ccgo_fp(_FcSortCmpStr))
  46943. i = 0
  46944. for {
  46945. if !(ret != 0 && i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  46946. break
  46947. }
  46948. ret = __FcConfigParse(tls, config, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*4)), complain, load)
  46949. goto _3
  46950. _3:
  46951. ;
  46952. i++
  46953. }
  46954. }
  46955. goto bail3
  46956. bail3:
  46957. ;
  46958. XIA__FcStrSetDestroy(tls, files)
  46959. goto bail2
  46960. bail2:
  46961. ;
  46962. libc.Xfree(tls, file)
  46963. goto bail1
  46964. bail1:
  46965. ;
  46966. libc.Xclosedir(tls, d)
  46967. goto bail0
  46968. bail0:
  46969. ;
  46970. return libc.BoolInt32(ret != 0 || !(complain != 0))
  46971. return r
  46972. }
  46973. func _FcConfigParseAndLoadFromMemoryInternal(tls *libc.TLS, config uintptr, filename uintptr, buffer uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  46974. bp := tls.Alloc(2912)
  46975. defer tls.Free(2912)
  46976. var buf, s, v1, v3, v4 uintptr
  46977. var buflen, len1 Tsize_t
  46978. var error1 TFcBool
  46979. var k TFcMatchKind
  46980. var p TXML_Parser
  46981. var _ /* iter at bp+2876 */ TFcPtrListIter
  46982. var _ /* liter at bp+2864 */ TFcPtrListIter
  46983. var _ /* parse at bp+0 */ TFcConfigParse
  46984. _, _, _, _, _, _, _, _, _, _ = buf, buflen, error1, k, len1, p, s, v1, v3, v4
  46985. error1 = int32(m_FcTrue)
  46986. if !(buffer != 0) {
  46987. return m_FcFalse
  46988. }
  46989. len1 = libc.Xstrlen(tls, buffer)
  46990. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  46991. if load != 0 {
  46992. v1 = __ccgo_ts + 9080
  46993. } else {
  46994. v1 = __ccgo_ts + 9088
  46995. }
  46996. libc.Xprintf(tls, __ccgo_ts+9097, libc.VaList(bp+2896, v1, filename))
  46997. }
  46998. p = libexpat.XXML_ParserCreate(tls, __ccgo_ts+9122)
  46999. if !(p != 0) {
  47000. goto bail1
  47001. }
  47002. if !(_FcConfigParseInit(tls, bp, filename, config, p, load) != 0) {
  47003. goto bail2
  47004. }
  47005. libexpat.XXML_SetUserData(tls, p, bp)
  47006. libexpat.XXML_SetDoctypeDeclHandler(tls, p, __ccgo_fp(_FcStartDoctypeDecl), __ccgo_fp(_FcEndDoctypeDecl))
  47007. libexpat.XXML_SetElementHandler(tls, p, __ccgo_fp(_FcStartElement), __ccgo_fp(_FcEndElement))
  47008. libexpat.XXML_SetCharacterDataHandler(tls, p, __ccgo_fp(_FcCharacterData))
  47009. s = buffer
  47010. for cond := true; cond; cond = buflen != uint32(0) {
  47011. buf = libexpat.XXML_GetBuffer(tls, p, int32(m_BUFSIZ))
  47012. if !(buf != 0) {
  47013. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+9128, 0)
  47014. goto bail3
  47015. }
  47016. if len1 > uint32(m_BUFSIZ) {
  47017. buflen = uint32(m_BUFSIZ)
  47018. len1 -= uint32(m_BUFSIZ)
  47019. } else {
  47020. buflen = len1
  47021. len1 = uint32(0)
  47022. }
  47023. libc.Xmemcpy(tls, buf, s, buflen)
  47024. s = s + uintptr(buflen)
  47025. if !(libexpat.XXML_ParseBuffer(tls, p, libc.Int32FromUint32(buflen), libc.BoolInt32(buflen == uint32(0))) != 0) {
  47026. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+2028, libc.VaList(bp+2896, libexpat.XXML_ErrorString(tls, libexpat.XXML_GetErrorCode(tls, p))))
  47027. goto bail3
  47028. }
  47029. }
  47030. error1 = (*(*TFcConfigParse)(unsafe.Pointer(bp))).Ferror1
  47031. if load != 0 {
  47032. k = int32(_FcMatchKindBegin)
  47033. for {
  47034. if !(k < int32(_FcMatchKindEnd)) {
  47035. break
  47036. }
  47037. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 20 + uintptr(k)*4)), bp+2876)
  47038. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 20 + uintptr(k)*4)), bp+2876) != 0 {
  47039. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 20 + uintptr(k)*4)), bp+2876)
  47040. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  47041. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 20 + uintptr(k)*4)), bp+2876, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  47042. }
  47043. goto _2
  47044. _2:
  47045. ;
  47046. k++
  47047. }
  47048. }
  47049. XFcPtrListIterInitAtLast(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+2864)
  47050. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  47051. XFcPtrListIterAdd(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+2864, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  47052. goto bail3
  47053. bail3:
  47054. ;
  47055. _FcConfigCleanup(tls, bp)
  47056. goto bail2
  47057. bail2:
  47058. ;
  47059. libexpat.XXML_ParserFree(tls, p)
  47060. goto bail1
  47061. bail1:
  47062. ;
  47063. if error1 != 0 && complain != 0 {
  47064. if load != 0 {
  47065. v3 = __ccgo_ts + 9152
  47066. } else {
  47067. v3 = __ccgo_ts + 8359
  47068. }
  47069. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9157, libc.VaList(bp+2896, v3, filename))
  47070. return m_FcFalse
  47071. }
  47072. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  47073. if load != 0 {
  47074. v4 = __ccgo_ts + 9080
  47075. } else {
  47076. v4 = __ccgo_ts + 9088
  47077. }
  47078. libc.Xprintf(tls, __ccgo_ts+9187, libc.VaList(bp+2896, v4, filename))
  47079. }
  47080. return int32(m_FcTrue)
  47081. }
  47082. func __FcConfigParse(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  47083. bp := tls.Alloc(2256)
  47084. defer tls.Free(2256)
  47085. var complain_again, ret TFcBool
  47086. var errno_, fd, len1 int32
  47087. var filename, realfilename, v1, v2, v3, v4 uintptr
  47088. var _ /* buf at bp+84 */ [1024]uint8
  47089. var _ /* ebuf at bp+1192 */ [1025]uint8
  47090. var _ /* reason at bp+1108 */ TFcStrBuf
  47091. var _ /* sbuf at bp+0 */ TFcStrBuf
  47092. _, _, _, _, _, _, _, _, _, _, _ = complain_again, errno_, fd, filename, len1, realfilename, ret, v1, v2, v3, v4
  47093. filename = libc.UintptrFromInt32(0)
  47094. realfilename = libc.UintptrFromInt32(0)
  47095. ret = m_FcFalse
  47096. complain_again = complain
  47097. XFcStrBufInit(tls, bp+1108, libc.UintptrFromInt32(0), 0)
  47098. filename = XIA__FcConfigGetFilename(tls, config, name)
  47099. if !(filename != 0) {
  47100. XFcStrBufString(tls, bp+1108, __ccgo_ts+9217)
  47101. if name != 0 {
  47102. v1 = name
  47103. } else {
  47104. v1 = __ccgo_ts + 4404
  47105. }
  47106. XFcStrBufString(tls, bp+1108, v1)
  47107. goto bail0
  47108. }
  47109. realfilename = XFcConfigRealFilename(tls, config, name)
  47110. if !(realfilename != 0) {
  47111. XFcStrBufString(tls, bp+1108, __ccgo_ts+9232)
  47112. if name != 0 {
  47113. v2 = name
  47114. } else {
  47115. v2 = __ccgo_ts + 4404
  47116. }
  47117. XFcStrBufString(tls, bp+1108, v2)
  47118. goto bail0
  47119. }
  47120. if XIA__FcStrSetMember(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0 {
  47121. XIA__FcStrFree(tls, filename)
  47122. XIA__FcStrFree(tls, realfilename)
  47123. return int32(m_FcTrue)
  47124. }
  47125. if load != 0 {
  47126. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, filename) != 0) {
  47127. goto bail0
  47128. }
  47129. }
  47130. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0) {
  47131. goto bail0
  47132. }
  47133. if XIA__FcFileIsDir(tls, realfilename) != 0 {
  47134. ret = _FcConfigParseAndLoadDir(tls, config, name, realfilename, complain, load)
  47135. XIA__FcStrFree(tls, filename)
  47136. XIA__FcStrFree(tls, realfilename)
  47137. return ret
  47138. }
  47139. XFcStrBufInit(tls, bp, libc.UintptrFromInt32(0), 0)
  47140. fd = XFcOpen(tls, realfilename, m_O_RDONLY2, 0)
  47141. if fd == -int32(1) {
  47142. XFcStrBufString(tls, bp+1108, __ccgo_ts+9251)
  47143. XFcStrBufString(tls, bp+1108, realfilename)
  47144. goto bail1
  47145. }
  47146. for cond := true; cond; cond = len1 != 0 {
  47147. len1 = libc.Xread(tls, fd, bp+84, uint32(m_BUFSIZ))
  47148. if len1 < 0 {
  47149. errno_ = *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))
  47150. libc.Xstrerror_r(tls, errno_, bp+1192, uint32(m_BUFSIZ))
  47151. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9267, libc.VaList(bp+2232, realfilename, bp+1192, errno_))
  47152. libc.Xclose(tls, fd)
  47153. goto bail1
  47154. }
  47155. XFcStrBufData(tls, bp, bp+84, len1)
  47156. }
  47157. libc.Xclose(tls, fd)
  47158. ret = _FcConfigParseAndLoadFromMemoryInternal(tls, config, filename, XFcStrBufDoneStatic(tls, bp), complain, load)
  47159. complain_again = m_FcFalse /* no need to reclaim here */
  47160. goto bail1
  47161. bail1:
  47162. ;
  47163. XFcStrBufDestroy(tls, bp)
  47164. goto bail0
  47165. bail0:
  47166. ;
  47167. if filename != 0 {
  47168. XIA__FcStrFree(tls, filename)
  47169. }
  47170. if realfilename != 0 {
  47171. XIA__FcStrFree(tls, realfilename)
  47172. }
  47173. if !(complain != 0) {
  47174. return int32(m_FcTrue)
  47175. }
  47176. if !(ret != 0) && complain_again != 0 {
  47177. if name != 0 {
  47178. if load != 0 {
  47179. v3 = __ccgo_ts + 9152
  47180. } else {
  47181. v3 = __ccgo_ts + 8359
  47182. }
  47183. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9313, libc.VaList(bp+2232, v3, name, XFcStrBufDoneStatic(tls, bp+1108)))
  47184. } else {
  47185. if load != 0 {
  47186. v4 = __ccgo_ts + 9152
  47187. } else {
  47188. v4 = __ccgo_ts + 8359
  47189. }
  47190. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9344, libc.VaList(bp+2232, v4, XFcStrBufDoneStatic(tls, bp+1108)))
  47191. }
  47192. XFcStrBufDestroy(tls, bp+1108)
  47193. return m_FcFalse
  47194. }
  47195. XFcStrBufDestroy(tls, bp+1108)
  47196. return ret
  47197. }
  47198. func XFcConfigParseOnly(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  47199. return __FcConfigParse(tls, config, name, complain, m_FcFalse)
  47200. }
  47201. func XIA__FcConfigParseAndLoad(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  47202. return __FcConfigParse(tls, config, name, complain, int32(m_FcTrue))
  47203. }
  47204. var XFcConfigParseAndLoad = XIA__FcConfigParseAndLoad
  47205. func XIA__FcConfigParseAndLoadFromMemory(tls *libc.TLS, config uintptr, buffer uintptr, complain TFcBool) (r TFcBool) {
  47206. return _FcConfigParseAndLoadFromMemoryInternal(tls, config, __ccgo_ts+9378, buffer, complain, int32(m_FcTrue))
  47207. }
  47208. var XFcConfigParseAndLoadFromMemory = XIA__FcConfigParseAndLoadFromMemory
  47209. const m_FC_DIR_SEPARATOR6 = '/'
  47210. // C documentation
  47211. //
  47212. // /* only used internally */
  47213. func _ftglue_qalloc(tls *libc.TLS, memory TFT_Memory, size TFT_ULong, perror uintptr) (r TFT_Pointer) {
  47214. var block TFT_Pointer
  47215. var error1 TFT_Error
  47216. _, _ = block, error1
  47217. error1 = 0
  47218. block = libc.UintptrFromInt32(0)
  47219. if size > uint32(0) {
  47220. block = (*(*func(*libc.TLS, TFT_Memory, int32) uintptr)(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Falloc})))(tls, memory, libc.Int32FromUint32(size))
  47221. if !(block != 0) {
  47222. error1 = int32(_FT_Err_Out_Of_Memory)
  47223. }
  47224. }
  47225. *(*TFT_Error)(unsafe.Pointer(perror)) = error1
  47226. return block
  47227. }
  47228. func _ftglue_free(tls *libc.TLS, memory TFT_Memory, block TFT_Pointer) {
  47229. if block != 0 {
  47230. (*(*func(*libc.TLS, TFT_Memory, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Ffree})))(tls, memory, block)
  47231. }
  47232. }
  47233. func Xftglue_stream_pos(tls *libc.TLS, stream TFT_Stream) (r TFT_Long) {
  47234. return libc.Int32FromUint32((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  47235. }
  47236. func Xftglue_stream_seek(tls *libc.TLS, stream TFT_Stream, pos TFT_Long) (r TFT_Error) {
  47237. var error1 TFT_Error
  47238. _ = error1
  47239. error1 = 0
  47240. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47241. if (*(*func(*libc.TLS, TFT_Stream, uint32, uintptr, uint32) uint32)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, libc.Uint32FromInt32(pos), uintptr(0), uint32(0)) != 0 {
  47242. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  47243. }
  47244. } else {
  47245. if pos < 0 || libc.Uint32FromInt32(pos) > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  47246. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  47247. }
  47248. }
  47249. if !(error1 != 0) {
  47250. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos = libc.Uint32FromInt32(pos)
  47251. }
  47252. return error1
  47253. }
  47254. func Xftglue_stream_frame_enter(tls *libc.TLS, stream TFT_Stream, count TFT_ULong) (r TFT_Error) {
  47255. bp := tls.Alloc(16)
  47256. defer tls.Free(16)
  47257. var memory TFT_Memory
  47258. var read_bytes TFT_ULong
  47259. var _ /* error at bp+0 */ TFT_Error
  47260. _, _ = memory, read_bytes
  47261. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Ok)
  47262. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47263. /* allocate the frame in memory */
  47264. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  47265. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = _ftglue_qalloc(tls, memory, count, bp)
  47266. if *(*TFT_Error)(unsafe.Pointer(bp)) != libc.Int32FromInt32(0) {
  47267. goto Exit
  47268. }
  47269. /* read it */
  47270. read_bytes = (*(*func(*libc.TLS, TFT_Stream, uint32, uintptr, uint32) uint32)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase, count)
  47271. if read_bytes < count {
  47272. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  47273. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  47274. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  47275. }
  47276. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  47277. }
  47278. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase
  47279. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  47280. *(*uint32)(unsafe.Pointer(stream + 8)) += read_bytes
  47281. } else {
  47282. /* check current and new position */
  47283. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos >= (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize || (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos+count > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  47284. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  47285. goto Exit
  47286. }
  47287. /* set cursor */
  47288. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase + uintptr((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  47289. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  47290. *(*uint32)(unsafe.Pointer(stream + 8)) += count
  47291. }
  47292. goto Exit
  47293. Exit:
  47294. ;
  47295. return *(*TFT_Error)(unsafe.Pointer(bp))
  47296. }
  47297. func Xftglue_stream_frame_exit(tls *libc.TLS, stream TFT_Stream) {
  47298. var memory TFT_Memory
  47299. _ = memory
  47300. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47301. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  47302. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  47303. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  47304. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  47305. }
  47306. }
  47307. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = uintptr(0)
  47308. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = uintptr(0)
  47309. }
  47310. func Xftglue_face_goto_table(tls *libc.TLS, face TFT_Face, the_tag TFT_ULong, stream TFT_Stream) (r TFT_Error) {
  47311. var checksum, offset, sig, size, start, tag TFT_ULong
  47312. var count, nn TFT_UInt
  47313. var error1, v1, v10, v11, v2, v4, v5, v7, v8 TFT_Error
  47314. var v12, v3, v6, v9 bool
  47315. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = checksum, count, error1, nn, offset, sig, size, start, tag, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9
  47316. if !!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(3)) != 0) {
  47317. error1 = int32(_FT_Err_Invalid_Face_Handle)
  47318. } else {
  47319. /* parse the directory table directly, without using
  47320. * FreeType's built-in data structures
  47321. */
  47322. offset = uint32(0)
  47323. v1 = Xftglue_stream_seek(tls, stream, 0)
  47324. error1 = v1
  47325. if v3 = v1 != 0; !v3 {
  47326. v2 = Xftglue_stream_frame_enter(tls, stream, uint32(4))
  47327. error1 = v2
  47328. }
  47329. if v3 || v2 != 0 {
  47330. goto Exit
  47331. }
  47332. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47333. sig = libc.Uint32FromInt32(libc.Int32FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47334. Xftglue_stream_frame_exit(tls, stream)
  47335. if sig == uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('c')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('f'))) {
  47336. /* deal with TrueType collections */
  47337. v4 = Xftglue_stream_seek(tls, stream, int32(12)+(*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_index*int32(4))
  47338. error1 = v4
  47339. if v6 = v4 != 0; !v6 {
  47340. v5 = Xftglue_stream_frame_enter(tls, stream, uint32(4))
  47341. error1 = v5
  47342. }
  47343. if v6 || v5 != 0 {
  47344. goto Exit
  47345. }
  47346. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47347. offset = libc.Uint32FromInt32(libc.Int32FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47348. Xftglue_stream_frame_exit(tls, stream)
  47349. }
  47350. v7 = Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(offset+uint32(4)))
  47351. error1 = v7
  47352. if v9 = v7 != 0; !v9 {
  47353. v8 = Xftglue_stream_frame_enter(tls, stream, uint32(2))
  47354. error1 = v8
  47355. }
  47356. if v9 || v8 != 0 {
  47357. goto Exit
  47358. }
  47359. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(2)
  47360. count = uint32(libc.Uint16FromInt16(libc.Int16FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  47361. Xftglue_stream_frame_exit(tls, stream)
  47362. v10 = Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(offset+uint32(12)))
  47363. error1 = v10
  47364. if v12 = v10 != 0; !v12 {
  47365. v11 = Xftglue_stream_frame_enter(tls, stream, count*uint32(16))
  47366. error1 = v11
  47367. }
  47368. if v12 || v11 != 0 {
  47369. goto Exit
  47370. }
  47371. nn = uint32(0)
  47372. for {
  47373. if !(nn < count) {
  47374. break
  47375. }
  47376. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47377. tag = libc.Uint32FromInt32(libc.Int32FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47378. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47379. checksum = libc.Uint32FromInt32(libc.Int32FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47380. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47381. start = libc.Uint32FromInt32(libc.Int32FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47382. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47383. size = libc.Uint32FromInt32(libc.Int32FromUint32(uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint32(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47384. if tag == the_tag {
  47385. error1 = Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(start))
  47386. goto FoundIt
  47387. }
  47388. goto _13
  47389. _13:
  47390. ;
  47391. nn++
  47392. }
  47393. error1 = int32(_FT_Err_Table_Missing)
  47394. goto FoundIt
  47395. FoundIt:
  47396. ;
  47397. Xftglue_stream_frame_exit(tls, stream)
  47398. }
  47399. goto Exit
  47400. Exit:
  47401. ;
  47402. return error1
  47403. }
  47404. func __ccgo_fp(f interface{}) uintptr {
  47405. type iface [2]uintptr
  47406. return (*iface)(unsafe.Pointer(&f))[1]
  47407. }
  47408. var XFcDebugVal int32
  47409. var XFcIdentityMatrix = TFcMatrix{
  47410. Fxx: libc.Float64FromInt32(1),
  47411. Fyy: libc.Float64FromInt32(1),
  47412. }
  47413. var Xdefault_langs uintptr
  47414. var Xother_types uintptr
  47415. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  47416. var __ccgo_ts1 = ".NEW\x00.LCK\x00.TMP-XXXXXX\x00w\x00%ld\n\x00.uuid\x00Unable to revert mtime: %s\n\x00FONTCONFIG_USE_MMAP\x00-le32d8.cache-8\x00 (mapped to \x00\x00)\x00, salt: \x00cache: %s (dir: %s%s%s%s%s%s)\n\x00cache fallbacks to: %s (dir: %s)\n\x00Fontconfig error: not freed %p (dir: %s, refcount %d)\n\x00FcCacheTimeValid dir \"%s\" cache checksum %d.%ld dir checksum %d.%ld\n\x00SOURCE_DATE_EPOCH\x00Fontconfig: SOURCE_DATE_EPOCH invalid\n\x00Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n\x00Fontconfig: SOURCE_DATE_EPOCH has trailing garbage\n\x00Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n\x00Fontconfig error: No writable cache directories\n\x00FcDirCacheWriteDir dir \"%s\" file \"%s\"\n\x00write cache\x00Fontconfig error: %s: out of memory\n\x00unwritable\x00non-existent\x00%s: not cleaning %s cache directory\n\x00%s: cleaning cache directory\n\x00Fontconfig error: %s: allocation failure\n\x00%s: invalid cache file: %s\n\x00%s: %s: missing directory: %s \n\x00CACHEDIR.TAG\x00wb\x00Created CACHEDIR.TAG at %s\n\x00Unable to create CACHEDIR.TAG at %s\n\x00FONTCONFIG_SYSROOT\x00Fontconfig warning: Directory/file mtime in the future. New fonts may not be detected.\n\x00adding fonts from %s\n\x00 (salt: \x00%s -> %s%s%s%s\n\x00%s%s%s%s\n\x00Reset font directories!\n\x00Fontconfig warning: <name> tag has target=\"font\" in a <match target=\"pattern\">.\n\x00Fontconfig warning: FcPattern object %s does not accept value\x00\n\x00Not adding\n\x00position not on list\n\x00Append\x00Prepend\x00%s list before \x00%s list after \x00und\x00FcConfigSubstitute \x00\nRule Set: %s\n\x00FcConfigSubstitute test \x00No match\n\x00Substitute \x00\n\n\x00FcConfigSubstitute edit\x00FcConfigSubstitute done\x00/\x00FONTCONFIG_PATH\x00/etc/fonts\x00HOME\x00XDG_CACHE_HOME\x00/.cache\x00XDG_CONFIG_HOME\x00/.config\x00XDG_DATA_HOME\x00/.local/share\x00XDG_DATA_DIRS\x00/usr/local/share\x00/usr/share\x00FONTCONFIG_FILE\x00fonts.conf\x00Fontconfig warning: Unable to initialize config and retry limit exceeded. sysroot functionality may not work as expected.\n\x00Add Rule(kind:%d, name: %s) \x00fontconfig\x00No description\x00fontconfig-conf\x00%x\x00\ncharsets %d -> %d leaves %d -> %d\n\x00<unknown>\x00<void>\x00%d(i)\x00%g(f)\x00\"%s\"\x00True\x00False\x00DontCare\x00[%g %g; %g %g]\x00face\x00[%g %g]\x00 \x00 [marker] \x00(w)\x00(s)\x00(=)\x00(?)\x00 [marker]\x00%s\x00langset (alloc error)\x00\t\x00%04x:\x00 %08x\x00Null pattern\n\x00Pattern has %d elts (size %d)\n\x00\t%s:\x00Pattern has %d elts (size %d), %d elts (size %d)\n\x00\t%s: (None) -> \x00 -> (None)\n\x00 -> \x00Integer\x00Double\x00String\x00Matrix\x00Range\x00Bool\x00CharSet\x00LangSet\x00Field\x00Const\x00Assign\x00AssignReplace\x00PrependFirst\x00AppendLast\x00Delete\x00DeleteAll\x00Quest\x00Or\x00And\x00Equal\x00(ignore blanks)\x00NotEqual\x00Less\x00LessEqual\x00More\x00MoreEqual\x00Contains\x00NotContains\x00Plus\x00Minus\x00Times\x00Divide\x00Not\x00Nil\x00Comma\x00Floor\x00Ceil\x00Round\x00Trunc\x00Listing\x00Invalid\x00none\x00%d\x00%g\x00[\x00; \x00]\x00(%g, %g)\x00true\x00false\x00charset\n\x00langset:\x00nil\n\x00%s \x00(pattern) \x00(font) \x00 quest \x00 colon \x00Not \x00Floor \x00Ceil \x00Round \x00Trunc \x00pattern \x00font \x00scan \x00any \x00all \x00first \x00not_first \x00Edit %s \x00[test]\n\x00[edit]\n\x00;\n\x00FontSet %d of %d\n\x00Font %d \x00FC_DEBUG\x00FC_DEBUG=%s\n\x00FC_LANG\x00LC_ALL\x00LC_CTYPE\x00LANG\x00en\x00/proc/self/exe\x00en-us\x00\tScanning file %s...\x00done\n\x00Final font pattern:\n\x00\tScanning dir %s\n\x00cache scan dir %s\n\x00Fontconfig: Pattern format error: \x00.\n\x00format ended while expecting '%c'\x00expected '%c' at %d\x00expected identifier at %d\x00expected character data at %d\x00unparse\x00fccat\x00\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"\x00fcmatch\x00%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\"\x00fclist\x00%{?file{%{file}: }}%{-file{%{=unparse}}}\x00pkgkit\x00%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}\x00unknown builtin \"%s\"\x00expected non-negative number at %d\x00'\\''\x00&amp;\x00&lt;\x00&gt;\x00downcase\x00basename\x00dirname\x00cescape\x00shescape\x00xmlescape\x00delete\x00escape\x00translate\x00unknown converter \"%s\"\x00Adobe\x00adobe\x00Bigelow\x00b&h\x00Bitstream\x00bitstream\x00Gnat\x00culmus\x00Iorsh\x00HanYang System\x00hanyang\x00Font21\x00hwan\x00IBM\x00ibm\x00International Typeface Corporation\x00itc\x00Linotype\x00linotype\x00LINOTYPE-HELL\x00Microsoft\x00microsoft\x00Monotype\x00monotype\x00Omega\x00omega\x00Tiro Typeworks\x00tiro\x00URW\x00urw\x00XFree86\x00xfree86\x00Xorg\x00xorg\x00MACINTOSH\x00SJIS\x00UCS-2BE\x00UTF-16BE\x00ASCII\x00ISO-8859-1\x00thin\x00extralight\x00ultralight\x00demilight\x00semilight\x00light\x00book\x00regular\x00normal\x00medium\x00demibold\x00demi\x00semibold\x00extrabold\x00superbold\x00ultrabold\x00bold\x00ultrablack\x00superblack\x00extrablack\x00<ultra\x00black\x00heavy\x00ultracondensed\x00extracondensed\x00semicondensed\x00condensed\x00semiexpanded\x00extraexpanded\x00ultraexpanded\x00expanded\x00extended\x00italic\x00kursiv\x00oblique\x00shadow\x00caps\x00antiqua\x00romansc\x00embosed\x00dunhill\x00PIXEL_SIZE\x00found family (n %2d p %d e %d l 0x%04x)\x00found full (n %2d p %d e %d l 0x%04x)\x00found style (n %2d p %d e %d l 0x%04x) \x00(null)\x00%s\n\x00using FreeType family \"%s\"\n\x00Regular\x00using FreeType style \"%s\"\n\x00applying default style Regular\n\x00using filename for family %s\n\x00\tos2 weight class %d multiplier %g maps to weight %g\n\x00\tos2 width class %d multiplier %g maps to width %g\n\x00\tType1 weight %s maps to %g\n\x00FOUNDRY\x00RELATIVE_SETWIDTH\x00SETWIDTH_NAME\x00\tsetwidth %s maps to %g\n\x00style\x00\tStyle %s maps to weight %g\n\x00\tStyle %s maps to width %g\n\x00\tStyle %s maps to slant %d\n\x00\tStyle %s maps to decorative %d\n\x00unknown\x00SPACING\x00c\x00C\x00m\x00M\x00p\x00P\x00otlayout:\x00ttable:Silf \x00complex_ features in this font: %s\n\x00<fontconfig><dir>/usr/share/fonts</dir> <dir prefix=\"xdg\">fonts</dir> <cachedir>/usr/var/cache/fontconfig</cachedir> <cachedir prefix=\"xdg\">fontconfig</cachedir> <include ignore_missing=\"yes\">/etc/fonts/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/fonts.conf</include></fontconfig>\x00/usr/share/fontconfig/conf.avail\x00Fontconfig warning: no <cachedir> elements found. Check configuration.\n\x00Fontconfig warning: adding <cachedir>%s</cachedir>\n\x00/usr/var/cache/fontconfig\x00/fontconfig\x00Fontconfig warning: adding <cachedir prefix=\"xdg\">fontconfig</cachedir>\n\x00Fontconfig error: out of memory\x00font charset\x00%s charset\x00\n%s(%u) \x00{\x00 %04x\x00 }\n\t\x00%s(%u) \x00C.UTF-8\x00C.utf8\x00POSIX\x00Fontconfig warning: ignoring %s: not a valid language tag\n\x00Fontconfig warning: ignoring %s: not a valid region tag\n\x00Checking the existence of %s.orth\n\x00normalized: %s -> %s\n\x00Unable to normalize %s\n\x00FcLangSet \x00 contains \x00\tMissing bitmap %s\n\x00\tMissing string %s\n\x00family\x00familylang\x00fullname\x00fullnamelang\x00stylelang\x00 -\x00 %s: %g \x00, \x00%s: %g \x00 \x00wght\x00wdth\x00opsz\x00%4s=%g\x00Match \x00Score\x00 %g\x00Best score\x00FC_DBG_MATCH_FILTER\x00charset\x00Add \x00Sort \x00lang\x00Font %s:%s matches language %d\n\x00First font \x00slant\x00weight\x00width\x00size\x00aspect\x00pixelsize\x00spacing\x00foundry\x00antialias\x00hintstyle\x00hinting\x00verticallayout\x00autohint\x00globaladvance\x00file\x00index\x00rasterizer\x00outline\x00scalable\x00dpi\x00rgba\x00scale\x00minspace\x00charwidth\x00charheight\x00matrix\x00fontversion\x00capability\x00fontformat\x00embolden\x00embeddedbitmap\x00decorative\x00lcdfilter\x00namelang\x00fontfeatures\x00prgname\x00hash\x00postscriptname\x00color\x00symbol\x00fontvariations\x00variable\x00fonthashint\x00order\x00roman\x00proportional\x00dual\x00mono\x00charcell\x00rgb\x00bgr\x00vrgb\x00vbgr\x00hintnone\x00hintslight\x00hintmedium\x00hintfull\x00lcdnone\x00lcddefault\x00lcdlight\x00lcdlegacy\x00Fontconfig error: Unexpected constant name `%s' used for object `%s': should be `%s'\n\x00%lg %lg %lg %lg\x00[%lg %lg]\x00[%s %[^]]]\x00-,:\x00=_:\x00:,\x00%g %g %g %g\x00,\x00\\-:,\x00-\x00:\x00\\=_:,\x00=\x00Fontconfig error: No object ID to assign\n\x00Raw pattern:\n\x00Serialized pattern:\n\x00nfs\x00msdosfs\x00pcfs\x00.\x00/.\x00/..\x00its:\x00info\x00warning\x00error\x00Fontconfig %s: \"%s\", line %d: \x00Fontconfig %s: line %d: \x00Fontconfig %s: \x00void\x00number\x00string\x00bool\x00FT_Face\x00langset\x00range\x00saw %s, expected %s\x00invalid constant used : %s\x00out of memory\x00mismatching element\x00invalid attribute '%s'\x00xdg\x00default\x00cwd\x00relative\x00Use of ambiguous path in <%s> element. please add prefix=\"cwd\" if current behavior is desired.\x00unknown element \"%s\"\x00non-integer rescan\x00\"%s\": not a valid integer\x00\"%s\": not a valid double\x00target\x00pattern\x00font\x00invalid name target \"%s\"\x00Missing values in matrix element\x00wrong number of matrix elements\x00too many elements in range\x00invalid element in range\x00invalid range\x00\"%s\" is not known boolean\x00invalid character: 0x%04x\x00invalid element in charset\x00invalid langset: %s\x00invalid element in langset\x00weak\x00strong\x00same\x00invalid binding \"%s\"\x00non-family\x00binding\x00Having multiple <family> in <alias> isn't supported and may not work as expected\x00bad alias\x00missing family in alias\x00domain\x00empty font directory name for remap ignored\x00as-path\x00Missing as-path in remap-dir\x00prefix\x00salt\x00out of memory; cannot create remap data for %s as %s\x00Unable to reset fonts dirs\x00empty font directory name ignored\x00out of memory; cannot add directory %s\x00empty cache directory name ignored\x00out of memory; cannot add cache directory %s\x00ignore_missing\x00deprecated\x00conf.d\x00reading configurations from %s is deprecated. please move it to %s manually\x00scan\x00invalid test target \"%s\"\x00qual\x00any\x00all\x00first\x00not_first\x00invalid test qual \"%s\"\x00name\x00missing test name\x00compare\x00invalid test compare \"%s\"\x00ignore-blanks\x00invalid test ignore-blanks \"%s\"\x00missing test expression\x00Having multiple values in <test> isn't supported and may not work as expected\x00missing edit name\x00mode\x00invalid edit mode \"%s\"\x00Expression doesn't take any effects for delete and delete_all\x00invalid match target \"%s\"\x00<match target=\"scan\"> cannot edit user-defined object \"%s\"\x00invalid match element\x00No <test> nor <edit> elements in <match>\x00bad font selector\x00unknown pattern element %d\x00missing pattern element name\x00unknown pattern element\x00invalid doctype \"%s\"\x00Cannot open config dir \"%s\"\x00\tScanning config dir %s\n\x00.conf\x00Loading\x00Scanning\x00\t%s config file from %s\n\x00UTF-8\x00cannot get parse buffer\x00load\x00Cannot %s config file from %s\x00\t%s config file from %s done\n\x00No such file: \x00No such realfile: \x00Unable to open \x00failed reading config file: %s: %s (errno %d)\x00Cannot %s config file \"%s\": %s\x00Cannot %s default config file: %s\x00memory\x00"