ccgo_linux_386.go 1.7 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044
  1. // Code generated for linux/386 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/386 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libfreetype/include/linux/386 -lexpat -lfreetype -o libfontconfig.go --package-name libfontconfig src/.libs/libfontconfig.a', DO NOT EDIT.
  2. //go:build linux && 386
  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 = 4
  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_PAGESIZE = 4096
  734. const m_PAGE_SIZE = "PAGESIZE"
  735. const m_PATH_MAX = 4096
  736. const m_PDP_ENDIAN = "__PDP_ENDIAN"
  737. const m_PIPE_BUF = 4096
  738. const m_POSIX_CLOSE_RESTART = 0
  739. const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
  740. const m_PTHREAD_KEYS_MAX = 128
  741. const m_PTHREAD_STACK_MIN = 2048
  742. const m_PTRDIFF_MAX = "INT32_MAX"
  743. const m_PTRDIFF_MIN = "INT32_MIN"
  744. const m_P_tmpdir = "/tmp"
  745. const m_RAND_MAX = 0x7fffffff
  746. const m_RE_DUP_MAX = 255
  747. const m_R_OK = 4
  748. const m_SCHAR_MAX = 127
  749. const m_SEEK_DATA = 3
  750. const m_SEEK_HOLE = 4
  751. const m_SEM_NSEMS_MAX = 256
  752. const m_SEM_VALUE_MAX = 0x7fffffff
  753. const m_SHRT_MAX = 0x7fff
  754. const m_SIG_ATOMIC_MAX = "INT32_MAX"
  755. const m_SIG_ATOMIC_MIN = "INT32_MIN"
  756. const m_SIZEOF_VOID_P = 4
  757. const m_SIZE_MAX = "UINT32_MAX"
  758. const m_SSIZE_MAX = "LONG_MAX"
  759. const m_STATX_ALL = 0xfff
  760. const m_STATX_ATIME = 0x20
  761. const m_STATX_BASIC_STATS = 0x7ff
  762. const m_STATX_BLOCKS = 0x400
  763. const m_STATX_BTIME = 0x800
  764. const m_STATX_CTIME = 0x80
  765. const m_STATX_GID = 0x10
  766. const m_STATX_INO = 0x100
  767. const m_STATX_MODE = 2
  768. const m_STATX_MTIME = 0x40
  769. const m_STATX_NLINK = 4
  770. const m_STATX_SIZE = 0x200
  771. const m_STATX_TYPE = 1
  772. const m_STATX_UID = 8
  773. const m_STDC_HEADERS = 1
  774. const m_STDERR_FILENO = 2
  775. const m_STDIN_FILENO = 0
  776. const m_STDOUT_FILENO = 1
  777. const m_SYMLOOP_MAX = 40
  778. const m_S_IEXEC = "S_IXUSR"
  779. const m_S_IFBLK = 0060000
  780. const m_S_IFCHR = 0020000
  781. const m_S_IFDIR = 0040000
  782. const m_S_IFIFO = 0010000
  783. const m_S_IFLNK = 0120000
  784. const m_S_IFMT = 0170000
  785. const m_S_IFREG = 0100000
  786. const m_S_IFSOCK = 0140000
  787. const m_S_IREAD = "S_IRUSR"
  788. const m_S_IRGRP = 0040
  789. const m_S_IROTH = 0004
  790. const m_S_IRUSR = 0400
  791. const m_S_IRWXG = 0070
  792. const m_S_IRWXO = 0007
  793. const m_S_IRWXU = 0700
  794. const m_S_ISGID = 02000
  795. const m_S_ISUID = 04000
  796. const m_S_ISVTX = 01000
  797. const m_S_IWGRP = 0020
  798. const m_S_IWOTH = 0002
  799. const m_S_IWRITE = "S_IWUSR"
  800. const m_S_IWUSR = 0200
  801. const m_S_IXGRP = 0010
  802. const m_S_IXOTH = 0001
  803. const m_S_IXUSR = 0100
  804. const m_TIMER_ABSTIME = 1
  805. const m_TIME_UTC = 1
  806. const m_TMP_MAX = 10000
  807. const m_TMP_NAME = ".TMP-XXXXXX"
  808. const m_TTY_NAME_MAX = 32
  809. const m_TZNAME_MAX = 6
  810. const m_UCHAR_MAX = 255
  811. const m_UINT16_MAX = 0xffff
  812. const m_UINT32_MAX = "0xffffffffu"
  813. const m_UINT64_MAX = "0xffffffffffffffffu"
  814. const m_UINT8_MAX = 0xff
  815. const m_UINTMAX_MAX = "UINT64_MAX"
  816. const m_UINTPTR_MAX = "UINT32_MAX"
  817. const m_UINT_FAST16_MAX = "UINT32_MAX"
  818. const m_UINT_FAST32_MAX = "UINT32_MAX"
  819. const m_UINT_FAST64_MAX = "UINT64_MAX"
  820. const m_UINT_FAST8_MAX = "UINT8_MAX"
  821. const m_UINT_LEAST16_MAX = "UINT16_MAX"
  822. const m_UINT_LEAST32_MAX = "UINT32_MAX"
  823. const m_UINT_LEAST64_MAX = "UINT64_MAX"
  824. const m_UINT_LEAST8_MAX = "UINT8_MAX"
  825. const m_UINT_MAX = 0xffffffff
  826. const m_USE_ICONV = 0
  827. const m_USHRT_MAX = 0xffff
  828. const m_UTIME_NOW = 0x3fffffff
  829. const m_UTIME_OMIT = 0x3ffffffe
  830. const m_VERSION = "2.14.1"
  831. const m_WINT_MAX = "UINT32_MAX"
  832. const m_WINT_MIN = 0
  833. const m_WNOHANG = 1
  834. const m_WORD_BIT = 32
  835. const m_WUNTRACED = 2
  836. const m_W_OK = 2
  837. const m_X_OK = 1
  838. const m__ALL_SOURCE = 1
  839. const m__CS_GNU_LIBC_VERSION = 2
  840. const m__CS_GNU_LIBPTHREAD_VERSION = 3
  841. const m__CS_PATH = 0
  842. const m__CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
  843. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
  844. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
  845. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
  846. const m__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
  847. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
  848. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
  849. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
  850. const m__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
  851. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
  852. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
  853. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 1126
  854. const m__CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
  855. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
  856. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
  857. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
  858. const m__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
  859. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
  860. const m__CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
  861. const m__CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
  862. const m__CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
  863. const m__CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
  864. const m__CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
  865. const m__CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
  866. const m__CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
  867. const m__CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
  868. const m__CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
  869. const m__CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
  870. const m__CS_POSIX_V7_LP64_OFF64_LIBS = 1142
  871. const m__CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
  872. const m__CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
  873. const m__CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
  874. const m__CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
  875. const m__CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
  876. const m__CS_POSIX_V7_THREADS_CFLAGS = 1150
  877. const m__CS_POSIX_V7_THREADS_LDFLAGS = 1151
  878. const m__CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
  879. const m__CS_V6_ENV = 1148
  880. const m__CS_V7_ENV = 1149
  881. const m__DARWIN_C_SOURCE = 1
  882. const m__FILE_OFFSET_BITS = 64
  883. const m__FONTCONFIG_SRC_FCSTDINT_H = 1
  884. const m__GENERATED_STDINT_H = "fontconfig 2.14.1"
  885. const m__GNU_SOURCE = 1
  886. const m__HPUX_ALT_XOPEN_SOCKET_API = 1
  887. const m__ILP32 = 1
  888. const m__IOFBF = 0
  889. const m__IOLBF = 1
  890. const m__IONBF = 2
  891. const m__NETBSD_SOURCE = 1
  892. const m__OPENBSD_SOURCE = 1
  893. const m__PC_2_SYMLINKS = 20
  894. const m__PC_ALLOC_SIZE_MIN = 18
  895. const m__PC_ASYNC_IO = 10
  896. const m__PC_CHOWN_RESTRICTED = 6
  897. const m__PC_FILESIZEBITS = 13
  898. const m__PC_LINK_MAX = 0
  899. const m__PC_MAX_CANON = 1
  900. const m__PC_MAX_INPUT = 2
  901. const m__PC_NAME_MAX = 3
  902. const m__PC_NO_TRUNC = 7
  903. const m__PC_PATH_MAX = 4
  904. const m__PC_PIPE_BUF = 5
  905. const m__PC_PRIO_IO = 11
  906. const m__PC_REC_INCR_XFER_SIZE = 14
  907. const m__PC_REC_MAX_XFER_SIZE = 15
  908. const m__PC_REC_MIN_XFER_SIZE = 16
  909. const m__PC_REC_XFER_ALIGN = 17
  910. const m__PC_SOCK_MAXBUF = 12
  911. const m__PC_SYMLINK_MAX = 19
  912. const m__PC_SYNC_IO = 9
  913. const m__PC_VDISABLE = 8
  914. const m__POSIX2_BC_BASE_MAX = 99
  915. const m__POSIX2_BC_DIM_MAX = 2048
  916. const m__POSIX2_BC_SCALE_MAX = 99
  917. const m__POSIX2_BC_STRING_MAX = 1000
  918. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  919. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  920. const m__POSIX2_C_BIND = "_POSIX_VERSION"
  921. const m__POSIX2_EXPR_NEST_MAX = 32
  922. const m__POSIX2_LINE_MAX = 2048
  923. const m__POSIX2_RE_DUP_MAX = 255
  924. const m__POSIX2_VERSION = "_POSIX_VERSION"
  925. const m__POSIX_ADVISORY_INFO = "_POSIX_VERSION"
  926. const m__POSIX_AIO_LISTIO_MAX = 2
  927. const m__POSIX_AIO_MAX = 1
  928. const m__POSIX_ARG_MAX = 4096
  929. const m__POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
  930. const m__POSIX_BARRIERS = "_POSIX_VERSION"
  931. const m__POSIX_CHILD_MAX = 25
  932. const m__POSIX_CHOWN_RESTRICTED = 1
  933. const m__POSIX_CLOCKRES_MIN = 20000000
  934. const m__POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
  935. const m__POSIX_CPUTIME = "_POSIX_VERSION"
  936. const m__POSIX_DELAYTIMER_MAX = 32
  937. const m__POSIX_FSYNC = "_POSIX_VERSION"
  938. const m__POSIX_HOST_NAME_MAX = 255
  939. const m__POSIX_IPV6 = "_POSIX_VERSION"
  940. const m__POSIX_JOB_CONTROL = 1
  941. const m__POSIX_LINK_MAX = 8
  942. const m__POSIX_LOGIN_NAME_MAX = 9
  943. const m__POSIX_MAPPED_FILES = "_POSIX_VERSION"
  944. const m__POSIX_MAX_CANON = 255
  945. const m__POSIX_MAX_INPUT = 255
  946. const m__POSIX_MEMLOCK = "_POSIX_VERSION"
  947. const m__POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
  948. const m__POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
  949. const m__POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
  950. const m__POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
  951. const m__POSIX_MQ_OPEN_MAX = 8
  952. const m__POSIX_MQ_PRIO_MAX = 32
  953. const m__POSIX_NAME_MAX = 14
  954. const m__POSIX_NGROUPS_MAX = 8
  955. const m__POSIX_NO_TRUNC = 1
  956. const m__POSIX_OPEN_MAX = 20
  957. const m__POSIX_PATH_MAX = 256
  958. const m__POSIX_PIPE_BUF = 512
  959. const m__POSIX_PTHREAD_SEMANTICS = 1
  960. const m__POSIX_RAW_SOCKETS = "_POSIX_VERSION"
  961. const m__POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
  962. const m__POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
  963. const m__POSIX_REGEXP = 1
  964. const m__POSIX_RE_DUP_MAX = 255
  965. const m__POSIX_RTSIG_MAX = 8
  966. const m__POSIX_SAVED_IDS = 1
  967. const m__POSIX_SEMAPHORES = "_POSIX_VERSION"
  968. const m__POSIX_SEM_NSEMS_MAX = 256
  969. const m__POSIX_SEM_VALUE_MAX = 32767
  970. const m__POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
  971. const m__POSIX_SHELL = 1
  972. const m__POSIX_SIGQUEUE_MAX = 32
  973. const m__POSIX_SPAWN = "_POSIX_VERSION"
  974. const m__POSIX_SPIN_LOCKS = "_POSIX_VERSION"
  975. const m__POSIX_SSIZE_MAX = 32767
  976. const m__POSIX_SS_REPL_MAX = 4
  977. const m__POSIX_STREAM_MAX = 8
  978. const m__POSIX_SYMLINK_MAX = 255
  979. const m__POSIX_SYMLOOP_MAX = 8
  980. const m__POSIX_THREADS = "_POSIX_VERSION"
  981. const m__POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
  982. const m__POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
  983. const m__POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
  984. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  985. const m__POSIX_THREAD_KEYS_MAX = 128
  986. const m__POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
  987. const m__POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
  988. const m__POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
  989. const m__POSIX_THREAD_THREADS_MAX = 64
  990. const m__POSIX_TIMEOUTS = "_POSIX_VERSION"
  991. const m__POSIX_TIMERS = "_POSIX_VERSION"
  992. const m__POSIX_TIMER_MAX = 32
  993. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  994. const m__POSIX_TRACE_NAME_MAX = 8
  995. const m__POSIX_TRACE_SYS_MAX = 8
  996. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  997. const m__POSIX_TTY_NAME_MAX = 9
  998. const m__POSIX_TZNAME_MAX = 6
  999. const m__POSIX_V6_ILP32_OFFBIG = 1
  1000. const m__POSIX_V7_ILP32_OFFBIG = 1
  1001. const m__POSIX_VDISABLE = 0
  1002. const m__POSIX_VERSION = 200809
  1003. const m__REDIR_TIME64 = 1
  1004. const m__SC_2_CHAR_TERM = 95
  1005. const m__SC_2_C_BIND = 47
  1006. const m__SC_2_C_DEV = 48
  1007. const m__SC_2_FORT_DEV = 49
  1008. const m__SC_2_FORT_RUN = 50
  1009. const m__SC_2_LOCALEDEF = 52
  1010. const m__SC_2_PBS = 168
  1011. const m__SC_2_PBS_ACCOUNTING = 169
  1012. const m__SC_2_PBS_CHECKPOINT = 175
  1013. const m__SC_2_PBS_LOCATE = 170
  1014. const m__SC_2_PBS_MESSAGE = 171
  1015. const m__SC_2_PBS_TRACK = 172
  1016. const m__SC_2_SW_DEV = 51
  1017. const m__SC_2_UPE = 97
  1018. const m__SC_2_VERSION = 46
  1019. const m__SC_ADVISORY_INFO = 132
  1020. const m__SC_AIO_LISTIO_MAX = 23
  1021. const m__SC_AIO_MAX = 24
  1022. const m__SC_AIO_PRIO_DELTA_MAX = 25
  1023. const m__SC_ARG_MAX = 0
  1024. const m__SC_ASYNCHRONOUS_IO = 12
  1025. const m__SC_ATEXIT_MAX = 87
  1026. const m__SC_AVPHYS_PAGES = 86
  1027. const m__SC_BARRIERS = 133
  1028. const m__SC_BC_BASE_MAX = 36
  1029. const m__SC_BC_DIM_MAX = 37
  1030. const m__SC_BC_SCALE_MAX = 38
  1031. const m__SC_BC_STRING_MAX = 39
  1032. const m__SC_CHILD_MAX = 1
  1033. const m__SC_CLK_TCK = 2
  1034. const m__SC_CLOCK_SELECTION = 137
  1035. const m__SC_COLL_WEIGHTS_MAX = 40
  1036. const m__SC_CPUTIME = 138
  1037. const m__SC_DELAYTIMER_MAX = 26
  1038. const m__SC_EXPR_NEST_MAX = 42
  1039. const m__SC_FSYNC = 15
  1040. const m__SC_GETGR_R_SIZE_MAX = 69
  1041. const m__SC_GETPW_R_SIZE_MAX = 70
  1042. const m__SC_HOST_NAME_MAX = 180
  1043. const m__SC_IOV_MAX = 60
  1044. const m__SC_IPV6 = 235
  1045. const m__SC_JOB_CONTROL = 7
  1046. const m__SC_LINE_MAX = 43
  1047. const m__SC_LOGIN_NAME_MAX = 71
  1048. const m__SC_MAPPED_FILES = 16
  1049. const m__SC_MEMLOCK = 17
  1050. const m__SC_MEMLOCK_RANGE = 18
  1051. const m__SC_MEMORY_PROTECTION = 19
  1052. const m__SC_MESSAGE_PASSING = 20
  1053. const m__SC_MINSIGSTKSZ = 249
  1054. const m__SC_MONOTONIC_CLOCK = 149
  1055. const m__SC_MQ_OPEN_MAX = 27
  1056. const m__SC_MQ_PRIO_MAX = 28
  1057. const m__SC_NGROUPS_MAX = 3
  1058. const m__SC_NPROCESSORS_CONF = 83
  1059. const m__SC_NPROCESSORS_ONLN = 84
  1060. const m__SC_NZERO = 109
  1061. const m__SC_OPEN_MAX = 4
  1062. const m__SC_PAGESIZE = 30
  1063. const m__SC_PAGE_SIZE = 30
  1064. const m__SC_PASS_MAX = 88
  1065. const m__SC_PHYS_PAGES = 85
  1066. const m__SC_PRIORITIZED_IO = 13
  1067. const m__SC_PRIORITY_SCHEDULING = 10
  1068. const m__SC_RAW_SOCKETS = 236
  1069. const m__SC_READER_WRITER_LOCKS = 153
  1070. const m__SC_REALTIME_SIGNALS = 9
  1071. const m__SC_REGEXP = 155
  1072. const m__SC_RE_DUP_MAX = 44
  1073. const m__SC_RTSIG_MAX = 31
  1074. const m__SC_SAVED_IDS = 8
  1075. const m__SC_SEMAPHORES = 21
  1076. const m__SC_SEM_NSEMS_MAX = 32
  1077. const m__SC_SEM_VALUE_MAX = 33
  1078. const m__SC_SHARED_MEMORY_OBJECTS = 22
  1079. const m__SC_SHELL = 157
  1080. const m__SC_SIGQUEUE_MAX = 34
  1081. const m__SC_SIGSTKSZ = 250
  1082. const m__SC_SPAWN = 159
  1083. const m__SC_SPIN_LOCKS = 154
  1084. const m__SC_SPORADIC_SERVER = 160
  1085. const m__SC_SS_REPL_MAX = 241
  1086. const m__SC_STREAMS = 174
  1087. const m__SC_STREAM_MAX = 5
  1088. const m__SC_SYMLOOP_MAX = 173
  1089. const m__SC_SYNCHRONIZED_IO = 14
  1090. const m__SC_THREADS = 67
  1091. const m__SC_THREAD_ATTR_STACKADDR = 77
  1092. const m__SC_THREAD_ATTR_STACKSIZE = 78
  1093. const m__SC_THREAD_CPUTIME = 139
  1094. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 73
  1095. const m__SC_THREAD_KEYS_MAX = 74
  1096. const m__SC_THREAD_PRIORITY_SCHEDULING = 79
  1097. const m__SC_THREAD_PRIO_INHERIT = 80
  1098. const m__SC_THREAD_PRIO_PROTECT = 81
  1099. const m__SC_THREAD_PROCESS_SHARED = 82
  1100. const m__SC_THREAD_ROBUST_PRIO_INHERIT = 247
  1101. const m__SC_THREAD_ROBUST_PRIO_PROTECT = 248
  1102. const m__SC_THREAD_SAFE_FUNCTIONS = 68
  1103. const m__SC_THREAD_SPORADIC_SERVER = 161
  1104. const m__SC_THREAD_STACK_MIN = 75
  1105. const m__SC_THREAD_THREADS_MAX = 76
  1106. const m__SC_TIMEOUTS = 164
  1107. const m__SC_TIMERS = 11
  1108. const m__SC_TIMER_MAX = 35
  1109. const m__SC_TRACE = 181
  1110. const m__SC_TRACE_EVENT_FILTER = 182
  1111. const m__SC_TRACE_EVENT_NAME_MAX = 242
  1112. const m__SC_TRACE_INHERIT = 183
  1113. const m__SC_TRACE_LOG = 184
  1114. const m__SC_TRACE_NAME_MAX = 243
  1115. const m__SC_TRACE_SYS_MAX = 244
  1116. const m__SC_TRACE_USER_EVENT_MAX = 245
  1117. const m__SC_TTY_NAME_MAX = 72
  1118. const m__SC_TYPED_MEMORY_OBJECTS = 165
  1119. const m__SC_TZNAME_MAX = 6
  1120. const m__SC_UIO_MAXIOV = 60
  1121. const m__SC_V6_ILP32_OFF32 = 176
  1122. const m__SC_V6_ILP32_OFFBIG = 177
  1123. const m__SC_V6_LP64_OFF64 = 178
  1124. const m__SC_V6_LPBIG_OFFBIG = 179
  1125. const m__SC_V7_ILP32_OFF32 = 237
  1126. const m__SC_V7_ILP32_OFFBIG = 238
  1127. const m__SC_V7_LP64_OFF64 = 239
  1128. const m__SC_V7_LPBIG_OFFBIG = 240
  1129. const m__SC_VERSION = 29
  1130. const m__SC_XBS5_ILP32_OFF32 = 125
  1131. const m__SC_XBS5_ILP32_OFFBIG = 126
  1132. const m__SC_XBS5_LP64_OFF64 = 127
  1133. const m__SC_XBS5_LPBIG_OFFBIG = 128
  1134. const m__SC_XOPEN_CRYPT = 92
  1135. const m__SC_XOPEN_ENH_I18N = 93
  1136. const m__SC_XOPEN_LEGACY = 129
  1137. const m__SC_XOPEN_REALTIME = 130
  1138. const m__SC_XOPEN_REALTIME_THREADS = 131
  1139. const m__SC_XOPEN_SHM = 94
  1140. const m__SC_XOPEN_STREAMS = 246
  1141. const m__SC_XOPEN_UNIX = 91
  1142. const m__SC_XOPEN_VERSION = 89
  1143. const m__SC_XOPEN_XCU_VERSION = 90
  1144. const m__SC_XOPEN_XPG2 = 98
  1145. const m__SC_XOPEN_XPG3 = 99
  1146. const m__SC_XOPEN_XPG4 = 100
  1147. const m__STDC_PREDEF_H = 1
  1148. const m__STDINT_HAVE_STDINT_H = 1
  1149. const m__TANDEM_SOURCE = 1
  1150. const m__XOPEN_ENH_I18N = 1
  1151. const m__XOPEN_IOV_MAX = 16
  1152. const m__XOPEN_NAME_MAX = 255
  1153. const m__XOPEN_PATH_MAX = 1024
  1154. const m__XOPEN_UNIX = 1
  1155. const m__XOPEN_VERSION = 700
  1156. const m___ATOMIC_ACQUIRE = 2
  1157. const m___ATOMIC_ACQ_REL = 4
  1158. const m___ATOMIC_CONSUME = 1
  1159. const m___ATOMIC_HLE_ACQUIRE = 65536
  1160. const m___ATOMIC_HLE_RELEASE = 131072
  1161. const m___ATOMIC_RELAXED = 0
  1162. const m___ATOMIC_RELEASE = 3
  1163. const m___ATOMIC_SEQ_CST = 5
  1164. const m___BIGGEST_ALIGNMENT__ = 16
  1165. const m___BIG_ENDIAN = 4321
  1166. const m___BYTE_ORDER = 1234
  1167. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1168. const m___CCGO__ = 1
  1169. const m___CHAR_BIT__ = 8
  1170. const m___DBL_DECIMAL_DIG__ = 17
  1171. const m___DBL_DIG__ = 15
  1172. const m___DBL_HAS_DENORM__ = 1
  1173. const m___DBL_HAS_INFINITY__ = 1
  1174. const m___DBL_HAS_QUIET_NAN__ = 1
  1175. const m___DBL_IS_IEC_60559__ = 2
  1176. const m___DBL_MANT_DIG__ = 53
  1177. const m___DBL_MAX_10_EXP__ = 308
  1178. const m___DBL_MAX_EXP__ = 1024
  1179. const m___DEC128_EPSILON__ = 1e-33
  1180. const m___DEC128_MANT_DIG__ = 34
  1181. const m___DEC128_MAX_EXP__ = 6145
  1182. const m___DEC128_MAX__ = "9.999999999999999999999999999999999E6144"
  1183. const m___DEC128_MIN__ = 1e-6143
  1184. const m___DEC128_SUBNORMAL_MIN__ = 0.000000000000000000000000000000001e-6143
  1185. const m___DEC32_EPSILON__ = 1e-6
  1186. const m___DEC32_MANT_DIG__ = 7
  1187. const m___DEC32_MAX_EXP__ = 97
  1188. const m___DEC32_MAX__ = 9.999999e96
  1189. const m___DEC32_MIN__ = 1e-95
  1190. const m___DEC32_SUBNORMAL_MIN__ = 0.000001e-95
  1191. const m___DEC64_EPSILON__ = 1e-15
  1192. const m___DEC64_MANT_DIG__ = 16
  1193. const m___DEC64_MAX_EXP__ = 385
  1194. const m___DEC64_MAX__ = "9.999999999999999E384"
  1195. const m___DEC64_MIN__ = 1e-383
  1196. const m___DEC64_SUBNORMAL_MIN__ = 0.000000000000001e-383
  1197. const m___DECIMAL_BID_FORMAT__ = 1
  1198. const m___DECIMAL_DIG__ = 17
  1199. const m___DEC_EVAL_METHOD__ = 2
  1200. const m___ELF__ = 1
  1201. const m___EXTENSIONS__ = 1
  1202. const m___FINITE_MATH_ONLY__ = 0
  1203. const m___FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1204. const m___FLT128_DECIMAL_DIG__ = 36
  1205. const m___FLT128_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  1206. const m___FLT128_DIG__ = 33
  1207. const m___FLT128_EPSILON__ = 1.92592994438723585305597794258492732e-34
  1208. const m___FLT128_HAS_DENORM__ = 1
  1209. const m___FLT128_HAS_INFINITY__ = 1
  1210. const m___FLT128_HAS_QUIET_NAN__ = 1
  1211. const m___FLT128_IS_IEC_60559__ = 2
  1212. const m___FLT128_MANT_DIG__ = 113
  1213. const m___FLT128_MAX_10_EXP__ = 4932
  1214. const m___FLT128_MAX_EXP__ = 16384
  1215. const m___FLT128_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1216. const m___FLT128_MIN__ = 3.36210314311209350626267781732175260e-4932
  1217. const m___FLT128_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1218. const m___FLT32X_DECIMAL_DIG__ = 17
  1219. const m___FLT32X_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  1220. const m___FLT32X_DIG__ = 15
  1221. const m___FLT32X_EPSILON__ = 2.22044604925031308084726333618164062e-16
  1222. const m___FLT32X_HAS_DENORM__ = 1
  1223. const m___FLT32X_HAS_INFINITY__ = 1
  1224. const m___FLT32X_HAS_QUIET_NAN__ = 1
  1225. const m___FLT32X_IS_IEC_60559__ = 2
  1226. const m___FLT32X_MANT_DIG__ = 53
  1227. const m___FLT32X_MAX_10_EXP__ = 308
  1228. const m___FLT32X_MAX_EXP__ = 1024
  1229. const m___FLT32X_MAX__ = 1.79769313486231570814527423731704357e+308
  1230. const m___FLT32X_MIN__ = 2.22507385850720138309023271733240406e-308
  1231. const m___FLT32X_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  1232. const m___FLT32_DECIMAL_DIG__ = 9
  1233. const m___FLT32_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  1234. const m___FLT32_DIG__ = 6
  1235. const m___FLT32_EPSILON__ = 1.19209289550781250000000000000000000e-7
  1236. const m___FLT32_HAS_DENORM__ = 1
  1237. const m___FLT32_HAS_INFINITY__ = 1
  1238. const m___FLT32_HAS_QUIET_NAN__ = 1
  1239. const m___FLT32_IS_IEC_60559__ = 2
  1240. const m___FLT32_MANT_DIG__ = 24
  1241. const m___FLT32_MAX_10_EXP__ = 38
  1242. const m___FLT32_MAX_EXP__ = 128
  1243. const m___FLT32_MAX__ = 3.40282346638528859811704183484516925e+38
  1244. const m___FLT32_MIN__ = 1.17549435082228750796873653722224568e-38
  1245. const m___FLT32_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  1246. const m___FLT64X_DECIMAL_DIG__ = 36
  1247. const m___FLT64X_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  1248. const m___FLT64X_DIG__ = 33
  1249. const m___FLT64X_EPSILON__ = 1.92592994438723585305597794258492732e-34
  1250. const m___FLT64X_HAS_DENORM__ = 1
  1251. const m___FLT64X_HAS_INFINITY__ = 1
  1252. const m___FLT64X_HAS_QUIET_NAN__ = 1
  1253. const m___FLT64X_IS_IEC_60559__ = 2
  1254. const m___FLT64X_MANT_DIG__ = 113
  1255. const m___FLT64X_MAX_10_EXP__ = 4932
  1256. const m___FLT64X_MAX_EXP__ = 16384
  1257. const m___FLT64X_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1258. const m___FLT64X_MIN__ = 3.36210314311209350626267781732175260e-4932
  1259. const m___FLT64X_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1260. const m___FLT64_DECIMAL_DIG__ = 17
  1261. const m___FLT64_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  1262. const m___FLT64_DIG__ = 15
  1263. const m___FLT64_EPSILON__ = 2.22044604925031308084726333618164062e-16
  1264. const m___FLT64_HAS_DENORM__ = 1
  1265. const m___FLT64_HAS_INFINITY__ = 1
  1266. const m___FLT64_HAS_QUIET_NAN__ = 1
  1267. const m___FLT64_IS_IEC_60559__ = 2
  1268. const m___FLT64_MANT_DIG__ = 53
  1269. const m___FLT64_MAX_10_EXP__ = 308
  1270. const m___FLT64_MAX_EXP__ = 1024
  1271. const m___FLT64_MAX__ = 1.79769313486231570814527423731704357e+308
  1272. const m___FLT64_MIN__ = 2.22507385850720138309023271733240406e-308
  1273. const m___FLT64_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  1274. const m___FLT_DECIMAL_DIG__ = 9
  1275. const m___FLT_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  1276. const m___FLT_DIG__ = 6
  1277. const m___FLT_EPSILON__ = 1.19209289550781250000000000000000000e-7
  1278. const m___FLT_EVAL_METHOD_TS_18661_3__ = 2
  1279. const m___FLT_EVAL_METHOD__ = 2
  1280. const m___FLT_HAS_DENORM__ = 1
  1281. const m___FLT_HAS_INFINITY__ = 1
  1282. const m___FLT_HAS_QUIET_NAN__ = 1
  1283. const m___FLT_IS_IEC_60559__ = 2
  1284. const m___FLT_MANT_DIG__ = 24
  1285. const m___FLT_MAX_10_EXP__ = 38
  1286. const m___FLT_MAX_EXP__ = 128
  1287. const m___FLT_MAX__ = 3.40282346638528859811704183484516925e+38
  1288. const m___FLT_MIN__ = 1.17549435082228750796873653722224568e-38
  1289. const m___FLT_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  1290. const m___FLT_RADIX__ = 2
  1291. const m___FUNCTION__ = "__func__"
  1292. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  1293. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  1294. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1295. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1296. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  1297. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  1298. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  1299. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  1300. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  1301. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  1302. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  1303. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1304. const m___GCC_CONSTRUCTIVE_SIZE = 64
  1305. const m___GCC_DESTRUCTIVE_SIZE = 64
  1306. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  1307. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  1308. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  1309. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  1310. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  1311. const m___GCC_IEC_559 = 2
  1312. const m___GCC_IEC_559_COMPLEX = 2
  1313. const m___GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
  1314. const m___GNUC_MINOR__ = 2
  1315. const m___GNUC_PATCHLEVEL__ = 0
  1316. const m___GNUC_STDC_INLINE__ = 1
  1317. const m___GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
  1318. const m___GNUC__ = 12
  1319. const m___GXX_ABI_VERSION = 1017
  1320. const m___HAVE_SPECULATION_SAFE_VALUE = 1
  1321. const m___ILP32__ = 1
  1322. const m___INT16_MAX__ = 0x7fff
  1323. const m___INT32_MAX__ = 0x7fffffff
  1324. const m___INT32_TYPE__ = "int"
  1325. const m___INT64_MAX__ = 0x7fffffffffffffff
  1326. const m___INT8_MAX__ = 0x7f
  1327. const m___INTMAX_MAX__ = 0x7fffffffffffffff
  1328. const m___INTMAX_WIDTH__ = 64
  1329. const m___INTPTR_MAX__ = 0x7fffffff
  1330. const m___INTPTR_TYPE__ = "int"
  1331. const m___INTPTR_WIDTH__ = 32
  1332. const m___INT_FAST16_MAX__ = 0x7fffffff
  1333. const m___INT_FAST16_TYPE__ = "int"
  1334. const m___INT_FAST16_WIDTH__ = 32
  1335. const m___INT_FAST32_MAX__ = 0x7fffffff
  1336. const m___INT_FAST32_TYPE__ = "int"
  1337. const m___INT_FAST32_WIDTH__ = 32
  1338. const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
  1339. const m___INT_FAST64_WIDTH__ = 64
  1340. const m___INT_FAST8_MAX__ = 0x7f
  1341. const m___INT_FAST8_WIDTH__ = 8
  1342. const m___INT_LEAST16_MAX__ = 0x7fff
  1343. const m___INT_LEAST16_WIDTH__ = 16
  1344. const m___INT_LEAST32_MAX__ = 0x7fffffff
  1345. const m___INT_LEAST32_TYPE__ = "int"
  1346. const m___INT_LEAST32_WIDTH__ = 32
  1347. const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
  1348. const m___INT_LEAST64_WIDTH__ = 64
  1349. const m___INT_LEAST8_MAX__ = 0x7f
  1350. const m___INT_LEAST8_WIDTH__ = 8
  1351. const m___INT_MAX__ = 0x7fffffff
  1352. const m___INT_WIDTH__ = 32
  1353. const m___LAHF_SAHF__ = 1
  1354. const m___LDBL_DECIMAL_DIG__ = 17
  1355. const m___LDBL_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  1356. const m___LDBL_DIG__ = 15
  1357. const m___LDBL_EPSILON__ = 2.22044604925031308084726333618164062e-16
  1358. const m___LDBL_HAS_DENORM__ = 1
  1359. const m___LDBL_HAS_INFINITY__ = 1
  1360. const m___LDBL_HAS_QUIET_NAN__ = 1
  1361. const m___LDBL_IS_IEC_60559__ = 2
  1362. const m___LDBL_MANT_DIG__ = 53
  1363. const m___LDBL_MAX_10_EXP__ = 308
  1364. const m___LDBL_MAX_EXP__ = 1024
  1365. const m___LDBL_MAX__ = 1.79769313486231570814527423731704357e+308
  1366. const m___LDBL_MIN__ = 2.22507385850720138309023271733240406e-308
  1367. const m___LDBL_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  1368. const m___LITTLE_ENDIAN = 1234
  1369. const m___LONG_DOUBLE_64__ = 1
  1370. const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
  1371. const m___LONG_LONG_WIDTH__ = 64
  1372. const m___LONG_MAX = 0x7fffffff
  1373. const m___LONG_MAX__ = 0x7fffffff
  1374. const m___LONG_WIDTH__ = 32
  1375. const m___NO_INLINE__ = 1
  1376. const m___ORDER_BIG_ENDIAN__ = 4321
  1377. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1378. const m___ORDER_PDP_ENDIAN__ = 3412
  1379. const m___PDP_ENDIAN = 3412
  1380. const m___PIC__ = 2
  1381. const m___PIE__ = 2
  1382. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1383. const m___PRETTY_FUNCTION__ = "__func__"
  1384. const m___PTRDIFF_MAX__ = 0x7fffffff
  1385. const m___PTRDIFF_TYPE__ = "int"
  1386. const m___PTRDIFF_WIDTH__ = 32
  1387. const m___SCHAR_MAX__ = 0x7f
  1388. const m___SCHAR_WIDTH__ = 8
  1389. const m___SEG_FS = 1
  1390. const m___SEG_GS = 1
  1391. const m___SHRT_MAX__ = 0x7fff
  1392. const m___SHRT_WIDTH__ = 16
  1393. const m___SIG_ATOMIC_MAX__ = 0x7fffffff
  1394. const m___SIG_ATOMIC_TYPE__ = "int"
  1395. const m___SIG_ATOMIC_WIDTH__ = 32
  1396. const m___SIZEOF_DOUBLE__ = 8
  1397. const m___SIZEOF_FLOAT128__ = 16
  1398. const m___SIZEOF_FLOAT80__ = 12
  1399. const m___SIZEOF_FLOAT__ = 4
  1400. const m___SIZEOF_INT__ = 4
  1401. const m___SIZEOF_LONG_DOUBLE__ = 8
  1402. const m___SIZEOF_LONG_LONG__ = 8
  1403. const m___SIZEOF_LONG__ = 4
  1404. const m___SIZEOF_POINTER__ = 4
  1405. const m___SIZEOF_PTRDIFF_T__ = 4
  1406. const m___SIZEOF_SHORT__ = 2
  1407. const m___SIZEOF_SIZE_T__ = 4
  1408. const m___SIZEOF_WCHAR_T__ = 4
  1409. const m___SIZEOF_WINT_T__ = 4
  1410. const m___SIZE_MAX__ = 0xffffffff
  1411. const m___SIZE_WIDTH__ = 32
  1412. const m___STDC_HOSTED__ = 1
  1413. const m___STDC_IEC_559_COMPLEX__ = 1
  1414. const m___STDC_IEC_559__ = 1
  1415. const m___STDC_IEC_60559_BFP__ = 201404
  1416. const m___STDC_IEC_60559_COMPLEX__ = 201404
  1417. const m___STDC_ISO_10646__ = 201706
  1418. const m___STDC_UTF_16__ = 1
  1419. const m___STDC_UTF_32__ = 1
  1420. const m___STDC_VERSION__ = 201710
  1421. const m___STDC_WANT_IEC_60559_ATTRIBS_EXT__ = 1
  1422. const m___STDC_WANT_IEC_60559_BFP_EXT__ = 1
  1423. const m___STDC_WANT_IEC_60559_DFP_EXT__ = 1
  1424. const m___STDC_WANT_IEC_60559_FUNCS_EXT__ = 1
  1425. const m___STDC_WANT_IEC_60559_TYPES_EXT__ = 1
  1426. const m___STDC_WANT_LIB_EXT2__ = 1
  1427. const m___STDC_WANT_MATH_SPEC_FUNCS__ = 1
  1428. const m___STDC__ = 1
  1429. const m___UINT16_MAX__ = 0xffff
  1430. const m___UINT32_MAX__ = 0xffffffff
  1431. const m___UINT64_MAX__ = "0xffffffffffffffffU"
  1432. const m___UINT8_MAX__ = 0xff
  1433. const m___UINTMAX_MAX__ = "0xffffffffffffffffU"
  1434. const m___UINTPTR_MAX__ = 0xffffffff
  1435. const m___UINT_FAST16_MAX__ = 0xffffffff
  1436. const m___UINT_FAST32_MAX__ = 0xffffffff
  1437. const m___UINT_FAST64_MAX__ = "0xffffffffffffffffU"
  1438. const m___UINT_FAST8_MAX__ = 0xff
  1439. const m___UINT_LEAST16_MAX__ = 0xffff
  1440. const m___UINT_LEAST32_MAX__ = 0xffffffff
  1441. const m___UINT_LEAST64_MAX__ = "0xffffffffffffffffU"
  1442. const m___UINT_LEAST8_MAX__ = 0xff
  1443. const m___USE_GNU_GETTEXT = 1
  1444. const m___USE_TIME_BITS64 = 1
  1445. const m___VERSION__ = "12.2.0"
  1446. const m___WCHAR_MAX__ = 0x7fffffff
  1447. const m___WCHAR_WIDTH__ = 32
  1448. const m___WINT_MAX__ = 0xffffffff
  1449. const m___WINT_MIN__ = 0
  1450. const m___WINT_WIDTH__ = 32
  1451. const m___code_model_32__ = 1
  1452. const m___gnu_linux__ = 1
  1453. const m___i386 = 1
  1454. const m___i386__ = 1
  1455. const m___i686 = 1
  1456. const m___i686__ = 1
  1457. const m___inline = "inline"
  1458. const m___linux = 1
  1459. const m___linux__ = 1
  1460. const m___pentiumpro = 1
  1461. const m___pentiumpro__ = 1
  1462. const m___pic__ = 2
  1463. const m___pie__ = 2
  1464. const m___restrict = "restrict"
  1465. const m___restrict_arr = "restrict"
  1466. const m___tm_gmtoff = "tm_gmtoff"
  1467. const m___tm_zone = "tm_zone"
  1468. const m___unix = 1
  1469. const m___unix__ = 1
  1470. const m_alloca = "__builtin_alloca"
  1471. const m_i386 = 1
  1472. const m_linux = 1
  1473. const m_math_errhandling = 2
  1474. const m_static_assert = "_Static_assert"
  1475. const m_unix = 1
  1476. type t__builtin_va_list = uintptr
  1477. type t__predefined_size_t = uint32
  1478. type t__predefined_wchar_t = int32
  1479. type t__predefined_ptrdiff_t = int32
  1480. type Tuintptr_t = uint32
  1481. type Tintptr_t = int32
  1482. type Tint8_t = int8
  1483. type Tint16_t = int16
  1484. type Tint32_t = int32
  1485. type Tint64_t = int64
  1486. type Tintmax_t = int64
  1487. type Tuint8_t = uint8
  1488. type Tuint16_t = uint16
  1489. type Tuint32_t = uint32
  1490. type Tuint64_t = uint64
  1491. type Tuintmax_t = uint64
  1492. type Tint_fast8_t = int8
  1493. type Tint_fast64_t = int64
  1494. type Tint_least8_t = int8
  1495. type Tint_least16_t = int16
  1496. type Tint_least32_t = int32
  1497. type Tint_least64_t = int64
  1498. type Tuint_fast8_t = uint8
  1499. type Tuint_fast64_t = uint64
  1500. type Tuint_least8_t = uint8
  1501. type Tuint_least16_t = uint16
  1502. type Tuint_least32_t = uint32
  1503. type Tuint_least64_t = uint64
  1504. type Tint_fast16_t = int32
  1505. type Tint_fast32_t = int32
  1506. type Tuint_fast16_t = uint32
  1507. type Tuint_fast32_t = uint32
  1508. type Twchar_t = int32
  1509. type Tsize_t = uint32
  1510. type Tdiv_t = struct {
  1511. Fquot int32
  1512. Frem int32
  1513. }
  1514. type Tldiv_t = struct {
  1515. Fquot int32
  1516. Frem int32
  1517. }
  1518. type Tlldiv_t = struct {
  1519. Fquot int64
  1520. Frem int64
  1521. }
  1522. type Tssize_t = int32
  1523. type Toff_t = int64
  1524. type Tva_list = uintptr
  1525. type t__isoc_va_list = uintptr
  1526. type Tfpos_t = struct {
  1527. F__lldata [0]int64
  1528. F__align [0]float64
  1529. F__opaque [16]int8
  1530. }
  1531. type T_G_fpos64_t = Tfpos_t
  1532. type Tcookie_io_functions_t = struct {
  1533. Fread uintptr
  1534. Fwrite uintptr
  1535. Fseek uintptr
  1536. Fclose1 uintptr
  1537. }
  1538. type T_IO_cookie_io_functions_t = Tcookie_io_functions_t
  1539. type Tlocale_t = uintptr
  1540. type Tfloat_t = float64
  1541. type Tdouble_t = float64
  1542. type Tpid_t = int32
  1543. type Tuid_t = uint32
  1544. type Tgid_t = uint32
  1545. type Tuseconds_t = uint32
  1546. type Tmax_align_t = struct {
  1547. F__ll int64
  1548. F__ld float64
  1549. }
  1550. type Tptrdiff_t = int32
  1551. type Tregister_t = int32
  1552. type Ttime_t = int64
  1553. type Tsuseconds_t = int64
  1554. type Tu_int64_t = uint64
  1555. type Tmode_t = uint32
  1556. type Tnlink_t = uint32
  1557. type Tino_t = uint64
  1558. type Tdev_t = uint64
  1559. type Tblksize_t = int32
  1560. type Tblkcnt_t = int64
  1561. type Tfsblkcnt_t = uint64
  1562. type Tfsfilcnt_t = uint64
  1563. type Ttimer_t = uintptr
  1564. type Tclockid_t = int32
  1565. type Tclock_t = int32
  1566. type Tid_t = uint32
  1567. type Tkey_t = int32
  1568. type Tpthread_t = uintptr
  1569. type Tpthread_once_t = int32
  1570. type Tpthread_key_t = uint32
  1571. type Tpthread_spinlock_t = int32
  1572. type Tpthread_mutexattr_t = struct {
  1573. F__attr uint32
  1574. }
  1575. type Tpthread_condattr_t = struct {
  1576. F__attr uint32
  1577. }
  1578. type Tpthread_barrierattr_t = struct {
  1579. F__attr uint32
  1580. }
  1581. type Tpthread_rwlockattr_t = struct {
  1582. F__attr [2]uint32
  1583. }
  1584. type Tpthread_attr_t = struct {
  1585. F__u struct {
  1586. F__vi [0][9]int32
  1587. F__s [0][9]uint32
  1588. F__i [9]int32
  1589. }
  1590. }
  1591. type Tpthread_mutex_t = struct {
  1592. F__u struct {
  1593. F__vi [0][6]int32
  1594. F__p [0][6]uintptr
  1595. F__i [6]int32
  1596. }
  1597. F__ccgo_room int32
  1598. }
  1599. type Tpthread_cond_t = struct {
  1600. F__u struct {
  1601. F__vi [0][12]int32
  1602. F__p [0][12]uintptr
  1603. F__i [12]int32
  1604. }
  1605. }
  1606. type Tpthread_rwlock_t = struct {
  1607. F__u struct {
  1608. F__vi [0][8]int32
  1609. F__p [0][8]uintptr
  1610. F__i [8]int32
  1611. }
  1612. }
  1613. type Tpthread_barrier_t = struct {
  1614. F__u struct {
  1615. F__vi [0][5]int32
  1616. F__p [0][5]uintptr
  1617. F__i [5]int32
  1618. }
  1619. }
  1620. type Tu_int8_t = uint8
  1621. type Tu_int16_t = uint16
  1622. type Tu_int32_t = uint32
  1623. type Tcaddr_t = uintptr
  1624. type Tu_char = uint8
  1625. type Tu_short = uint16
  1626. type Tushort = uint16
  1627. type Tu_int = uint32
  1628. type Tuint = uint32
  1629. type Tu_long = uint32
  1630. type Tulong = uint32
  1631. type Tquad_t = int64
  1632. type Tu_quad_t = uint64
  1633. type Ttimeval = struct {
  1634. Ftv_sec Ttime_t
  1635. Ftv_usec Tsuseconds_t
  1636. }
  1637. type Ttimespec = struct {
  1638. Ftv_sec Ttime_t
  1639. Ftv_nsec int32
  1640. F__ccgo12 uint32
  1641. }
  1642. type Tsigset_t = struct {
  1643. F__bits [32]uint32
  1644. }
  1645. type t__sigset_t = Tsigset_t
  1646. type Tfd_mask = uint32
  1647. type Tfd_set = struct {
  1648. Ffds_bits [32]uint32
  1649. }
  1650. type Tstat = struct {
  1651. Fst_dev Tdev_t
  1652. F__st_dev_padding int32
  1653. F__st_ino_truncated int32
  1654. Fst_mode Tmode_t
  1655. Fst_nlink Tnlink_t
  1656. Fst_uid Tuid_t
  1657. Fst_gid Tgid_t
  1658. Fst_rdev Tdev_t
  1659. F__st_rdev_padding int32
  1660. Fst_size Toff_t
  1661. Fst_blksize Tblksize_t
  1662. Fst_blocks Tblkcnt_t
  1663. F__st_atim32 struct {
  1664. Ftv_sec int32
  1665. Ftv_nsec int32
  1666. }
  1667. F__st_mtim32 struct {
  1668. Ftv_sec int32
  1669. Ftv_nsec int32
  1670. }
  1671. F__st_ctim32 struct {
  1672. Ftv_sec int32
  1673. Ftv_nsec int32
  1674. }
  1675. Fst_ino Tino_t
  1676. Fst_atim Ttimespec
  1677. Fst_mtim Ttimespec
  1678. Fst_ctim Ttimespec
  1679. }
  1680. type Tstatx_timestamp = struct {
  1681. Ftv_sec Tint64_t
  1682. Ftv_nsec Tuint32_t
  1683. F__pad Tuint32_t
  1684. }
  1685. type Tstatx = struct {
  1686. Fstx_mask Tuint32_t
  1687. Fstx_blksize Tuint32_t
  1688. Fstx_attributes Tuint64_t
  1689. Fstx_nlink Tuint32_t
  1690. Fstx_uid Tuint32_t
  1691. Fstx_gid Tuint32_t
  1692. Fstx_mode Tuint16_t
  1693. F__pad0 [1]Tuint16_t
  1694. Fstx_ino Tuint64_t
  1695. Fstx_size Tuint64_t
  1696. Fstx_blocks Tuint64_t
  1697. Fstx_attributes_mask Tuint64_t
  1698. Fstx_atime Tstatx_timestamp
  1699. Fstx_btime Tstatx_timestamp
  1700. Fstx_ctime Tstatx_timestamp
  1701. Fstx_mtime Tstatx_timestamp
  1702. Fstx_rdev_major Tuint32_t
  1703. Fstx_rdev_minor Tuint32_t
  1704. Fstx_dev_major Tuint32_t
  1705. Fstx_dev_minor Tuint32_t
  1706. F__pad1 [14]Tuint64_t
  1707. }
  1708. type Ttm = struct {
  1709. Ftm_sec int32
  1710. Ftm_min int32
  1711. Ftm_hour int32
  1712. Ftm_mday int32
  1713. Ftm_mon int32
  1714. Ftm_year int32
  1715. Ftm_wday int32
  1716. Ftm_yday int32
  1717. Ftm_isdst int32
  1718. Ftm_gmtoff int32
  1719. Ftm_zone uintptr
  1720. }
  1721. type Titimerspec = struct {
  1722. Fit_interval Ttimespec
  1723. Fit_value Ttimespec
  1724. }
  1725. type TFcChar8 = uint8
  1726. type TFcChar16 = uint16
  1727. type TFcChar32 = uint32
  1728. type TFcBool = int32
  1729. type TFcType = int32
  1730. type __FcType = int32
  1731. const _FcTypeUnknown = -1
  1732. const _FcTypeVoid = 0
  1733. const _FcTypeInteger = 1
  1734. const _FcTypeDouble = 2
  1735. const _FcTypeString = 3
  1736. const _FcTypeBool = 4
  1737. const _FcTypeMatrix = 5
  1738. const _FcTypeCharSet = 6
  1739. const _FcTypeFTFace = 7
  1740. const _FcTypeLangSet = 8
  1741. const _FcTypeRange = 9
  1742. type TFcMatrix = struct {
  1743. Fxx float64
  1744. Fxy float64
  1745. Fyx float64
  1746. Fyy float64
  1747. }
  1748. type T_FcMatrix = TFcMatrix
  1749. type TFcCharSet = struct {
  1750. Fref TFcRef
  1751. Fnum int32
  1752. Fleaves_offset Tintptr_t
  1753. Fnumbers_offset Tintptr_t
  1754. }
  1755. type T_FcCharSet = TFcCharSet
  1756. type TFcObjectType = struct {
  1757. Fobject uintptr
  1758. Ftype1 TFcType
  1759. }
  1760. type T_FcObjectType = TFcObjectType
  1761. type TFcConstant = struct {
  1762. Fname uintptr
  1763. Fobject uintptr
  1764. Fvalue int32
  1765. }
  1766. type T_FcConstant = TFcConstant
  1767. type TFcResult = int32
  1768. type __FcResult = int32
  1769. const _FcResultMatch = 0
  1770. const _FcResultNoMatch = 1
  1771. const _FcResultTypeMismatch = 2
  1772. const _FcResultNoId = 3
  1773. const _FcResultOutOfMemory = 4
  1774. type TFcValueBinding = int32
  1775. type __FcValueBinding = int32
  1776. const _FcValueBindingWeak = 0
  1777. const _FcValueBindingStrong = 1
  1778. const _FcValueBindingSame = 2
  1779. const _FcValueBindingEnd = 2147483647
  1780. type TFcPattern = struct {
  1781. Fnum int32
  1782. Fsize int32
  1783. Felts_offset Tintptr_t
  1784. Fref TFcRef
  1785. }
  1786. type T_FcPattern = TFcPattern
  1787. type TFcPatternIter = struct {
  1788. Fdummy1 uintptr
  1789. Fdummy2 uintptr
  1790. }
  1791. type T_FcPatternIter = TFcPatternIter
  1792. type TFcRange = struct {
  1793. Fbegin float64
  1794. Fend float64
  1795. }
  1796. type T_FcRange = TFcRange
  1797. type TFcValue = struct {
  1798. Ftype1 TFcType
  1799. Fu struct {
  1800. Fi [0]int32
  1801. Fb [0]TFcBool
  1802. Fd [0]float64
  1803. Fm [0]uintptr
  1804. Fc [0]uintptr
  1805. Ff [0]uintptr
  1806. Fl [0]uintptr
  1807. Fr [0]uintptr
  1808. Fs uintptr
  1809. F__ccgo_pad9 [4]byte
  1810. }
  1811. }
  1812. type T_FcValue = TFcValue
  1813. type TFcFontSet = struct {
  1814. Fnfont int32
  1815. Fsfont int32
  1816. Ffonts uintptr
  1817. }
  1818. type T_FcFontSet = TFcFontSet
  1819. type TFcObjectSet = struct {
  1820. Fnobject int32
  1821. Fsobject int32
  1822. Fobjects uintptr
  1823. }
  1824. type T_FcObjectSet = TFcObjectSet
  1825. type TFcMatchKind = int32
  1826. type __FcMatchKind = int32
  1827. const _FcMatchPattern = 0
  1828. const _FcMatchFont = 1
  1829. const _FcMatchScan = 2
  1830. const _FcMatchKindEnd = 3
  1831. const _FcMatchKindBegin = 0
  1832. type TFcLangResult = int32
  1833. type __FcLangResult = int32
  1834. const _FcLangEqual = 0
  1835. const _FcLangDifferentCountry = 1
  1836. const _FcLangDifferentTerritory = 1
  1837. const _FcLangDifferentLang = 2
  1838. type TFcSetName = int32
  1839. type __FcSetName = int32
  1840. const _FcSetSystem = 0
  1841. const _FcSetApplication = 1
  1842. type TFcConfigFileInfoIter = struct {
  1843. Fdummy1 uintptr
  1844. Fdummy2 uintptr
  1845. Fdummy3 uintptr
  1846. }
  1847. type T_FcConfigFileInfoIter = TFcConfigFileInfoIter
  1848. type TFcAtomic = struct {
  1849. Ffile uintptr
  1850. Fnew1 uintptr
  1851. Flck uintptr
  1852. Ftmp uintptr
  1853. }
  1854. type T_FcAtomic = TFcAtomic
  1855. type TFcEndian = int32
  1856. const _FcEndianBig = 0
  1857. const _FcEndianLittle = 1
  1858. type TFcConfig = struct {
  1859. FconfigDirs uintptr
  1860. FconfigMapDirs uintptr
  1861. FfontDirs uintptr
  1862. FcacheDirs uintptr
  1863. FconfigFiles uintptr
  1864. Fsubst [3]uintptr
  1865. FmaxObjects int32
  1866. FacceptGlobs uintptr
  1867. FrejectGlobs uintptr
  1868. FacceptPatterns uintptr
  1869. FrejectPatterns uintptr
  1870. Ffonts [2]uintptr
  1871. FrescanTime Ttime_t
  1872. FrescanInterval int32
  1873. Fref TFcRef
  1874. Fexpr_pool uintptr
  1875. FsysRoot uintptr
  1876. FavailConfigFiles uintptr
  1877. FrulesetList uintptr
  1878. }
  1879. type T_FcConfig = TFcConfig
  1880. type TFcStrList = struct {
  1881. Fset uintptr
  1882. Fn int32
  1883. }
  1884. type T_FcStrList = TFcStrList
  1885. type TFcStrSet = struct {
  1886. Fref TFcRef
  1887. Fnum int32
  1888. Fsize int32
  1889. Fstrs uintptr
  1890. Fcontrol uint32
  1891. }
  1892. type T_FcStrSet = TFcStrSet
  1893. type TFcCache = struct {
  1894. Fmagic uint32
  1895. Fversion int32
  1896. Fsize Tintptr_t
  1897. Fdir Tintptr_t
  1898. Fdirs Tintptr_t
  1899. Fdirs_count int32
  1900. Fset Tintptr_t
  1901. Fchecksum int32
  1902. Fchecksum_nano Tint64_t
  1903. }
  1904. type T_FcCache = TFcCache
  1905. type Tfc_mutex_impl_t = int32
  1906. type TFcMutex = int32
  1907. type Tfc_atomic_int_t = int32
  1908. type TFcRef = struct {
  1909. Fcount Tfc_atomic_int_t
  1910. }
  1911. type T_FcRef = TFcRef
  1912. type T_static_assert_on_line_141_failed = [1]int32
  1913. type TFcValueListPtr = uintptr
  1914. type T_FcValueList = struct {
  1915. Fnext uintptr
  1916. Fvalue TFcValue
  1917. Fbinding TFcValueBinding
  1918. }
  1919. type TFcValueList = struct {
  1920. Fnext uintptr
  1921. Fvalue TFcValue
  1922. Fbinding TFcValueBinding
  1923. }
  1924. type TFcObject = int32
  1925. type TFcPatternEltPtr = uintptr
  1926. type T_FcPatternElt = struct {
  1927. Fobject TFcObject
  1928. Fvalues uintptr
  1929. }
  1930. type TFcPatternElt = struct {
  1931. Fobject TFcObject
  1932. Fvalues uintptr
  1933. }
  1934. type TFcOp = int32
  1935. type __FcOp = int32
  1936. const _FcOpInteger = 0
  1937. const _FcOpDouble = 1
  1938. const _FcOpString = 2
  1939. const _FcOpMatrix = 3
  1940. const _FcOpRange = 4
  1941. const _FcOpBool = 5
  1942. const _FcOpCharSet = 6
  1943. const _FcOpLangSet = 7
  1944. const _FcOpNil = 8
  1945. const _FcOpField = 9
  1946. const _FcOpConst = 10
  1947. const _FcOpAssign = 11
  1948. const _FcOpAssignReplace = 12
  1949. const _FcOpPrependFirst = 13
  1950. const _FcOpPrepend = 14
  1951. const _FcOpAppend = 15
  1952. const _FcOpAppendLast = 16
  1953. const _FcOpDelete = 17
  1954. const _FcOpDeleteAll = 18
  1955. const _FcOpQuest = 19
  1956. const _FcOpOr = 20
  1957. const _FcOpAnd = 21
  1958. const _FcOpEqual = 22
  1959. const _FcOpNotEqual = 23
  1960. const _FcOpContains = 24
  1961. const _FcOpListing = 25
  1962. const _FcOpNotContains = 26
  1963. const _FcOpLess = 27
  1964. const _FcOpLessEqual = 28
  1965. const _FcOpMore = 29
  1966. const _FcOpMoreEqual = 30
  1967. const _FcOpPlus = 31
  1968. const _FcOpMinus = 32
  1969. const _FcOpTimes = 33
  1970. const _FcOpDivide = 34
  1971. const _FcOpNot = 35
  1972. const _FcOpComma = 36
  1973. const _FcOpFloor = 37
  1974. const _FcOpCeil = 38
  1975. const _FcOpRound = 39
  1976. const _FcOpTrunc = 40
  1977. const _FcOpInvalid = 41
  1978. type TFcOpFlags = int32
  1979. type __FcOpFlags = int32
  1980. const _FcOpFlagIgnoreBlanks = 1
  1981. type TFcExprMatrix = struct {
  1982. Fxx uintptr
  1983. Fxy uintptr
  1984. Fyx uintptr
  1985. Fyy uintptr
  1986. }
  1987. type T_FcExprMatrix = TFcExprMatrix
  1988. type TFcExprName = struct {
  1989. Fobject TFcObject
  1990. Fkind TFcMatchKind
  1991. }
  1992. type T_FcExprName = TFcExprName
  1993. type TFcExpr = struct {
  1994. Fop TFcOp
  1995. Fu struct {
  1996. Fdval [0]float64
  1997. Fsval [0]uintptr
  1998. Fmexpr [0]uintptr
  1999. Fbval [0]TFcBool
  2000. Fcval [0]uintptr
  2001. Flval [0]uintptr
  2002. Frval [0]uintptr
  2003. Fname [0]TFcExprName
  2004. Fconstant [0]uintptr
  2005. Ftree [0]struct {
  2006. Fleft uintptr
  2007. Fright uintptr
  2008. }
  2009. Fival int32
  2010. F__ccgo_pad11 [4]byte
  2011. }
  2012. }
  2013. type T_FcExpr = TFcExpr
  2014. type TFcExprPage = struct {
  2015. Fnext_page uintptr
  2016. Fnext uintptr
  2017. Fexprs [340]TFcExpr
  2018. }
  2019. type T_FcExprPage = TFcExprPage
  2020. type TFcQual = int32
  2021. type __FcQual = int32
  2022. const _FcQualAny = 0
  2023. const _FcQualAll = 1
  2024. const _FcQualFirst = 2
  2025. const _FcQualNotFirst = 3
  2026. type TFcTest = struct {
  2027. Fkind TFcMatchKind
  2028. Fqual TFcQual
  2029. Fobject TFcObject
  2030. Fop TFcOp
  2031. Fexpr uintptr
  2032. }
  2033. type T_FcTest = TFcTest
  2034. type TFcEdit = struct {
  2035. Fobject TFcObject
  2036. Fop TFcOp
  2037. Fexpr uintptr
  2038. Fbinding TFcValueBinding
  2039. }
  2040. type T_FcEdit = TFcEdit
  2041. type TFcDestroyFunc = uintptr
  2042. type TFcPtrListIter = struct {
  2043. Fdummy1 uintptr
  2044. Fdummy2 uintptr
  2045. Fdummy3 uintptr
  2046. }
  2047. type T_FcPtrListIter = TFcPtrListIter
  2048. type TFcRuleType = int32
  2049. type __FcRuleType = int32
  2050. const _FcRuleUnknown = 0
  2051. const _FcRuleTest = 1
  2052. const _FcRuleEdit = 2
  2053. type TFcRule = struct {
  2054. Fnext uintptr
  2055. Ftype1 TFcRuleType
  2056. Fu struct {
  2057. Fedit [0]uintptr
  2058. Ftest uintptr
  2059. }
  2060. }
  2061. type T_FcRule = TFcRule
  2062. type TFcRuleSet = struct {
  2063. Fref TFcRef
  2064. Fname uintptr
  2065. Fdescription uintptr
  2066. Fdomain uintptr
  2067. Fenabled TFcBool
  2068. Fsubst [3]uintptr
  2069. }
  2070. type T_FcRuleSet = TFcRuleSet
  2071. type TFcCharLeaf = struct {
  2072. Fmap1 [8]TFcChar32
  2073. }
  2074. type T_FcCharLeaf = TFcCharLeaf
  2075. type TFcStrBuf = struct {
  2076. Fbuf uintptr
  2077. Fallocated TFcBool
  2078. Ffailed TFcBool
  2079. Flen1 int32
  2080. Fsize int32
  2081. Fbuf_static [64]TFcChar8
  2082. }
  2083. type T_FcStrBuf = TFcStrBuf
  2084. type TFcHashFunc = uintptr
  2085. type TFcCompareFunc = uintptr
  2086. type TFcCopyFunc = uintptr
  2087. type TFcAlign = struct {
  2088. Fi [0]int32
  2089. Fip [0]Tintptr_t
  2090. Fb [0]TFcBool
  2091. Fp [0]uintptr
  2092. Fd float64
  2093. }
  2094. type T_FcAlign = TFcAlign
  2095. type TFcSerializeBucket = struct {
  2096. Fobject uintptr
  2097. Fhash Tuintptr_t
  2098. Foffset Tintptr_t
  2099. }
  2100. type T_FcSerializeBucket = TFcSerializeBucket
  2101. type TFcSerialize = struct {
  2102. Fsize Tintptr_t
  2103. Fcs_freezer uintptr
  2104. Flinear uintptr
  2105. Fbuckets uintptr
  2106. Fbuckets_count Tsize_t
  2107. Fbuckets_used Tsize_t
  2108. Fbuckets_used_max Tsize_t
  2109. }
  2110. type T_FcSerialize = TFcSerialize
  2111. type TFcGlyphName = struct {
  2112. Fucs TFcChar32
  2113. Fname [1]TFcChar8
  2114. }
  2115. type T_FcGlyphName = TFcGlyphName
  2116. type TFcCaseFold = struct {
  2117. Fupper TFcChar32
  2118. F__ccgo4 uint16
  2119. Foffset int16
  2120. }
  2121. type T_FcCaseFold = TFcCaseFold
  2122. type TFcFileTime = struct {
  2123. Ftime Ttime_t
  2124. Fset TFcBool
  2125. }
  2126. type T_FcFileTime = TFcFileTime
  2127. type TFcStatFS = struct {
  2128. Fis_remote_fs TFcBool
  2129. Fis_mtime_broken TFcBool
  2130. }
  2131. type T_FcStatFS = TFcStatFS
  2132. type TFcValuePromotionBuffer = struct {
  2133. Fu struct {
  2134. Fi [0]int32
  2135. Fl [0]int32
  2136. Fc [0][256]int8
  2137. Fd float64
  2138. F__ccgo_pad4 [248]byte
  2139. }
  2140. }
  2141. type T_FcValuePromotionBuffer = TFcValuePromotionBuffer
  2142. const _FC_INVALID_OBJECT = 0
  2143. const _FC_FAMILY_OBJECT = 1
  2144. const _FC_FAMILYLANG_OBJECT = 2
  2145. const _FC_STYLE_OBJECT = 3
  2146. const _FC_STYLELANG_OBJECT = 4
  2147. const _FC_FULLNAME_OBJECT = 5
  2148. const _FC_FULLNAMELANG_OBJECT = 6
  2149. const _FC_SLANT_OBJECT = 7
  2150. const _FC_WEIGHT_OBJECT = 8
  2151. const _FC_WIDTH_OBJECT = 9
  2152. const _FC_SIZE_OBJECT = 10
  2153. const _FC_ASPECT_OBJECT = 11
  2154. const _FC_PIXEL_SIZE_OBJECT = 12
  2155. const _FC_SPACING_OBJECT = 13
  2156. const _FC_FOUNDRY_OBJECT = 14
  2157. const _FC_ANTIALIAS_OBJECT = 15
  2158. const _FC_HINT_STYLE_OBJECT = 16
  2159. const _FC_HINTING_OBJECT = 17
  2160. const _FC_VERTICAL_LAYOUT_OBJECT = 18
  2161. const _FC_AUTOHINT_OBJECT = 19
  2162. const _FC_GLOBAL_ADVANCE_OBJECT = 20
  2163. const _FC_FILE_OBJECT = 21
  2164. const _FC_INDEX_OBJECT = 22
  2165. const _FC_RASTERIZER_OBJECT = 23
  2166. const _FC_OUTLINE_OBJECT = 24
  2167. const _FC_SCALABLE_OBJECT = 25
  2168. const _FC_DPI_OBJECT = 26
  2169. const _FC_RGBA_OBJECT = 27
  2170. const _FC_SCALE_OBJECT = 28
  2171. const _FC_MINSPACE_OBJECT = 29
  2172. const _FC_CHARWIDTH_OBJECT = 30
  2173. const _FC_CHAR_HEIGHT_OBJECT = 31
  2174. const _FC_MATRIX_OBJECT = 32
  2175. const _FC_CHARSET_OBJECT = 33
  2176. const _FC_LANG_OBJECT = 34
  2177. const _FC_FONTVERSION_OBJECT = 35
  2178. const _FC_CAPABILITY_OBJECT = 36
  2179. const _FC_FONTFORMAT_OBJECT = 37
  2180. const _FC_EMBOLDEN_OBJECT = 38
  2181. const _FC_EMBEDDED_BITMAP_OBJECT = 39
  2182. const _FC_DECORATIVE_OBJECT = 40
  2183. const _FC_LCD_FILTER_OBJECT = 41
  2184. const _FC_NAMELANG_OBJECT = 42
  2185. const _FC_FONT_FEATURES_OBJECT = 43
  2186. const _FC_PRGNAME_OBJECT = 44
  2187. const _FC_HASH_OBJECT = 45
  2188. const _FC_POSTSCRIPT_NAME_OBJECT = 46
  2189. const _FC_COLOR_OBJECT = 47
  2190. const _FC_SYMBOL_OBJECT = 48
  2191. const _FC_FONT_VARIATIONS_OBJECT = 49
  2192. const _FC_VARIABLE_OBJECT = 50
  2193. const _FC_FONT_HAS_HINT_OBJECT = 51
  2194. const _FC_ORDER_OBJECT = 52
  2195. const _FC_ONE_AFTER_MAX_BASE_OBJECT = 53
  2196. func XIA__FcAtomicCreate(tls *libc.TLS, file uintptr) (r uintptr) {
  2197. var atomic uintptr
  2198. var file_len, lck_len, new_len, tmp_len, total_len int32
  2199. _, _, _, _, _, _ = atomic, file_len, lck_len, new_len, tmp_len, total_len
  2200. file_len = libc.Int32FromUint32(libc.Xstrlen(tls, file))
  2201. new_len = libc.Int32FromUint32(libc.Uint32FromInt32(file_len) + uint32(5))
  2202. lck_len = libc.Int32FromUint32(libc.Uint32FromInt32(file_len) + uint32(5))
  2203. tmp_len = libc.Int32FromUint32(libc.Uint32FromInt32(file_len) + uint32(12))
  2204. 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))
  2205. atomic = libc.Xmalloc(tls, libc.Uint32FromInt32(total_len))
  2206. if !(atomic != 0) {
  2207. return uintptr(0)
  2208. }
  2209. (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile = atomic + libc.UintptrFromInt32(1)*16
  2210. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, file)
  2211. (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 = (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile + uintptr(file_len) + uintptr(1)
  2212. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, file)
  2213. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, __ccgo_ts)
  2214. (*TFcAtomic)(unsafe.Pointer(atomic)).Flck = (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 + uintptr(new_len) + uintptr(1)
  2215. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, file)
  2216. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, __ccgo_ts+5)
  2217. (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp = (*TFcAtomic)(unsafe.Pointer(atomic)).Flck + uintptr(lck_len) + uintptr(1)
  2218. return atomic
  2219. }
  2220. var XFcAtomicCreate = XIA__FcAtomicCreate
  2221. func XIA__FcAtomicLock(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2222. bp := tls.Alloc(160)
  2223. defer tls.Free(160)
  2224. var f uintptr
  2225. var fd, ret int32
  2226. var no_link TFcBool
  2227. var now Ttime_t
  2228. var _ /* lck_stat at bp+0 */ Tstat
  2229. _, _, _, _, _ = f, fd, no_link, now, ret
  2230. fd = -int32(1)
  2231. f = uintptr(0)
  2232. no_link = m_FcFalse
  2233. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile)
  2234. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, __ccgo_ts+10)
  2235. fd = XFcMakeTempfile(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2236. if fd < 0 {
  2237. return m_FcFalse
  2238. }
  2239. f = libc.Xfdopen(tls, fd, __ccgo_ts+22)
  2240. if !(f != 0) {
  2241. libc.Xclose(tls, fd)
  2242. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2243. return m_FcFalse
  2244. }
  2245. ret = libc.Xfprintf(tls, f, __ccgo_ts+24, libc.VaList(bp+152, libc.Xgetpid(tls)))
  2246. if ret <= 0 {
  2247. libc.Xfclose(tls, f)
  2248. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2249. return m_FcFalse
  2250. }
  2251. if libc.Xfclose(tls, f) == -int32(1) {
  2252. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2253. return m_FcFalse
  2254. }
  2255. ret = libc.Xlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2256. 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)) {
  2257. /* the filesystem where atomic->lck points to may not supports
  2258. * the hard link. so better try to fallback
  2259. */
  2260. ret = libc.Xmkdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, uint32(0600))
  2261. no_link = int32(m_FcTrue)
  2262. }
  2263. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2264. if ret < 0 {
  2265. /*
  2266. * If the file is around and old (> 10 minutes),
  2267. * assume the lock is stale. This assumes that any
  2268. * machines sharing the same filesystem will have clocks
  2269. * reasonably close to each other.
  2270. */
  2271. if XFcStat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, bp) >= 0 {
  2272. now = libc.Xtime(tls, uintptr(0))
  2273. if int32(now-(*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec) > libc.Int32FromInt32(10)*libc.Int32FromInt32(60) {
  2274. if no_link != 0 {
  2275. if libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2276. return XIA__FcAtomicLock(tls, atomic)
  2277. }
  2278. } else {
  2279. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2280. return XIA__FcAtomicLock(tls, atomic)
  2281. }
  2282. }
  2283. }
  2284. }
  2285. return m_FcFalse
  2286. }
  2287. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2288. return int32(m_FcTrue)
  2289. }
  2290. var XFcAtomicLock = XIA__FcAtomicLock
  2291. func XIA__FcAtomicNewFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2292. return (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1
  2293. }
  2294. var XFcAtomicNewFile = XIA__FcAtomicNewFile
  2295. func XIA__FcAtomicOrigFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2296. return (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile
  2297. }
  2298. var XFcAtomicOrigFile = XIA__FcAtomicOrigFile
  2299. func XIA__FcAtomicReplaceOrig(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2300. if libc.Xrename(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile) < 0 {
  2301. return m_FcFalse
  2302. }
  2303. return int32(m_FcTrue)
  2304. }
  2305. var XFcAtomicReplaceOrig = XIA__FcAtomicReplaceOrig
  2306. func XIA__FcAtomicDeleteNew(tls *libc.TLS, atomic uintptr) {
  2307. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2308. }
  2309. var XFcAtomicDeleteNew = XIA__FcAtomicDeleteNew
  2310. func XIA__FcAtomicUnlock(tls *libc.TLS, atomic uintptr) {
  2311. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == -int32(1) {
  2312. libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2313. }
  2314. }
  2315. var XFcAtomicUnlock = XIA__FcAtomicUnlock
  2316. func XIA__FcAtomicDestroy(tls *libc.TLS, atomic uintptr) {
  2317. libc.Xfree(tls, atomic)
  2318. }
  2319. var XFcAtomicDestroy = XIA__FcAtomicDestroy
  2320. const m_AT_EACCESS = 0x200
  2321. const m_AT_EMPTY_PATH = 0x1000
  2322. const m_AT_NO_AUTOMOUNT = 0x800
  2323. const m_AT_RECURSIVE = 0x8000
  2324. const m_AT_REMOVEDIR = 0x200
  2325. const m_AT_STATX_DONT_SYNC = 0x4000
  2326. const m_AT_STATX_FORCE_SYNC = 0x2000
  2327. const m_AT_STATX_SYNC_AS_STAT = 0x0000
  2328. const m_AT_STATX_SYNC_TYPE = 0x6000
  2329. const m_AT_SYMLINK_FOLLOW = 0x400
  2330. const m_AT_SYMLINK_NOFOLLOW = 0x100
  2331. const m_DN_ACCESS = 0x00000001
  2332. const m_DN_ATTRIB = 0x00000020
  2333. const m_DN_CREATE = 0x00000004
  2334. const m_DN_DELETE = 0x00000008
  2335. const m_DN_MODIFY = 0x00000002
  2336. const m_DN_MULTISHOT = 0x80000000
  2337. const m_DN_RENAME = 0x00000010
  2338. const m_DT_BLK = 6
  2339. const m_DT_CHR = 2
  2340. const m_DT_DIR = 4
  2341. const m_DT_FIFO = 1
  2342. const m_DT_LNK = 10
  2343. const m_DT_REG = 8
  2344. const m_DT_SOCK = 12
  2345. const m_DT_UNKNOWN = 0
  2346. const m_DT_WHT = 14
  2347. const m_FALLOC_FL_KEEP_SIZE = 1
  2348. const m_FALLOC_FL_PUNCH_HOLE = 2
  2349. const m_FAPPEND = "O_APPEND"
  2350. const m_FASYNC = "O_ASYNC"
  2351. const m_FC_ARCH_ENDIAN = "le32d4"
  2352. const m_FC_ARCH_SIZE_ALIGN = "32d4"
  2353. const m_FC_CACHE_MAGIC_ALLOC1 = 4228054021
  2354. const m_FC_CACHE_MAGIC_MMAP1 = 4228054020
  2355. const m_FC_CACHE_MAX_LEVEL = 16
  2356. const m_FC_CACHE_MIN_MMAP = 1024
  2357. const m_FD_CLOEXEC = 1
  2358. const m_FFSYNC = "O_SYNC"
  2359. const m_FNDELAY = "O_NDELAY"
  2360. const m_FNONBLOCK = "O_NONBLOCK"
  2361. const m_F_ADD_SEALS = 1033
  2362. const m_F_CANCELLK = 1029
  2363. const m_F_DUPFD = 0
  2364. const m_F_DUPFD_CLOEXEC = 1030
  2365. const m_F_GETFD = 1
  2366. const m_F_GETFL = 3
  2367. const m_F_GETLEASE = 1025
  2368. const m_F_GETLK = 12
  2369. const m_F_GETOWN = 9
  2370. const m_F_GETOWNER_UIDS = 17
  2371. const m_F_GETOWN_EX = 16
  2372. const m_F_GETPIPE_SZ = 1032
  2373. const m_F_GETSIG = 11
  2374. const m_F_GET_FILE_RW_HINT = 1037
  2375. const m_F_GET_RW_HINT = 1035
  2376. const m_F_GET_SEALS = 1034
  2377. const m_F_NOTIFY = 1026
  2378. const m_F_OFD_GETLK = 36
  2379. const m_F_OFD_SETLK = 37
  2380. const m_F_OFD_SETLKW = 38
  2381. const m_F_OWNER_GID = 2
  2382. const m_F_OWNER_PGRP = 2
  2383. const m_F_OWNER_PID = 1
  2384. const m_F_OWNER_TID = 0
  2385. const m_F_RDLCK = 0
  2386. const m_F_SEAL_FUTURE_WRITE = 0x0010
  2387. const m_F_SEAL_GROW = 0x0004
  2388. const m_F_SEAL_SEAL = 0x0001
  2389. const m_F_SEAL_SHRINK = 0x0002
  2390. const m_F_SEAL_WRITE = 0x0008
  2391. const m_F_SETFD = 2
  2392. const m_F_SETFL = 4
  2393. const m_F_SETLEASE = 1024
  2394. const m_F_SETLK = 13
  2395. const m_F_SETLKW = 14
  2396. const m_F_SETOWN = 8
  2397. const m_F_SETOWN_EX = 15
  2398. const m_F_SETPIPE_SZ = 1031
  2399. const m_F_SETSIG = 10
  2400. const m_F_SET_FILE_RW_HINT = 1038
  2401. const m_F_SET_RW_HINT = 1036
  2402. const m_F_UNLCK = 2
  2403. const m_F_WRLCK = 1
  2404. const m_FcAtomicCreate = "IA__FcAtomicCreate"
  2405. const m_FcAtomicDeleteNew = "IA__FcAtomicDeleteNew"
  2406. const m_FcAtomicDestroy = "IA__FcAtomicDestroy"
  2407. const m_FcAtomicLock = "IA__FcAtomicLock"
  2408. const m_FcAtomicNewFile = "IA__FcAtomicNewFile"
  2409. const m_FcAtomicOrigFile = "IA__FcAtomicOrigFile"
  2410. const m_FcAtomicReplaceOrig = "IA__FcAtomicReplaceOrig"
  2411. const m_FcAtomicUnlock = "IA__FcAtomicUnlock"
  2412. const m_INT32_MAX1 = 2147483647
  2413. const m_ITIMER_PROF = 2
  2414. const m_ITIMER_REAL = 0
  2415. const m_ITIMER_VIRTUAL = 1
  2416. const m_LLONG_MAX1 = 9223372036854775807
  2417. const m_MADV_COLD = 20
  2418. const m_MADV_DODUMP = 17
  2419. const m_MADV_DOFORK = 11
  2420. const m_MADV_DONTDUMP = 16
  2421. const m_MADV_DONTFORK = 10
  2422. const m_MADV_DONTNEED = 4
  2423. const m_MADV_FREE = 8
  2424. const m_MADV_HUGEPAGE = 14
  2425. const m_MADV_HWPOISON = 100
  2426. const m_MADV_KEEPONFORK = 19
  2427. const m_MADV_MERGEABLE = 12
  2428. const m_MADV_NOHUGEPAGE = 15
  2429. const m_MADV_NORMAL = 0
  2430. const m_MADV_PAGEOUT = 21
  2431. const m_MADV_RANDOM = 1
  2432. const m_MADV_REMOVE = 9
  2433. const m_MADV_SEQUENTIAL = 2
  2434. const m_MADV_SOFT_OFFLINE = 101
  2435. const m_MADV_UNMERGEABLE = 13
  2436. const m_MADV_WILLNEED = 3
  2437. const m_MADV_WIPEONFORK = 18
  2438. const m_MAP_32BIT = 0x40
  2439. const m_MAP_ANON = 0x20
  2440. const m_MAP_ANONYMOUS = "MAP_ANON"
  2441. const m_MAP_DENYWRITE = 0x0800
  2442. const m_MAP_EXECUTABLE = 0x1000
  2443. const m_MAP_FILE = 0
  2444. const m_MAP_FIXED = 0x10
  2445. const m_MAP_FIXED_NOREPLACE = 0x100000
  2446. const m_MAP_GROWSDOWN = 0x0100
  2447. const m_MAP_HUGETLB = 0x40000
  2448. const m_MAP_HUGE_MASK = 0x3f
  2449. const m_MAP_HUGE_SHIFT = 26
  2450. const m_MAP_LOCKED = 0x2000
  2451. const m_MAP_NONBLOCK = 0x10000
  2452. const m_MAP_NORESERVE = 0x4000
  2453. const m_MAP_POPULATE = 0x8000
  2454. const m_MAP_PRIVATE = 0x02
  2455. const m_MAP_SHARED = 1
  2456. const m_MAP_SHARED_VALIDATE = 0x03
  2457. const m_MAP_STACK = 0x20000
  2458. const m_MAP_SYNC = 0x80000
  2459. const m_MAP_TYPE = 0x0f
  2460. const m_MAX_HANDLE_SZ = 128
  2461. const m_MCL_CURRENT = 1
  2462. const m_MCL_FUTURE = 2
  2463. const m_MCL_ONFAULT = 4
  2464. const m_MFD_ALLOW_SEALING = 0x0002
  2465. const m_MFD_CLOEXEC = 0x0001
  2466. const m_MFD_HUGETLB = 0x0004
  2467. const m_MLOCK_ONFAULT = 0x01
  2468. const m_MREMAP_DONTUNMAP = 4
  2469. const m_MREMAP_FIXED = 2
  2470. const m_MREMAP_MAYMOVE = 1
  2471. const m_MS_ASYNC = 1
  2472. const m_MS_INVALIDATE = 2
  2473. const m_MS_SYNC = 4
  2474. const m_O_APPEND = 02000
  2475. const m_O_ASYNC = 020000
  2476. const m_O_BINARY = 0
  2477. const m_O_CLOEXEC = 02000000
  2478. const m_O_CREAT = 64
  2479. const m_O_DIRECT = 040000
  2480. const m_O_DIRECTORY = 0200000
  2481. const m_O_DSYNC = 010000
  2482. const m_O_EXCL = 0200
  2483. const m_O_EXEC = "O_PATH"
  2484. const m_O_LARGEFILE = 0100000
  2485. const m_O_NDELAY = "O_NONBLOCK"
  2486. const m_O_NOATIME = 01000000
  2487. const m_O_NOCTTY = 0400
  2488. const m_O_NOFOLLOW = 0400000
  2489. const m_O_NONBLOCK = 04000
  2490. const m_O_PATH = 010000000
  2491. const m_O_RDONLY = 0
  2492. const m_O_RDWR = 2
  2493. const m_O_RSYNC = 04010000
  2494. const m_O_SEARCH = "O_PATH"
  2495. const m_O_SYNC = 04010000
  2496. const m_O_TMPFILE = 020200000
  2497. const m_O_TRUNC = 01000
  2498. const m_O_TTY_INIT = 0
  2499. const m_O_WRONLY = 01
  2500. const m_POSIX_FADV_DONTNEED = 4
  2501. const m_POSIX_FADV_NOREUSE = 5
  2502. const m_POSIX_FADV_NORMAL = 0
  2503. const m_POSIX_FADV_RANDOM = 1
  2504. const m_POSIX_FADV_SEQUENTIAL = 2
  2505. const m_POSIX_FADV_WILLNEED = 3
  2506. const m_POSIX_MADV_DONTNEED = 4
  2507. const m_POSIX_MADV_NORMAL = 0
  2508. const m_POSIX_MADV_RANDOM = 1
  2509. const m_POSIX_MADV_SEQUENTIAL = 2
  2510. const m_POSIX_MADV_WILLNEED = 3
  2511. const m_PROT_EXEC = 4
  2512. const m_PROT_GROWSDOWN = 0x01000000
  2513. const m_PROT_GROWSUP = 0x02000000
  2514. const m_PROT_NONE = 0
  2515. const m_PROT_READ = 1
  2516. const m_PROT_WRITE = 2
  2517. const m_RWF_WRITE_LIFE_NOT_SET = 0
  2518. const m_RWH_WRITE_LIFE_EXTREME = 5
  2519. const m_RWH_WRITE_LIFE_LONG = 4
  2520. const m_RWH_WRITE_LIFE_MEDIUM = 3
  2521. const m_RWH_WRITE_LIFE_NONE = 1
  2522. const m_RWH_WRITE_LIFE_SHORT = 2
  2523. const m_SPLICE_F_GIFT = 8
  2524. const m_SPLICE_F_MORE = 4
  2525. const m_SPLICE_F_MOVE = 1
  2526. const m_SPLICE_F_NONBLOCK = 2
  2527. const m_SYNC_FILE_RANGE_WAIT_AFTER = 4
  2528. const m_SYNC_FILE_RANGE_WAIT_BEFORE = 1
  2529. const m_SYNC_FILE_RANGE_WRITE = 2
  2530. const m___LONG_MAX1 = 2147483647
  2531. const m_d_fileno = "d_ino"
  2532. const m_loff_t = "off_t"
  2533. type TMD5Context = struct {
  2534. Fbuf [4]TFcChar32
  2535. Fbits [2]TFcChar32
  2536. Fin [64]uint8
  2537. }
  2538. func _MD5Init(tls *libc.TLS, ctx uintptr) {
  2539. *(*TFcChar32)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  2540. *(*TFcChar32)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  2541. *(*TFcChar32)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  2542. *(*TFcChar32)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  2543. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = uint32(0)
  2544. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) = uint32(0)
  2545. }
  2546. func _MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len1 uint32) {
  2547. var p uintptr
  2548. var t, v1 TFcChar32
  2549. _, _, _ = p, t, v1
  2550. t = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  2551. v1 = t + len1<<libc.Int32FromInt32(3)
  2552. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = v1
  2553. if v1 < t {
  2554. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))++
  2555. }
  2556. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) += len1 >> int32(29)
  2557. t = t >> libc.Int32FromInt32(3) & uint32(0x3f)
  2558. if t != 0 {
  2559. p = ctx + 24 + uintptr(t)
  2560. t = uint32(64) - t
  2561. if len1 < t {
  2562. libc.Xmemcpy(tls, p, buf, len1)
  2563. return
  2564. }
  2565. libc.Xmemcpy(tls, p, buf, t)
  2566. _MD5Transform(tls, ctx, ctx+24)
  2567. buf += uintptr(t)
  2568. len1 -= t
  2569. }
  2570. for len1 >= uint32(64) {
  2571. libc.Xmemcpy(tls, ctx+24, buf, uint32(64))
  2572. _MD5Transform(tls, ctx, ctx+24)
  2573. buf += uintptr(64)
  2574. len1 -= uint32(64)
  2575. }
  2576. libc.Xmemcpy(tls, ctx+24, buf, len1)
  2577. }
  2578. func _MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  2579. var count uint32
  2580. var p, v1 uintptr
  2581. _, _, _ = count, p, v1
  2582. count = *(*TFcChar32)(unsafe.Pointer(ctx + 16)) >> libc.Int32FromInt32(3) & uint32(0x3F)
  2583. p = ctx + 24 + uintptr(count)
  2584. v1 = p
  2585. p++
  2586. *(*uint8)(unsafe.Pointer(v1)) = uint8(0x80)
  2587. count = libc.Uint32FromInt32(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) - count
  2588. if count < uint32(8) {
  2589. libc.Xmemset(tls, p, 0, count)
  2590. _MD5Transform(tls, ctx, ctx+24)
  2591. libc.Xmemset(tls, ctx+24, 0, uint32(56))
  2592. } else {
  2593. libc.Xmemset(tls, p, 0, count-uint32(8))
  2594. }
  2595. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 14*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  2596. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 15*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))
  2597. _MD5Transform(tls, ctx, ctx+24)
  2598. libc.Xmemcpy(tls, digest, ctx, uint32(16))
  2599. libc.Xmemset(tls, ctx, 0, uint32(88))
  2600. }
  2601. func _MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
  2602. var a, b, c, d TFcChar32
  2603. _, _, _, _ = a, b, c, d
  2604. a = *(*TFcChar32)(unsafe.Pointer(buf))
  2605. b = *(*TFcChar32)(unsafe.Pointer(buf + 1*4))
  2606. c = *(*TFcChar32)(unsafe.Pointer(buf + 2*4))
  2607. d = *(*TFcChar32)(unsafe.Pointer(buf + 3*4))
  2608. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xd76aa478)
  2609. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2610. a += b
  2611. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xe8c7b756)
  2612. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2613. d += a
  2614. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db)
  2615. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2616. c += d
  2617. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xc1bdceee)
  2618. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2619. b += c
  2620. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf57c0faf)
  2621. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2622. a += b
  2623. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a)
  2624. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2625. d += a
  2626. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa8304613)
  2627. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2628. c += d
  2629. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xfd469501)
  2630. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2631. b += c
  2632. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8)
  2633. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2634. a += b
  2635. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x8b44f7af)
  2636. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2637. d += a
  2638. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffff5bb1)
  2639. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2640. c += d
  2641. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x895cd7be)
  2642. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2643. b += c
  2644. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122)
  2645. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2646. a += b
  2647. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xfd987193)
  2648. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2649. d += a
  2650. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xa679438e)
  2651. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2652. c += d
  2653. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821)
  2654. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2655. b += c
  2656. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xf61e2562)
  2657. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2658. a += b
  2659. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xc040b340)
  2660. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2661. d += a
  2662. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51)
  2663. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2664. c += d
  2665. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xe9b6c7aa)
  2666. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2667. b += c
  2668. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xd62f105d)
  2669. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2670. a += b
  2671. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453)
  2672. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2673. d += a
  2674. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xd8a1e681)
  2675. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2676. c += d
  2677. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xe7d3fbc8)
  2678. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2679. b += c
  2680. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6)
  2681. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2682. a += b
  2683. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xc33707d6)
  2684. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2685. d += a
  2686. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xf4d50d87)
  2687. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2688. c += d
  2689. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed)
  2690. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2691. b += c
  2692. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xa9e3e905)
  2693. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2694. a += b
  2695. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xfcefa3f8)
  2696. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2697. d += a
  2698. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9)
  2699. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2700. c += d
  2701. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x8d2a4c8a)
  2702. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2703. b += c
  2704. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfffa3942)
  2705. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2706. a += b
  2707. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x8771f681)
  2708. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2709. d += a
  2710. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122)
  2711. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2712. c += d
  2713. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xfde5380c)
  2714. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2715. b += c
  2716. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xa4beea44)
  2717. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2718. a += b
  2719. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9)
  2720. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2721. d += a
  2722. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xf6bb4b60)
  2723. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2724. c += d
  2725. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xbebfbc70)
  2726. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2727. b += c
  2728. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6)
  2729. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2730. a += b
  2731. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xeaa127fa)
  2732. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2733. d += a
  2734. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xd4ef3085)
  2735. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2736. c += d
  2737. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05)
  2738. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2739. b += c
  2740. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xd9d4d039)
  2741. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2742. a += b
  2743. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0xe6db99e5)
  2744. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2745. d += a
  2746. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8)
  2747. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2748. c += d
  2749. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xc4ac5665)
  2750. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2751. b += c
  2752. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xf4292244)
  2753. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2754. a += b
  2755. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97)
  2756. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2757. d += a
  2758. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xab9423a7)
  2759. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2760. c += d
  2761. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfc93a039)
  2762. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2763. b += c
  2764. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3)
  2765. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2766. a += b
  2767. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0x8f0ccc92)
  2768. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2769. d += a
  2770. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffeff47d)
  2771. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2772. c += d
  2773. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0x85845dd1)
  2774. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2775. b += c
  2776. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f)
  2777. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2778. a += b
  2779. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xfe2ce6e0)
  2780. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2781. d += a
  2782. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa3014314)
  2783. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2784. c += d
  2785. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1)
  2786. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2787. b += c
  2788. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf7537e82)
  2789. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2790. a += b
  2791. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0xbd3af235)
  2792. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2793. d += a
  2794. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb)
  2795. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2796. c += d
  2797. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xeb86d391)
  2798. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2799. b += c
  2800. *(*TFcChar32)(unsafe.Pointer(buf)) += a
  2801. *(*TFcChar32)(unsafe.Pointer(buf + 1*4)) += b
  2802. *(*TFcChar32)(unsafe.Pointer(buf + 2*4)) += c
  2803. *(*TFcChar32)(unsafe.Pointer(buf + 3*4)) += d
  2804. }
  2805. type Tiovec = struct {
  2806. Fiov_base uintptr
  2807. Fiov_len Tsize_t
  2808. }
  2809. type Tflock = struct {
  2810. Fl_type int16
  2811. Fl_whence int16
  2812. Fl_start Toff_t
  2813. Fl_len Toff_t
  2814. Fl_pid Tpid_t
  2815. }
  2816. type Tfile_handle = struct {
  2817. Fhandle_bytes uint32
  2818. Fhandle_type int32
  2819. }
  2820. type Tf_owner_ex = struct {
  2821. Ftype1 int32
  2822. Fpid Tpid_t
  2823. }
  2824. type Tdirent = struct {
  2825. Fd_ino Tino_t
  2826. Fd_off Toff_t
  2827. Fd_reclen uint16
  2828. Fd_type uint8
  2829. Fd_name [256]int8
  2830. }
  2831. type Titimerval = struct {
  2832. Fit_interval Ttimeval
  2833. Fit_value Ttimeval
  2834. }
  2835. type Ttimezone = struct {
  2836. Ftz_minuteswest int32
  2837. Ftz_dsttime int32
  2838. }
  2839. func XIA__FcDirCacheCreateUUID(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  2840. return int32(m_FcTrue)
  2841. }
  2842. var XFcDirCacheCreateUUID = XIA__FcDirCacheCreateUUID
  2843. func XIA__FcDirCacheDeleteUUID(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  2844. bp := tls.Alloc(208)
  2845. defer tls.Free(208)
  2846. var d, sysroot, target uintptr
  2847. var ret TFcBool
  2848. var _ /* statb at bp+0 */ Tstat
  2849. var _ /* times at bp+144 */ [2]Ttimeval
  2850. _, _, _, _ = d, ret, sysroot, target
  2851. ret = int32(m_FcTrue)
  2852. config = XIA__FcConfigReference(tls, config)
  2853. if !(config != 0) {
  2854. return m_FcFalse
  2855. }
  2856. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2857. if sysroot != 0 {
  2858. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+184, dir, libc.UintptrFromInt32(0)))
  2859. } else {
  2860. d = XIA__FcStrBuildFilename(tls, dir, libc.VaList(bp+184, libc.UintptrFromInt32(0)))
  2861. }
  2862. if XFcStat(tls, d, bp) != 0 {
  2863. ret = m_FcFalse
  2864. goto bail
  2865. }
  2866. target = XIA__FcStrBuildFilename(tls, d, libc.VaList(bp+184, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2867. ret = libc.BoolInt32(libc.Xunlink(tls, target) == 0)
  2868. if ret != 0 {
  2869. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[0].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_atim.Ftv_sec
  2870. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[int32(1)].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec
  2871. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[0].Ftv_usec = int64((*(*Tstat)(unsafe.Pointer(bp))).Fst_atim.Ftv_nsec / int32(1000))
  2872. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[int32(1)].Ftv_usec = int64((*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_nsec / int32(1000))
  2873. if libc.Xutimes(tls, d, bp+144) != 0 {
  2874. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+35, libc.VaList(bp+184, d))
  2875. }
  2876. }
  2877. XIA__FcStrFree(tls, target)
  2878. goto bail
  2879. bail:
  2880. ;
  2881. XIA__FcStrFree(tls, d)
  2882. XIA__FcConfigDestroy(tls, config)
  2883. return ret
  2884. }
  2885. var XFcDirCacheDeleteUUID = XIA__FcDirCacheDeleteUUID
  2886. func _FcCacheIsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  2887. bp := tls.Alloc(16)
  2888. defer tls.Free(16)
  2889. var env uintptr
  2890. var status, v1 int32
  2891. var _ /* use at bp+0 */ TFcBool
  2892. _, _, _ = env, status, v1
  2893. status = int32(*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))))
  2894. if status == 0 {
  2895. env = libc.Xgetenv(tls, __ccgo_ts+63)
  2896. if env != 0 && XFcNameBool(tls, env, bp) != 0 {
  2897. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  2898. v1 = 1
  2899. } else {
  2900. v1 = 2
  2901. }
  2902. status = v1
  2903. } else {
  2904. status = 3
  2905. }
  2906. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) == libc.UintptrFromInt32(0) {
  2907. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) = uintptr(status)
  2908. _ = libc.Int32FromInt32(m_FcTrue)
  2909. }
  2910. }
  2911. if status == 3 {
  2912. return XFcIsFsMmapSafe(tls, fd)
  2913. } else {
  2914. return libc.BoolInt32(status == 1)
  2915. }
  2916. return r
  2917. }
  2918. var _static_status uintptr
  2919. var _bin2hex = [16]int8{
  2920. 0: int8('0'),
  2921. 1: int8('1'),
  2922. 2: int8('2'),
  2923. 3: int8('3'),
  2924. 4: int8('4'),
  2925. 5: int8('5'),
  2926. 6: int8('6'),
  2927. 7: int8('7'),
  2928. 8: int8('8'),
  2929. 9: int8('9'),
  2930. 10: int8('a'),
  2931. 11: int8('b'),
  2932. 12: int8('c'),
  2933. 13: int8('d'),
  2934. 14: int8('e'),
  2935. 15: int8('f'),
  2936. }
  2937. func _FcDirCacheBasenameMD5(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  2938. bp := tls.Alloc(176)
  2939. defer tls.Free(176)
  2940. var cnt int32
  2941. var dl, sl Tsize_t
  2942. var hex_hash, key, mapped_dir, orig_dir, salt, v2, v3, v4, v5, v6, v7 uintptr
  2943. var _ /* ctx at bp+16 */ TMD5Context
  2944. var _ /* hash at bp+0 */ [16]uint8
  2945. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, dl, hex_hash, key, mapped_dir, orig_dir, salt, sl, v2, v3, v4, v5, v6, v7
  2946. mapped_dir = libc.UintptrFromInt32(0)
  2947. key = libc.UintptrFromInt32(0)
  2948. orig_dir = libc.UintptrFromInt32(0)
  2949. salt = XFcConfigMapSalt(tls, config, dir)
  2950. /* Obtain a path where "dir" is mapped to.
  2951. * In case:
  2952. * <remap-dir as-path="/usr/share/fonts">/run/host/fonts</remap-dir>
  2953. *
  2954. * FcConfigMapFontPath (config, "/run/host/fonts") will returns "/usr/share/fonts".
  2955. */
  2956. mapped_dir = XFcConfigMapFontPath(tls, config, dir)
  2957. if mapped_dir != 0 {
  2958. orig_dir = dir
  2959. dir = mapped_dir
  2960. }
  2961. if salt != 0 {
  2962. dl = libc.Xstrlen(tls, dir)
  2963. sl = libc.Xstrlen(tls, salt)
  2964. key = libc.Xmalloc(tls, dl+sl+uint32(1))
  2965. libc.Xmemcpy(tls, key, dir, dl)
  2966. libc.Xmemcpy(tls, key+uintptr(dl), salt, sl+uint32(1))
  2967. *(*TFcChar8)(unsafe.Pointer(key + uintptr(dl+sl))) = uint8(0)
  2968. if !(orig_dir != 0) {
  2969. orig_dir = dir
  2970. }
  2971. dir = key
  2972. }
  2973. _MD5Init(tls, bp+16)
  2974. _MD5Update(tls, bp+16, dir, libc.Xstrlen(tls, dir))
  2975. _MD5Final(tls, bp, bp+16)
  2976. if key != 0 {
  2977. XIA__FcStrFree(tls, key)
  2978. }
  2979. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  2980. hex_hash = cache_base + uintptr(1)
  2981. cnt = 0
  2982. for {
  2983. if !(cnt < int32(16)) {
  2984. break
  2985. }
  2986. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = libc.Uint8FromInt8(_bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])>>int32(4)])
  2987. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt+int32(1)))) = libc.Uint8FromInt8(_bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])&int32(0xf)])
  2988. goto _1
  2989. _1:
  2990. ;
  2991. cnt++
  2992. }
  2993. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(0)
  2994. libc.Xstrcat(tls, cache_base, __ccgo_ts+83)
  2995. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  2996. if orig_dir != 0 {
  2997. v2 = orig_dir
  2998. } else {
  2999. v2 = dir
  3000. }
  3001. if mapped_dir != 0 {
  3002. v3 = __ccgo_ts + 99
  3003. } else {
  3004. v3 = __ccgo_ts + 112
  3005. }
  3006. if mapped_dir != 0 {
  3007. v4 = mapped_dir
  3008. } else {
  3009. v4 = __ccgo_ts + 112
  3010. }
  3011. if mapped_dir != 0 {
  3012. v5 = __ccgo_ts + 113
  3013. } else {
  3014. v5 = __ccgo_ts + 112
  3015. }
  3016. if salt != 0 {
  3017. v6 = __ccgo_ts + 115
  3018. } else {
  3019. v6 = __ccgo_ts + 112
  3020. }
  3021. if salt != 0 {
  3022. v7 = salt
  3023. } else {
  3024. v7 = __ccgo_ts + 112
  3025. }
  3026. libc.Xprintf(tls, __ccgo_ts+124, libc.VaList(bp+112, cache_base, v2, v3, v4, v5, v6, v7))
  3027. }
  3028. if mapped_dir != 0 {
  3029. XIA__FcStrFree(tls, mapped_dir)
  3030. }
  3031. return cache_base
  3032. }
  3033. func _FcDirCacheBasenameUUID(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  3034. bp := tls.Alloc(64)
  3035. defer tls.Free(64)
  3036. var fd, v1 int32
  3037. var fuuid, sysroot, target uintptr
  3038. var len1 Tssize_t
  3039. var _ /* suuid at bp+0 */ [37]int8
  3040. _, _, _, _, _, _ = fd, fuuid, len1, sysroot, target, v1
  3041. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3042. /* We don't need to apply remapping here. because .uuid was created at that very directory
  3043. * to determine the cache name no matter where it was mapped to.
  3044. */
  3045. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8(0)
  3046. if sysroot != 0 {
  3047. target = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+48, dir, libc.UintptrFromInt32(0)))
  3048. } else {
  3049. target = libc.Xstrdup(tls, dir)
  3050. }
  3051. fuuid = XIA__FcStrBuildFilename(tls, target, libc.VaList(bp+48, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  3052. v1 = XFcOpen(tls, fuuid, m_O_RDONLY, 0)
  3053. fd = v1
  3054. if v1 != -int32(1) {
  3055. libc.Xmemset(tls, bp, 0, uint32(37))
  3056. len1 = libc.Xread(tls, fd, bp, uint32(36))
  3057. (*(*[37]int8)(unsafe.Pointer(bp)))[int32(36)] = 0
  3058. libc.Xclose(tls, fd)
  3059. if len1 < 0 {
  3060. goto bail
  3061. }
  3062. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  3063. libc.Xstrcpy(tls, cache_base+1, bp)
  3064. libc.Xstrcat(tls, cache_base, __ccgo_ts+83)
  3065. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3066. libc.Xprintf(tls, __ccgo_ts+155, libc.VaList(bp+48, cache_base, dir))
  3067. }
  3068. }
  3069. goto bail
  3070. bail:
  3071. ;
  3072. XIA__FcStrFree(tls, fuuid)
  3073. XIA__FcStrFree(tls, target)
  3074. return cache_base
  3075. }
  3076. func XIA__FcDirCacheUnlink(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  3077. bp := tls.Alloc(144)
  3078. defer tls.Free(144)
  3079. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  3080. var ret TFcBool
  3081. var _ /* cache_base at bp+0 */ [54]TFcChar8
  3082. var _ /* uuid_cache_base at bp+54 */ [54]TFcChar8
  3083. _, _, _, _, _, _ = cache_dir, cache_hashed, list, ret, sysroot, v1
  3084. cache_hashed = libc.UintptrFromInt32(0)
  3085. ret = int32(m_FcTrue)
  3086. config = XIA__FcConfigReference(tls, config)
  3087. if !(config != 0) {
  3088. return m_FcFalse
  3089. }
  3090. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3091. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  3092. _FcDirCacheBasenameUUID(tls, config, dir, bp+54)
  3093. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  3094. if !(list != 0) {
  3095. ret = m_FcFalse
  3096. goto bail
  3097. }
  3098. for {
  3099. v1 = XIA__FcStrListNext(tls, list)
  3100. cache_dir = v1
  3101. if !(v1 != 0) {
  3102. break
  3103. }
  3104. if sysroot != 0 {
  3105. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+120, cache_dir, bp, libc.UintptrFromInt32(0)))
  3106. } else {
  3107. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+120, bp, libc.UintptrFromInt32(0)))
  3108. }
  3109. if !(cache_hashed != 0) {
  3110. break
  3111. }
  3112. libc.Xunlink(tls, cache_hashed)
  3113. XIA__FcStrFree(tls, cache_hashed)
  3114. if libc.Int32FromUint8((*(*[54]TFcChar8)(unsafe.Pointer(bp + 54)))[0]) != 0 {
  3115. if sysroot != 0 {
  3116. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+120, cache_dir, bp+54, libc.UintptrFromInt32(0)))
  3117. } else {
  3118. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+120, bp+54, libc.UintptrFromInt32(0)))
  3119. }
  3120. if !(cache_hashed != 0) {
  3121. break
  3122. }
  3123. libc.Xunlink(tls, cache_hashed)
  3124. XIA__FcStrFree(tls, cache_hashed)
  3125. }
  3126. }
  3127. XIA__FcStrListDone(tls, list)
  3128. XIA__FcDirCacheDeleteUUID(tls, dir, config)
  3129. /* return FcFalse if something went wrong */
  3130. if cache_dir != 0 {
  3131. ret = m_FcFalse
  3132. }
  3133. goto bail
  3134. bail:
  3135. ;
  3136. XIA__FcConfigDestroy(tls, config)
  3137. return ret
  3138. }
  3139. var XFcDirCacheUnlink = XIA__FcDirCacheUnlink
  3140. func _FcDirCacheOpenFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r int32) {
  3141. var fd int32
  3142. _ = fd
  3143. fd = XFcOpen(tls, cache_file, libc.Int32FromInt32(m_O_RDONLY)|libc.Int32FromInt32(m_O_BINARY), 0)
  3144. if fd < 0 {
  3145. return fd
  3146. }
  3147. if libc.Xfstat(tls, fd, file_stat) < 0 {
  3148. libc.Xclose(tls, fd)
  3149. return -int32(1)
  3150. }
  3151. return fd
  3152. }
  3153. // C documentation
  3154. //
  3155. // /*
  3156. // * Look for a cache file for the specified dir. Attempt
  3157. // * to use each one we find, stopping when the callback
  3158. // * indicates success
  3159. // */
  3160. func _FcDirCacheProcess(tls *libc.TLS, config uintptr, dir uintptr, callback uintptr, closure uintptr, cache_file_ret uintptr) (r TFcBool) {
  3161. bp := tls.Alloc(448)
  3162. defer tls.Free(448)
  3163. var cache_dir, cache_hashed, d, list, sysroot, v1 uintptr
  3164. var fd int32
  3165. var ret, retried TFcBool
  3166. var _ /* cache_base at bp+0 */ [54]TFcChar8
  3167. var _ /* dir_stat at bp+200 */ Tstat
  3168. var _ /* file_stat at bp+56 */ Tstat
  3169. var _ /* latest_mtime at bp+344 */ Ttimeval
  3170. var _ /* uuid_cache_base at bp+360 */ [54]TFcChar8
  3171. _, _, _, _, _, _, _, _, _ = cache_dir, cache_hashed, d, fd, list, ret, retried, sysroot, v1
  3172. fd = -int32(1)
  3173. ret = m_FcFalse
  3174. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3175. *(*Ttimeval)(unsafe.Pointer(bp + 344)) = Ttimeval{}
  3176. if sysroot != 0 {
  3177. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, dir, libc.UintptrFromInt32(0)))
  3178. } else {
  3179. d = libc.Xstrdup(tls, dir)
  3180. }
  3181. if XFcStatChecksum(tls, d, bp+200) < 0 {
  3182. XIA__FcStrFree(tls, d)
  3183. return m_FcFalse
  3184. }
  3185. XIA__FcStrFree(tls, d)
  3186. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  3187. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  3188. if !(list != 0) {
  3189. return m_FcFalse
  3190. }
  3191. for {
  3192. v1 = XIA__FcStrListNext(tls, list)
  3193. cache_dir = v1
  3194. if !(v1 != 0) {
  3195. break
  3196. }
  3197. retried = m_FcFalse
  3198. if sysroot != 0 {
  3199. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, cache_dir, bp, libc.UintptrFromInt32(0)))
  3200. } else {
  3201. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+424, bp, libc.UintptrFromInt32(0)))
  3202. }
  3203. if !(cache_hashed != 0) {
  3204. break
  3205. }
  3206. goto retry
  3207. retry:
  3208. ;
  3209. fd = _FcDirCacheOpenFile(tls, cache_hashed, bp+56)
  3210. if fd >= 0 {
  3211. ret = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, config, fd, bp+56, bp+200, bp+344, closure)
  3212. libc.Xclose(tls, fd)
  3213. if ret != 0 {
  3214. if cache_file_ret != 0 {
  3215. if *(*uintptr)(unsafe.Pointer(cache_file_ret)) != 0 {
  3216. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(cache_file_ret)))
  3217. }
  3218. *(*uintptr)(unsafe.Pointer(cache_file_ret)) = cache_hashed
  3219. } else {
  3220. XIA__FcStrFree(tls, cache_hashed)
  3221. }
  3222. } else {
  3223. XIA__FcStrFree(tls, cache_hashed)
  3224. }
  3225. } else {
  3226. if !(retried != 0) {
  3227. retried = int32(m_FcTrue)
  3228. _FcDirCacheBasenameUUID(tls, config, dir, bp+360)
  3229. if libc.Int32FromUint8((*(*[54]TFcChar8)(unsafe.Pointer(bp + 360)))[0]) != 0 {
  3230. XIA__FcStrFree(tls, cache_hashed)
  3231. if sysroot != 0 {
  3232. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, cache_dir, bp+360, libc.UintptrFromInt32(0)))
  3233. } else {
  3234. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+424, bp+360, libc.UintptrFromInt32(0)))
  3235. }
  3236. if !(cache_hashed != 0) {
  3237. break
  3238. }
  3239. goto retry
  3240. } else {
  3241. XIA__FcStrFree(tls, cache_hashed)
  3242. }
  3243. } else {
  3244. XIA__FcStrFree(tls, cache_hashed)
  3245. }
  3246. }
  3247. }
  3248. XIA__FcStrListDone(tls, list)
  3249. if closure != 0 {
  3250. return libc.BoolInt32(!!(*(*uintptr)(unsafe.Pointer(closure)) != libc.UintptrFromInt32(0)))
  3251. }
  3252. return ret
  3253. }
  3254. /*
  3255. * Skip list element, make sure the 'next' pointer is the last thing
  3256. * in the structure, it will be allocated large enough to hold all
  3257. * of the necessary pointers
  3258. */
  3259. type TFcCacheSkip = struct {
  3260. Fcache uintptr
  3261. Fref TFcRef
  3262. Fsize Tintptr_t
  3263. Fallocated uintptr
  3264. Fcache_dev Tdev_t
  3265. Fcache_ino Tino_t
  3266. Fcache_mtime Ttime_t
  3267. Fcache_mtime_nano int32
  3268. Fnext [1]uintptr
  3269. }
  3270. /*
  3271. * Skip list element, make sure the 'next' pointer is the last thing
  3272. * in the structure, it will be allocated large enough to hold all
  3273. * of the necessary pointers
  3274. */
  3275. type T_FcCacheSkip = TFcCacheSkip
  3276. /*
  3277. * The head of the skip list; pointers for every possible level
  3278. * in the skip list, plus the largest level in the list
  3279. */
  3280. // C documentation
  3281. //
  3282. // /* Protected by cache_lock below */
  3283. var _fcCacheChains [16]uintptr
  3284. var _fcCacheMaxLevel int32
  3285. var _cache_lock uintptr
  3286. func _lock_cache(tls *libc.TLS) {
  3287. var lock uintptr
  3288. var v1 int32
  3289. _, _ = lock, v1
  3290. goto retry
  3291. retry:
  3292. ;
  3293. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3294. if !(lock != 0) {
  3295. lock = libc.Xmalloc(tls, uint32(4))
  3296. _ = lock
  3297. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == libc.UintptrFromInt32(0) {
  3298. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = lock
  3299. v1 = libc.Int32FromInt32(m_FcTrue)
  3300. } else {
  3301. v1 = m_FcFalse
  3302. }
  3303. if !(v1 != 0) {
  3304. _ = lock
  3305. libc.Xfree(tls, lock)
  3306. goto retry
  3307. }
  3308. _ = lock
  3309. /* Initialize random state */
  3310. XFcRandom(tls)
  3311. return
  3312. }
  3313. _ = lock
  3314. }
  3315. func _unlock_cache(tls *libc.TLS) {
  3316. var lock uintptr
  3317. _ = lock
  3318. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3319. _ = lock
  3320. }
  3321. func _free_lock(tls *libc.TLS) {
  3322. var lock uintptr
  3323. var v1 int32
  3324. var v2 bool
  3325. _, _, _ = lock, v1, v2
  3326. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3327. if v2 = lock != 0; v2 {
  3328. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == lock {
  3329. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = libc.UintptrFromInt32(0)
  3330. v1 = libc.Int32FromInt32(m_FcTrue)
  3331. } else {
  3332. v1 = m_FcFalse
  3333. }
  3334. }
  3335. if v2 && v1 != 0 {
  3336. _ = lock
  3337. libc.Xfree(tls, lock)
  3338. }
  3339. }
  3340. // C documentation
  3341. //
  3342. // /*
  3343. // * Generate a random level number, distributed
  3344. // * so that each level is 1/4 as likely as the one before
  3345. // *
  3346. // * Note that level numbers run 1 <= level <= MAX_LEVEL
  3347. // */
  3348. func _random_level(tls *libc.TLS) (r int32) {
  3349. var bits, level, v1 int32
  3350. _, _, _ = bits, level, v1
  3351. /* tricky bit -- each bit is '1' 75% of the time */
  3352. bits = XFcRandom(tls) | XFcRandom(tls)
  3353. level = 0
  3354. for {
  3355. level++
  3356. v1 = level
  3357. if !(v1 < int32(m_FC_CACHE_MAX_LEVEL)) {
  3358. break
  3359. }
  3360. if bits&int32(1) != 0 {
  3361. break
  3362. }
  3363. bits >>= int32(1)
  3364. }
  3365. return level
  3366. }
  3367. // C documentation
  3368. //
  3369. // /*
  3370. // * Insert cache into the list
  3371. // */
  3372. func _FcCacheInsert(tls *libc.TLS, cache uintptr, cache_stat uintptr) (r TFcBool) {
  3373. var i, level, v2 int32
  3374. var next, s, v4 uintptr
  3375. var update [16]uintptr
  3376. _, _, _, _, _, _, _ = i, level, next, s, update, v2, v4
  3377. _lock_cache(tls)
  3378. /*
  3379. * Find links along each chain
  3380. */
  3381. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3382. i = _fcCacheMaxLevel
  3383. for {
  3384. i--
  3385. v2 = i
  3386. if !(v2 >= 0) {
  3387. break
  3388. }
  3389. for {
  3390. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*4))
  3391. s = v4
  3392. if !(v4 != 0) {
  3393. break
  3394. }
  3395. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache > cache {
  3396. break
  3397. }
  3398. goto _3
  3399. _3:
  3400. ;
  3401. next = s + 44
  3402. }
  3403. update[i] = next + uintptr(i)*4
  3404. goto _1
  3405. _1:
  3406. }
  3407. /*
  3408. * Create new list element
  3409. */
  3410. level = _random_level(tls)
  3411. if level > _fcCacheMaxLevel {
  3412. level = _fcCacheMaxLevel + int32(1)
  3413. update[_fcCacheMaxLevel] = uintptr(unsafe.Pointer(&_fcCacheChains)) + uintptr(_fcCacheMaxLevel)*4
  3414. _fcCacheMaxLevel = level
  3415. }
  3416. s = libc.Xmalloc(tls, uint32(48)+libc.Uint32FromInt32(level-libc.Int32FromInt32(1))*uint32(4))
  3417. if !(s != 0) {
  3418. return m_FcFalse
  3419. }
  3420. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache = cache
  3421. (*TFcCacheSkip)(unsafe.Pointer(s)).Fsize = (*TFcCache)(unsafe.Pointer(cache)).Fsize
  3422. (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated = libc.UintptrFromInt32(0)
  3423. (*TFcRef)(unsafe.Pointer(s + 4)).Fcount = int32(1)
  3424. if cache_stat != 0 {
  3425. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev
  3426. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino
  3427. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec
  3428. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec
  3429. } else {
  3430. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = uint64(0)
  3431. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = uint64(0)
  3432. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = 0
  3433. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  3434. }
  3435. /*
  3436. * Insert into all fcCacheChains
  3437. */
  3438. i = 0
  3439. for {
  3440. if !(i < level) {
  3441. break
  3442. }
  3443. *(*uintptr)(unsafe.Pointer(s + 44 + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer(update[i]))
  3444. *(*uintptr)(unsafe.Pointer(update[i])) = s
  3445. goto _5
  3446. _5:
  3447. ;
  3448. i++
  3449. }
  3450. _unlock_cache(tls)
  3451. return int32(m_FcTrue)
  3452. }
  3453. func _FcCacheFindByAddrUnlocked(tls *libc.TLS, object uintptr) (r uintptr) {
  3454. var i, v2 int32
  3455. var next, s uintptr
  3456. _, _, _, _ = i, next, s, v2
  3457. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3458. if !(object != 0) {
  3459. return libc.UintptrFromInt32(0)
  3460. }
  3461. /*
  3462. * Walk chain pointers one level at a time
  3463. */
  3464. i = _fcCacheMaxLevel
  3465. for {
  3466. i--
  3467. v2 = i
  3468. if !(v2 >= 0) {
  3469. break
  3470. }
  3471. 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) {
  3472. next = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*4)) + 44
  3473. }
  3474. goto _1
  3475. _1:
  3476. }
  3477. /*
  3478. * Here we are
  3479. */
  3480. s = *(*uintptr)(unsafe.Pointer(next))
  3481. if s != 0 && object < (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(s)).Fsize) {
  3482. return s
  3483. }
  3484. return libc.UintptrFromInt32(0)
  3485. }
  3486. func _FcCacheFindByAddr(tls *libc.TLS, object uintptr) (r uintptr) {
  3487. var ret uintptr
  3488. _ = ret
  3489. _lock_cache(tls)
  3490. ret = _FcCacheFindByAddrUnlocked(tls, object)
  3491. _unlock_cache(tls)
  3492. return ret
  3493. }
  3494. func _FcCacheRemoveUnlocked(tls *libc.TLS, cache uintptr) {
  3495. var allocated, next, s, v4 uintptr
  3496. var i, v2 int32
  3497. var update [16]uintptr
  3498. _, _, _, _, _, _, _ = allocated, i, next, s, update, v2, v4
  3499. /*
  3500. * Find links along each chain
  3501. */
  3502. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3503. i = _fcCacheMaxLevel
  3504. for {
  3505. i--
  3506. v2 = i
  3507. if !(v2 >= 0) {
  3508. break
  3509. }
  3510. for {
  3511. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*4))
  3512. s = v4
  3513. if !(v4 != 0) {
  3514. break
  3515. }
  3516. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache >= cache {
  3517. break
  3518. }
  3519. goto _3
  3520. _3:
  3521. ;
  3522. next = s + 44
  3523. }
  3524. update[i] = next + uintptr(i)*4
  3525. goto _1
  3526. _1:
  3527. }
  3528. s = *(*uintptr)(unsafe.Pointer(next))
  3529. i = 0
  3530. for {
  3531. if !(i < _fcCacheMaxLevel && *(*uintptr)(unsafe.Pointer(update[i])) == s) {
  3532. break
  3533. }
  3534. *(*uintptr)(unsafe.Pointer(update[i])) = *(*uintptr)(unsafe.Pointer(s + 44 + uintptr(i)*4))
  3535. goto _5
  3536. _5:
  3537. ;
  3538. i++
  3539. }
  3540. for _fcCacheMaxLevel > 0 && _fcCacheChains[_fcCacheMaxLevel-int32(1)] == libc.UintptrFromInt32(0) {
  3541. _fcCacheMaxLevel--
  3542. }
  3543. if s != 0 {
  3544. allocated = (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated
  3545. for allocated != 0 {
  3546. /* First element in allocated chunk is the free list */
  3547. next = *(*uintptr)(unsafe.Pointer(allocated))
  3548. libc.Xfree(tls, allocated)
  3549. allocated = next
  3550. }
  3551. libc.Xfree(tls, s)
  3552. }
  3553. }
  3554. func _FcCacheFindByStat(tls *libc.TLS, cache_stat uintptr) (r uintptr) {
  3555. var s, p3 uintptr
  3556. _, _ = s, p3
  3557. _lock_cache(tls)
  3558. s = _fcCacheChains[0]
  3559. for {
  3560. if !(s != 0) {
  3561. break
  3562. }
  3563. 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 {
  3564. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano != (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec {
  3565. goto _1
  3566. }
  3567. p3 = s + 4
  3568. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  3569. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  3570. goto _2
  3571. _2:
  3572. ;
  3573. _unlock_cache(tls)
  3574. return (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache
  3575. }
  3576. goto _1
  3577. _1:
  3578. ;
  3579. s = *(*uintptr)(unsafe.Pointer(s + 44))
  3580. }
  3581. _unlock_cache(tls)
  3582. return libc.UintptrFromInt32(0)
  3583. }
  3584. func _FcDirCacheDisposeUnlocked(tls *libc.TLS, cache uintptr) {
  3585. _FcCacheRemoveUnlocked(tls, cache)
  3586. switch (*TFcCache)(unsafe.Pointer(cache)).Fmagic {
  3587. case uint32(m_FC_CACHE_MAGIC_ALLOC1):
  3588. libc.Xfree(tls, cache)
  3589. case uint32(m_FC_CACHE_MAGIC_MMAP1):
  3590. libc.Xmunmap(tls, cache, libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  3591. break
  3592. }
  3593. }
  3594. func XFcCacheObjectReference(tls *libc.TLS, object uintptr) {
  3595. var skip, p2 uintptr
  3596. _, _ = skip, p2
  3597. skip = _FcCacheFindByAddr(tls, object)
  3598. if skip != 0 {
  3599. p2 = skip + 4
  3600. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  3601. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  3602. goto _1
  3603. _1:
  3604. }
  3605. }
  3606. func XFcCacheObjectDereference(tls *libc.TLS, object uintptr) {
  3607. var skip, p3 uintptr
  3608. var v1 int32
  3609. _, _, _ = skip, v1, p3
  3610. _lock_cache(tls)
  3611. skip = _FcCacheFindByAddrUnlocked(tls, object)
  3612. if skip != 0 {
  3613. p3 = skip + 4
  3614. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  3615. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  3616. goto _2
  3617. _2:
  3618. if v1 == int32(1) {
  3619. _FcDirCacheDisposeUnlocked(tls, (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache)
  3620. }
  3621. }
  3622. _unlock_cache(tls)
  3623. }
  3624. func XFcCacheAllocate(tls *libc.TLS, cache uintptr, len1 Tsize_t) (r uintptr) {
  3625. var allocated, chunk, skip uintptr
  3626. _, _, _ = allocated, chunk, skip
  3627. allocated = libc.UintptrFromInt32(0)
  3628. _lock_cache(tls)
  3629. skip = _FcCacheFindByAddrUnlocked(tls, cache)
  3630. if skip != 0 {
  3631. chunk = libc.Xmalloc(tls, uint32(4)+len1)
  3632. if chunk != 0 {
  3633. /* First element in allocated chunk is the free list */
  3634. *(*uintptr)(unsafe.Pointer(chunk)) = (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated
  3635. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated = chunk
  3636. /* Return the rest */
  3637. allocated = chunk + uintptr(4)
  3638. }
  3639. }
  3640. _unlock_cache(tls)
  3641. return allocated
  3642. }
  3643. func XFcCacheFini(tls *libc.TLS) {
  3644. bp := tls.Alloc(32)
  3645. defer tls.Free(32)
  3646. var i int32
  3647. var s uintptr
  3648. _, _ = i, s
  3649. i = 0
  3650. for {
  3651. if !(i < int32(m_FC_CACHE_MAX_LEVEL)) {
  3652. break
  3653. }
  3654. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3655. if _fcCacheChains[i] != libc.UintptrFromInt32(0) {
  3656. s = _fcCacheChains[i]
  3657. 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))
  3658. }
  3659. } else {
  3660. }
  3661. goto _1
  3662. _1:
  3663. ;
  3664. i++
  3665. }
  3666. _free_lock(tls)
  3667. }
  3668. func _FcCacheTimeValid(tls *libc.TLS, config uintptr, cache uintptr, dir_stat uintptr) (r TFcBool) {
  3669. bp := tls.Alloc(192)
  3670. defer tls.Free(192)
  3671. var d, sysroot uintptr
  3672. var fnano TFcBool
  3673. var _ /* dir_static at bp+0 */ Tstat
  3674. _, _, _ = d, fnano, sysroot
  3675. fnano = int32(m_FcTrue)
  3676. if !(dir_stat != 0) {
  3677. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3678. if sysroot != 0 {
  3679. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), libc.UintptrFromInt32(0)))
  3680. } else {
  3681. d = libc.Xstrdup(tls, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir))
  3682. }
  3683. if XFcStatChecksum(tls, d, bp) < 0 {
  3684. XIA__FcStrFree(tls, d)
  3685. return m_FcFalse
  3686. }
  3687. XIA__FcStrFree(tls, d)
  3688. dir_stat = bp
  3689. }
  3690. fnano = libc.BoolInt32((*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano == int64((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec))
  3691. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3692. libc.Xprintf(tls, __ccgo_ts+244, libc.VaList(bp+152, 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))
  3693. }
  3694. 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)
  3695. }
  3696. func _FcCacheOffsetsValid(tls *libc.TLS, cache uintptr) (r TFcBool) {
  3697. var base, dir, dirs, e, end, font, fs, last_offset, v10, v11, v3, v4 uintptr
  3698. var i, j int32
  3699. var l TFcValueListPtr
  3700. var v5 TFcBool
  3701. var v7 bool
  3702. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, e, end, font, fs, i, j, l, last_offset, v10, v11, v3, v4, v5, v7
  3703. base = cache
  3704. end = base + uintptr((*TFcCache)(unsafe.Pointer(cache)).Fsize)
  3705. 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) {
  3706. return m_FcFalse
  3707. }
  3708. 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) {
  3709. return m_FcFalse
  3710. }
  3711. dirs = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  3712. if dirs != 0 {
  3713. i = 0
  3714. for {
  3715. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  3716. break
  3717. }
  3718. 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) {
  3719. return m_FcFalse
  3720. }
  3721. dir = uintptr(int32(dirs) + *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*4)))
  3722. if libc.Xmemchr(tls, dir, int32('\000'), libc.Uint32FromInt32(int32(end)-int32(dir))) == libc.UintptrFromInt32(0) {
  3723. return m_FcFalse
  3724. }
  3725. goto _1
  3726. _1:
  3727. ;
  3728. i++
  3729. }
  3730. }
  3731. if (*TFcCache)(unsafe.Pointer(cache)).Fset < 0 || libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fset) > libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint32(12) {
  3732. return m_FcFalse
  3733. }
  3734. fs = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  3735. if fs != 0 {
  3736. if libc.Uint32FromInt32((*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) > libc.Uint32FromInt32(int32(end)-int32(fs))/uint32(16) {
  3737. return m_FcFalse
  3738. }
  3739. if !(int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&libc.Int32FromInt32(1) != libc.Int32FromInt32(0)) {
  3740. return m_FcFalse
  3741. }
  3742. i = 0
  3743. for {
  3744. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  3745. break
  3746. }
  3747. if int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int32(1) != 0 {
  3748. if int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int32(1) != 0 {
  3749. v4 = uintptr(int32(fs) + int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts) & ^libc.Int32FromInt32(1))
  3750. } else {
  3751. v4 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  3752. }
  3753. v3 = uintptr(int32(fs) + int32(*(*uintptr)(unsafe.Pointer(v4 + uintptr(i)*4))) & ^libc.Int32FromInt32(1))
  3754. } else {
  3755. v3 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*4))
  3756. }
  3757. font = v3
  3758. 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 {
  3759. v5 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(font+12)).Fcount == -libc.Int32FromInt32(1))
  3760. goto _6
  3761. _6:
  3762. }
  3763. if v7 || !(v5 != 0) {
  3764. return m_FcFalse
  3765. }
  3766. e = uintptr(int32(font) + (*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3767. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != uintptr(0) && !(int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&libc.Int32FromInt32(1) != libc.Int32FromInt32(0)) {
  3768. return m_FcFalse
  3769. }
  3770. j = 0
  3771. for {
  3772. if !(j < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  3773. break
  3774. }
  3775. last_offset = font + uintptr((*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3776. if int32((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*8)).Fvalues)&int32(1) != 0 {
  3777. v10 = uintptr(Tintptr_t(e+uintptr(j)*8) + int32((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  3778. } else {
  3779. v10 = (*TFcPatternElt)(unsafe.Pointer(e + uintptr(j)*8)).Fvalues
  3780. }
  3781. l = v10
  3782. for {
  3783. if !(l != 0) {
  3784. break
  3785. }
  3786. if l < last_offset || l > end-uintptr(20) || (*T_FcValueList)(unsafe.Pointer(l)).Fnext != libc.UintptrFromInt32(0) && !(int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&libc.Int32FromInt32(1) != libc.Int32FromInt32(0)) {
  3787. return m_FcFalse
  3788. }
  3789. last_offset = l + uintptr(1)
  3790. goto _9
  3791. _9:
  3792. ;
  3793. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  3794. v11 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  3795. } else {
  3796. v11 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  3797. }
  3798. l = v11
  3799. }
  3800. goto _8
  3801. _8:
  3802. ;
  3803. j++
  3804. }
  3805. goto _2
  3806. _2:
  3807. ;
  3808. i++
  3809. }
  3810. }
  3811. return int32(m_FcTrue)
  3812. }
  3813. // C documentation
  3814. //
  3815. // /*
  3816. // * Map a cache file into memory
  3817. // */
  3818. func _FcDirCacheMapFd(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr) (r uintptr) {
  3819. var allocated TFcBool
  3820. var cache uintptr
  3821. _, _ = allocated, cache
  3822. allocated = m_FcFalse
  3823. 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)) {
  3824. return libc.UintptrFromInt32(0)
  3825. }
  3826. cache = _FcCacheFindByStat(tls, fd_stat)
  3827. if cache != 0 {
  3828. if _FcCacheTimeValid(tls, config, cache, dir_stat) != 0 {
  3829. return cache
  3830. }
  3831. XIA__FcDirCacheUnload(tls, cache)
  3832. cache = libc.UintptrFromInt32(0)
  3833. }
  3834. /*
  3835. * Large cache files are mmap'ed, smaller cache files are read. This
  3836. * balances the system cost of mmap against per-process memory usage.
  3837. */
  3838. if _FcCacheIsMmapSafe(tls, fd) != 0 && (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size >= int64(m_FC_CACHE_MIN_MMAP) {
  3839. 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)
  3840. libc.Xposix_fadvise(tls, fd, 0, (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size, int32(m_POSIX_FADV_WILLNEED))
  3841. if cache == uintptr(-libc.Int32FromInt32(1)) {
  3842. cache = libc.UintptrFromInt32(0)
  3843. }
  3844. }
  3845. if !(cache != 0) {
  3846. cache = libc.Xmalloc(tls, libc.Uint32FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3847. if !(cache != 0) {
  3848. return libc.UintptrFromInt32(0)
  3849. }
  3850. if int64(libc.Xread(tls, fd, cache, libc.Uint32FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))) != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size {
  3851. libc.Xfree(tls, cache)
  3852. return libc.UintptrFromInt32(0)
  3853. }
  3854. allocated = int32(m_FcTrue)
  3855. }
  3856. 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) {
  3857. if allocated != 0 {
  3858. libc.Xfree(tls, cache)
  3859. } else {
  3860. libc.Xmunmap(tls, cache, libc.Uint32FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3861. }
  3862. return libc.UintptrFromInt32(0)
  3863. }
  3864. /* Mark allocated caches so they're freed rather than unmapped */
  3865. if allocated != 0 {
  3866. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  3867. }
  3868. return cache
  3869. }
  3870. func XFcDirCacheReference(tls *libc.TLS, cache uintptr, nref int32) {
  3871. var skip, p3 uintptr
  3872. var v1 int32
  3873. _, _, _ = skip, v1, p3
  3874. skip = _FcCacheFindByAddr(tls, cache)
  3875. if skip != 0 {
  3876. v1 = nref
  3877. p3 = skip + 4
  3878. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += v1
  3879. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - v1
  3880. goto _2
  3881. _2:
  3882. }
  3883. }
  3884. func XIA__FcDirCacheUnload(tls *libc.TLS, cache uintptr) {
  3885. XFcCacheObjectDereference(tls, cache)
  3886. }
  3887. var XFcDirCacheUnload = XIA__FcDirCacheUnload
  3888. func _FcDirCacheMapHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  3889. bp := tls.Alloc(48)
  3890. defer tls.Free(48)
  3891. var cache uintptr
  3892. var v1, v2, v3, v5, v6 int32
  3893. var v4 bool
  3894. var _ /* cache_mtime at bp+0 */ Ttimeval
  3895. var _ /* dir_mtime at bp+32 */ Ttimeval
  3896. var _ /* zero_mtime at bp+16 */ Ttimeval
  3897. _, _, _, _, _, _, _ = cache, v1, v2, v3, v4, v5, v6
  3898. cache = _FcDirCacheMapFd(tls, config, fd, fd_stat, dir_stat)
  3899. *(*Ttimeval)(unsafe.Pointer(bp + 16)) = Ttimeval{}
  3900. if !(cache != 0) {
  3901. return m_FcFalse
  3902. }
  3903. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec = (*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtim.Ftv_sec
  3904. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_sec = (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec
  3905. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec = int64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtim.Ftv_nsec / int32(1000))
  3906. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_usec = int64((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec / int32(1000))
  3907. /* special take care of OSTree */
  3908. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec {
  3909. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_usec)
  3910. } else {
  3911. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec)
  3912. }
  3913. if !(v1 != 0) {
  3914. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  3915. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  3916. } else {
  3917. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  3918. }
  3919. if !(v2 != 0) {
  3920. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  3921. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  3922. }
  3923. } else {
  3924. if v4 = *(*uintptr)(unsafe.Pointer(closure)) != 0; v4 {
  3925. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec {
  3926. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec)
  3927. } else {
  3928. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec)
  3929. }
  3930. }
  3931. if v4 && !(v3 != 0) {
  3932. XIA__FcDirCacheUnload(tls, cache)
  3933. return m_FcFalse
  3934. } else {
  3935. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  3936. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  3937. } else {
  3938. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  3939. }
  3940. if v5 != 0 {
  3941. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  3942. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  3943. }
  3944. }
  3945. }
  3946. }
  3947. } else {
  3948. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  3949. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  3950. } else {
  3951. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  3952. }
  3953. if v6 != 0 {
  3954. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  3955. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  3956. }
  3957. } else {
  3958. XIA__FcDirCacheUnload(tls, cache)
  3959. return m_FcFalse
  3960. }
  3961. }
  3962. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec
  3963. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec
  3964. *(*uintptr)(unsafe.Pointer(closure)) = cache
  3965. return int32(m_FcTrue)
  3966. }
  3967. func XIA__FcDirCacheLoad(tls *libc.TLS, dir uintptr, config uintptr, cache_file uintptr) (r uintptr) {
  3968. bp := tls.Alloc(16)
  3969. defer tls.Free(16)
  3970. var _ /* cache at bp+0 */ uintptr
  3971. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  3972. config = XIA__FcConfigReference(tls, config)
  3973. if !(config != 0) {
  3974. return libc.UintptrFromInt32(0)
  3975. }
  3976. if !(_FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheMapHelper), bp, cache_file) != 0) {
  3977. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  3978. }
  3979. XIA__FcConfigDestroy(tls, config)
  3980. return *(*uintptr)(unsafe.Pointer(bp))
  3981. }
  3982. var XFcDirCacheLoad = XIA__FcDirCacheLoad
  3983. func XIA__FcDirCacheLoadFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r uintptr) {
  3984. bp := tls.Alloc(144)
  3985. defer tls.Free(144)
  3986. var cache, config uintptr
  3987. var fd int32
  3988. var _ /* my_file_stat at bp+0 */ Tstat
  3989. _, _, _ = cache, config, fd
  3990. cache = libc.UintptrFromInt32(0)
  3991. if !(file_stat != 0) {
  3992. file_stat = bp
  3993. }
  3994. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  3995. if !(config != 0) {
  3996. return libc.UintptrFromInt32(0)
  3997. }
  3998. fd = _FcDirCacheOpenFile(tls, cache_file, file_stat)
  3999. if fd >= 0 {
  4000. cache = _FcDirCacheMapFd(tls, config, fd, file_stat, libc.UintptrFromInt32(0))
  4001. libc.Xclose(tls, fd)
  4002. }
  4003. XIA__FcConfigDestroy(tls, config)
  4004. return cache
  4005. }
  4006. var XFcDirCacheLoadFile = XIA__FcDirCacheLoadFile
  4007. func _FcDirChecksum(tls *libc.TLS, statb uintptr) (r int32) {
  4008. bp := tls.Alloc(32)
  4009. defer tls.Free(32)
  4010. var epoch uint64
  4011. var ret int32
  4012. var source_date_epoch uintptr
  4013. var _ /* endptr at bp+0 */ uintptr
  4014. _, _, _ = epoch, ret, source_date_epoch
  4015. ret = int32((*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_sec)
  4016. source_date_epoch = libc.Xgetenv(tls, __ccgo_ts+313)
  4017. if source_date_epoch != 0 {
  4018. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  4019. epoch = libc.Xstrtoull(tls, source_date_epoch, bp, int32(10))
  4020. if *(*uintptr)(unsafe.Pointer(bp)) == source_date_epoch {
  4021. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+331, 0)
  4022. } else {
  4023. 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) {
  4024. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+370, libc.VaList(bp+16, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))), epoch))
  4025. } else {
  4026. if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) != int32('\000') {
  4027. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+421, 0)
  4028. } else {
  4029. if epoch > uint64(libc.Uint32FromUint32(2)*libc.Uint32FromInt32(0x7fffffff)+libc.Uint32FromInt32(1)) {
  4030. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+473, libc.VaList(bp+16, libc.Uint32FromUint32(2)*libc.Uint32FromInt32(0x7fffffff)+libc.Uint32FromInt32(1), epoch))
  4031. } else {
  4032. if epoch < libc.Uint64FromInt32(ret) {
  4033. /* Only override if directory is newer */
  4034. ret = libc.Int32FromUint64(epoch)
  4035. }
  4036. }
  4037. }
  4038. }
  4039. }
  4040. }
  4041. return ret
  4042. }
  4043. func _FcDirChecksumNano(tls *libc.TLS, statb uintptr) (r Tint64_t) {
  4044. /* No nanosecond component to parse */
  4045. if libc.Xgetenv(tls, __ccgo_ts+313) != 0 {
  4046. return 0
  4047. }
  4048. return int64((*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_nsec)
  4049. }
  4050. // C documentation
  4051. //
  4052. // /*
  4053. // * Validate a cache file by reading the header and checking
  4054. // * the magic number and the size field
  4055. // */
  4056. func _FcDirCacheValidateHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  4057. bp := tls.Alloc(48)
  4058. defer tls.Free(48)
  4059. var ret TFcBool
  4060. var _ /* c at bp+0 */ TFcCache
  4061. _ = ret
  4062. ret = int32(m_FcTrue)
  4063. if libc.Uint32FromInt32(libc.Xread(tls, fd, bp, uint32(40))) != uint32(40) {
  4064. ret = m_FcFalse
  4065. } else {
  4066. if (*(*TFcCache)(unsafe.Pointer(bp))).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4067. ret = m_FcFalse
  4068. } else {
  4069. if (*(*TFcCache)(unsafe.Pointer(bp))).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) {
  4070. ret = m_FcFalse
  4071. } else {
  4072. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size != int64((*(*TFcCache)(unsafe.Pointer(bp))).Fsize) {
  4073. ret = m_FcFalse
  4074. } else {
  4075. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum != _FcDirChecksum(tls, dir_stat) {
  4076. ret = m_FcFalse
  4077. } else {
  4078. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum_nano != _FcDirChecksumNano(tls, dir_stat) {
  4079. ret = m_FcFalse
  4080. }
  4081. }
  4082. }
  4083. }
  4084. }
  4085. }
  4086. return ret
  4087. }
  4088. func _FcDirCacheValidConfig(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  4089. return _FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheValidateHelper), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  4090. }
  4091. func XIA__FcDirCacheValid(tls *libc.TLS, dir uintptr) (r TFcBool) {
  4092. var config uintptr
  4093. var ret TFcBool
  4094. _, _ = config, ret
  4095. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  4096. if !(config != 0) {
  4097. return m_FcFalse
  4098. }
  4099. ret = _FcDirCacheValidConfig(tls, dir, config)
  4100. XIA__FcConfigDestroy(tls, config)
  4101. return ret
  4102. }
  4103. var XFcDirCacheValid = XIA__FcDirCacheValid
  4104. // C documentation
  4105. //
  4106. // /*
  4107. // * Build a cache structure from the given contents
  4108. // */
  4109. func XFcDirCacheBuild(tls *libc.TLS, set uintptr, dir uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  4110. var cache, d_serialize, dir_serialize, dirs_serialize, serialize, set_serialize uintptr
  4111. var i int32
  4112. _, _, _, _, _, _, _ = cache, d_serialize, dir_serialize, dirs_serialize, i, serialize, set_serialize
  4113. serialize = XFcSerializeCreate(tls)
  4114. if !(serialize != 0) {
  4115. return libc.UintptrFromInt32(0)
  4116. }
  4117. /*
  4118. * Space for cache structure
  4119. */
  4120. XFcSerializeReserve(tls, serialize, int32(40))
  4121. /*
  4122. * Directory name
  4123. */
  4124. if !(XFcStrSerializeAlloc(tls, serialize, dir) != 0) {
  4125. goto bail1
  4126. }
  4127. /*
  4128. * Subdirs
  4129. */
  4130. XFcSerializeAlloc(tls, serialize, dirs, libc.Int32FromUint32(libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(dirs)).Fnum)*uint32(4)))
  4131. i = 0
  4132. for {
  4133. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  4134. break
  4135. }
  4136. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*4))) != 0) {
  4137. goto bail1
  4138. }
  4139. goto _1
  4140. _1:
  4141. ;
  4142. i++
  4143. }
  4144. /*
  4145. * Patterns
  4146. */
  4147. if !(XFcFontSetSerializeAlloc(tls, serialize, set) != 0) {
  4148. goto bail1
  4149. }
  4150. /* Serialize layout complete. Now allocate space and fill it */
  4151. cache = libc.Xmalloc(tls, libc.Uint32FromInt32((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  4152. if !(cache != 0) {
  4153. goto bail1
  4154. }
  4155. /* shut up valgrind */
  4156. libc.Xmemset(tls, cache, 0, libc.Uint32FromInt32((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  4157. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = cache
  4158. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  4159. (*TFcCache)(unsafe.Pointer(cache)).Fversion = int32(m_FC_CACHE_VERSION_NUMBER)
  4160. (*TFcCache)(unsafe.Pointer(cache)).Fsize = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  4161. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum = _FcDirChecksum(tls, dir_stat)
  4162. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano = _FcDirChecksumNano(tls, dir_stat)
  4163. /*
  4164. * Serialize directory name
  4165. */
  4166. dir_serialize = XFcStrSerialize(tls, serialize, dir)
  4167. if !(dir_serialize != 0) {
  4168. goto bail2
  4169. }
  4170. (*TFcCache)(unsafe.Pointer(cache)).Fdir = int32(dir_serialize) - int32(cache)
  4171. /*
  4172. * Serialize sub dirs
  4173. */
  4174. dirs_serialize = XFcSerializePtr(tls, serialize, dirs)
  4175. if !(dirs_serialize != 0) {
  4176. goto bail2
  4177. }
  4178. (*TFcCache)(unsafe.Pointer(cache)).Fdirs = int32(dirs_serialize) - int32(cache)
  4179. (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count = (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum
  4180. i = 0
  4181. for {
  4182. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  4183. break
  4184. }
  4185. d_serialize = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*4)))
  4186. if !(d_serialize != 0) {
  4187. goto bail2
  4188. }
  4189. *(*Tintptr_t)(unsafe.Pointer(dirs_serialize + uintptr(i)*4)) = int32(d_serialize) - int32(dirs_serialize)
  4190. goto _2
  4191. _2:
  4192. ;
  4193. i++
  4194. }
  4195. /*
  4196. * Serialize font set
  4197. */
  4198. set_serialize = XFcFontSetSerialize(tls, serialize, set)
  4199. if !(set_serialize != 0) {
  4200. goto bail2
  4201. }
  4202. (*TFcCache)(unsafe.Pointer(cache)).Fset = int32(set_serialize) - int32(cache)
  4203. XFcSerializeDestroy(tls, serialize)
  4204. _FcCacheInsert(tls, cache, libc.UintptrFromInt32(0))
  4205. return cache
  4206. goto bail2
  4207. bail2:
  4208. ;
  4209. libc.Xfree(tls, cache)
  4210. goto bail1
  4211. bail1:
  4212. ;
  4213. XFcSerializeDestroy(tls, serialize)
  4214. return libc.UintptrFromInt32(0)
  4215. }
  4216. func XFcDirCacheRebuild(tls *libc.TLS, cache uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  4217. var dir, new1, set uintptr
  4218. _, _, _ = dir, new1, set
  4219. set = XFcFontSetDeserialize(tls, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fset))
  4220. dir = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4221. new1 = XFcDirCacheBuild(tls, set, dir, dir_stat, dirs)
  4222. XIA__FcFontSetDestroy(tls, set)
  4223. return new1
  4224. }
  4225. // C documentation
  4226. //
  4227. // /* write serialized state to the cache file */
  4228. func XFcDirCacheWrite(tls *libc.TLS, cache uintptr, config uintptr) (r TFcBool) {
  4229. bp := tls.Alloc(224)
  4230. defer tls.Free(224)
  4231. var atomic, cache_dir, cache_hashed, d, dir, list, skip, sysroot, test_dir, v1, v2 uintptr
  4232. var fd, written int32
  4233. var magic uint32
  4234. var _ /* cache_base at bp+0 */ [54]TFcChar8
  4235. var _ /* cache_stat at bp+56 */ Tstat
  4236. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = atomic, cache_dir, cache_hashed, d, dir, fd, list, magic, skip, sysroot, test_dir, written, v1, v2
  4237. dir = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4238. cache_dir = libc.UintptrFromInt32(0)
  4239. d = libc.UintptrFromInt32(0)
  4240. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4241. /*
  4242. * Write it to the first directory in the list which is writable
  4243. */
  4244. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4245. if !(list != 0) {
  4246. return m_FcFalse
  4247. }
  4248. for {
  4249. v1 = XIA__FcStrListNext(tls, list)
  4250. test_dir = v1
  4251. if !(v1 != 0) {
  4252. break
  4253. }
  4254. if d != 0 {
  4255. XIA__FcStrFree(tls, d)
  4256. }
  4257. if sysroot != 0 {
  4258. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+208, test_dir, libc.UintptrFromInt32(0)))
  4259. } else {
  4260. d = XIA__FcStrCopyFilename(tls, test_dir)
  4261. }
  4262. if libc.Xaccess(tls, d, int32(m_W_OK)) == 0 {
  4263. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4264. break
  4265. } else {
  4266. /*
  4267. * If the directory doesn't exist, try to create it
  4268. */
  4269. if libc.Xaccess(tls, d, m_F_OK) == -int32(1) {
  4270. if XFcMakeDirectory(tls, d) != 0 {
  4271. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4272. /* Create CACHEDIR.TAG */
  4273. XFcDirCacheCreateTagFile(tls, d)
  4274. break
  4275. }
  4276. } else {
  4277. if libc.Xchmod(tls, d, uint32(0755)) == 0 {
  4278. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4279. /* Try to create CACHEDIR.TAG too */
  4280. XFcDirCacheCreateTagFile(tls, d)
  4281. break
  4282. }
  4283. }
  4284. }
  4285. }
  4286. if !(test_dir != 0) {
  4287. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+533, 0)
  4288. }
  4289. if d != 0 {
  4290. XIA__FcStrFree(tls, d)
  4291. }
  4292. XIA__FcStrListDone(tls, list)
  4293. if !(cache_dir != 0) {
  4294. return m_FcFalse
  4295. }
  4296. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4297. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+208, bp, libc.UintptrFromInt32(0)))
  4298. XIA__FcStrFree(tls, cache_dir)
  4299. if !(cache_hashed != 0) {
  4300. return m_FcFalse
  4301. }
  4302. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4303. libc.Xprintf(tls, __ccgo_ts+582, libc.VaList(bp+208, dir, cache_hashed))
  4304. }
  4305. atomic = XIA__FcAtomicCreate(tls, cache_hashed)
  4306. if !(atomic != 0) {
  4307. goto bail1
  4308. }
  4309. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  4310. goto bail3
  4311. }
  4312. 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+208, int32(0666)))
  4313. if fd == -int32(1) {
  4314. goto bail4
  4315. }
  4316. /* Temporarily switch magic to MMAP while writing to file */
  4317. magic = (*TFcCache)(unsafe.Pointer(cache)).Fmagic
  4318. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4319. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_MMAP1)
  4320. }
  4321. /*
  4322. * Write cache contents to file
  4323. */
  4324. written = libc.Xwrite(tls, fd, cache, libc.Uint32FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  4325. /* Switch magic back */
  4326. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4327. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = magic
  4328. }
  4329. if written != (*TFcCache)(unsafe.Pointer(cache)).Fsize {
  4330. libc.Xperror(tls, __ccgo_ts+621)
  4331. goto bail5
  4332. }
  4333. libc.Xclose(tls, fd)
  4334. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  4335. goto bail4
  4336. }
  4337. /* If the file is small, update the cache chain entry such that the
  4338. * new cache file is not read again. If it's large, we don't do that
  4339. * such that we reload it, using mmap, which is shared across processes.
  4340. */
  4341. if (*TFcCache)(unsafe.Pointer(cache)).Fsize < int32(m_FC_CACHE_MIN_MMAP) && XFcStat(tls, cache_hashed, bp+56) != 0 {
  4342. _lock_cache(tls)
  4343. v2 = _FcCacheFindByAddrUnlocked(tls, cache)
  4344. skip = v2
  4345. if v2 != 0 {
  4346. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_dev = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_dev
  4347. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_ino = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_ino
  4348. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_sec
  4349. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime_nano = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_nsec
  4350. }
  4351. _unlock_cache(tls)
  4352. }
  4353. XIA__FcStrFree(tls, cache_hashed)
  4354. XIA__FcAtomicUnlock(tls, atomic)
  4355. XIA__FcAtomicDestroy(tls, atomic)
  4356. return int32(m_FcTrue)
  4357. goto bail5
  4358. bail5:
  4359. ;
  4360. libc.Xclose(tls, fd)
  4361. goto bail4
  4362. bail4:
  4363. ;
  4364. XIA__FcAtomicUnlock(tls, atomic)
  4365. goto bail3
  4366. bail3:
  4367. ;
  4368. XIA__FcAtomicDestroy(tls, atomic)
  4369. goto bail1
  4370. bail1:
  4371. ;
  4372. XIA__FcStrFree(tls, cache_hashed)
  4373. return m_FcFalse
  4374. }
  4375. func XIA__FcDirCacheClean(tls *libc.TLS, cache_dir uintptr, verbose TFcBool) (r TFcBool) {
  4376. bp := tls.Alloc(176)
  4377. defer tls.Free(176)
  4378. var cache, config, d, dir, ent, file_name, s, sysroot, target_dir, v1, v2 uintptr
  4379. var remove, ret TFcBool
  4380. var _ /* target_stat at bp+0 */ Tstat
  4381. _, _, _, _, _, _, _, _, _, _, _, _, _ = cache, config, d, dir, ent, file_name, remove, ret, s, sysroot, target_dir, v1, v2
  4382. ret = int32(m_FcTrue)
  4383. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  4384. if !(config != 0) {
  4385. return m_FcFalse
  4386. }
  4387. /* FIXME: this API needs to support non-current FcConfig */
  4388. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4389. if sysroot != 0 {
  4390. dir = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, cache_dir, libc.UintptrFromInt32(0)))
  4391. } else {
  4392. dir = XIA__FcStrCopyFilename(tls, cache_dir)
  4393. }
  4394. if !(dir != 0) {
  4395. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+633, libc.VaList(bp+152, cache_dir))
  4396. ret = m_FcFalse
  4397. goto bail
  4398. }
  4399. if libc.Xaccess(tls, dir, int32(m_W_OK)) != 0 {
  4400. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4401. if libc.Xaccess(tls, dir, m_F_OK) == 0 {
  4402. v1 = __ccgo_ts + 670
  4403. } else {
  4404. v1 = __ccgo_ts + 681
  4405. }
  4406. libc.Xprintf(tls, __ccgo_ts+694, libc.VaList(bp+152, dir, v1))
  4407. }
  4408. goto bail0
  4409. }
  4410. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4411. libc.Xprintf(tls, __ccgo_ts+731, libc.VaList(bp+152, dir))
  4412. }
  4413. d = libc.Xopendir(tls, dir)
  4414. if !(d != 0) {
  4415. libc.Xperror(tls, dir)
  4416. ret = m_FcFalse
  4417. goto bail0
  4418. }
  4419. for {
  4420. v2 = libc.Xreaddir(tls, d)
  4421. ent = v2
  4422. if !(v2 != 0) {
  4423. break
  4424. }
  4425. if int32(*(*int8)(unsafe.Pointer(ent + 19))) == int32('.') {
  4426. continue
  4427. }
  4428. /* skip cache files for different architectures and */
  4429. /* files which are not cache files at all */
  4430. 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 {
  4431. continue
  4432. }
  4433. file_name = XIA__FcStrBuildFilename(tls, dir, libc.VaList(bp+152, ent+19, libc.UintptrFromInt32(0)))
  4434. if !(file_name != 0) {
  4435. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+761, libc.VaList(bp+152, dir))
  4436. ret = m_FcFalse
  4437. break
  4438. }
  4439. remove = m_FcFalse
  4440. cache = XIA__FcDirCacheLoadFile(tls, file_name, libc.UintptrFromInt32(0))
  4441. if !(cache != 0) {
  4442. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4443. libc.Xprintf(tls, __ccgo_ts+803, libc.VaList(bp+152, dir, ent+19))
  4444. }
  4445. remove = int32(m_FcTrue)
  4446. } else {
  4447. target_dir = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4448. if sysroot != 0 {
  4449. s = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, target_dir, libc.UintptrFromInt32(0)))
  4450. } else {
  4451. s = libc.Xstrdup(tls, target_dir)
  4452. }
  4453. if libc.Xstat(tls, s, bp) < 0 {
  4454. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4455. libc.Xprintf(tls, __ccgo_ts+831, libc.VaList(bp+152, dir, ent+19, s))
  4456. }
  4457. remove = int32(m_FcTrue)
  4458. }
  4459. XIA__FcDirCacheUnload(tls, cache)
  4460. XIA__FcStrFree(tls, s)
  4461. }
  4462. if remove != 0 {
  4463. if libc.Xunlink(tls, file_name) < 0 {
  4464. libc.Xperror(tls, file_name)
  4465. ret = m_FcFalse
  4466. }
  4467. }
  4468. XIA__FcStrFree(tls, file_name)
  4469. }
  4470. libc.Xclosedir(tls, d)
  4471. goto bail0
  4472. bail0:
  4473. ;
  4474. XIA__FcStrFree(tls, dir)
  4475. goto bail
  4476. bail:
  4477. ;
  4478. XIA__FcConfigDestroy(tls, config)
  4479. return ret
  4480. }
  4481. var XFcDirCacheClean = XIA__FcDirCacheClean
  4482. func XFcDirCacheLock(tls *libc.TLS, dir uintptr, config uintptr) (r int32) {
  4483. bp := tls.Alloc(112)
  4484. defer tls.Free(112)
  4485. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  4486. var fd int32
  4487. var _ /* cache_base at bp+0 */ [54]TFcChar8
  4488. var _ /* fl at bp+56 */ Tflock
  4489. _, _, _, _, _, _ = cache_dir, cache_hashed, fd, list, sysroot, v1
  4490. cache_hashed = libc.UintptrFromInt32(0)
  4491. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4492. fd = -int32(1)
  4493. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4494. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4495. if !(list != 0) {
  4496. return -int32(1)
  4497. }
  4498. for {
  4499. v1 = XIA__FcStrListNext(tls, list)
  4500. cache_dir = v1
  4501. if !(v1 != 0) {
  4502. break
  4503. }
  4504. if sysroot != 0 {
  4505. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+88, cache_dir, bp, libc.UintptrFromInt32(0)))
  4506. } else {
  4507. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+88, bp, libc.UintptrFromInt32(0)))
  4508. }
  4509. if !(cache_hashed != 0) {
  4510. break
  4511. }
  4512. fd = XFcOpen(tls, cache_hashed, int32(m_O_RDWR), 0)
  4513. XIA__FcStrFree(tls, cache_hashed)
  4514. /* No caches in that directory. simply retry with another one */
  4515. if fd != -int32(1) {
  4516. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_type = int16(m_F_WRLCK)
  4517. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_whence = 0
  4518. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_start = 0
  4519. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_len = 0
  4520. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_pid = libc.Xgetpid(tls)
  4521. if libc.Xfcntl(tls, fd, int32(m_F_SETLKW), libc.VaList(bp+88, bp+56)) == -int32(1) {
  4522. goto bail
  4523. }
  4524. break
  4525. }
  4526. }
  4527. XIA__FcStrListDone(tls, list)
  4528. return fd
  4529. goto bail
  4530. bail:
  4531. ;
  4532. XIA__FcStrListDone(tls, list)
  4533. if fd != -int32(1) {
  4534. libc.Xclose(tls, fd)
  4535. }
  4536. return -int32(1)
  4537. }
  4538. func XFcDirCacheUnlock(tls *libc.TLS, fd int32) {
  4539. bp := tls.Alloc(48)
  4540. defer tls.Free(48)
  4541. var _ /* fl at bp+0 */ Tflock
  4542. if fd != -int32(1) {
  4543. (*(*Tflock)(unsafe.Pointer(bp))).Fl_type = int16(m_F_UNLCK)
  4544. (*(*Tflock)(unsafe.Pointer(bp))).Fl_whence = 0
  4545. (*(*Tflock)(unsafe.Pointer(bp))).Fl_start = 0
  4546. (*(*Tflock)(unsafe.Pointer(bp))).Fl_len = 0
  4547. (*(*Tflock)(unsafe.Pointer(bp))).Fl_pid = libc.Xgetpid(tls)
  4548. libc.Xfcntl(tls, fd, int32(m_F_SETLK), libc.VaList(bp+32, bp))
  4549. libc.Xclose(tls, fd)
  4550. }
  4551. }
  4552. /*
  4553. * Hokey little macro trick to permit the definitions of C functions
  4554. * with the same name as CPP macros
  4555. */
  4556. func XFcCacheDir(tls *libc.TLS, c uintptr) (r uintptr) {
  4557. return uintptr(int32(c) + (*TFcCache)(unsafe.Pointer(c)).Fdir)
  4558. }
  4559. func XIA__FcCacheCopySet(tls *libc.TLS, c uintptr) (r uintptr) {
  4560. var font, new1, old, v2, v3 uintptr
  4561. var i int32
  4562. _, _, _, _, _, _ = font, i, new1, old, v2, v3
  4563. old = uintptr(int32(c) + (*TFcCache)(unsafe.Pointer(c)).Fset)
  4564. new1 = XIA__FcFontSetCreate(tls)
  4565. if !(new1 != 0) {
  4566. return libc.UintptrFromInt32(0)
  4567. }
  4568. i = 0
  4569. for {
  4570. if !(i < (*TFcFontSet)(unsafe.Pointer(old)).Fnfont) {
  4571. break
  4572. }
  4573. if int32((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int32(1) != 0 {
  4574. if int32((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int32(1) != 0 {
  4575. v3 = uintptr(int32(old) + int32((*TFcFontSet)(unsafe.Pointer(old)).Ffonts) & ^libc.Int32FromInt32(1))
  4576. } else {
  4577. v3 = (*TFcFontSet)(unsafe.Pointer(old)).Ffonts
  4578. }
  4579. v2 = uintptr(int32(old) + int32(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*4))) & ^libc.Int32FromInt32(1))
  4580. } else {
  4581. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(old)).Ffonts + uintptr(i)*4))
  4582. }
  4583. font = v2
  4584. XIA__FcPatternReference(tls, font)
  4585. if !(XIA__FcFontSetAdd(tls, new1, font) != 0) {
  4586. XIA__FcFontSetDestroy(tls, new1)
  4587. return libc.UintptrFromInt32(0)
  4588. }
  4589. goto _1
  4590. _1:
  4591. ;
  4592. i++
  4593. }
  4594. return new1
  4595. }
  4596. var XFcCacheCopySet = XIA__FcCacheCopySet
  4597. func XFcCacheSubdir(tls *libc.TLS, c uintptr, i int32) (r uintptr) {
  4598. 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)))
  4599. }
  4600. func XIA__FcCacheNumSubdir(tls *libc.TLS, c uintptr) (r int32) {
  4601. return (*TFcCache)(unsafe.Pointer(c)).Fdirs_count
  4602. }
  4603. var XFcCacheNumSubdir = XIA__FcCacheNumSubdir
  4604. func XIA__FcCacheNumFont(tls *libc.TLS, c uintptr) (r int32) {
  4605. return (*TFcFontSet)(unsafe.Pointer(uintptr(int32(c) + (*TFcCache)(unsafe.Pointer(c)).Fset))).Fnfont
  4606. }
  4607. var XFcCacheNumFont = XIA__FcCacheNumFont
  4608. func XFcDirCacheCreateTagFile(tls *libc.TLS, cache_dir uintptr) (r TFcBool) {
  4609. bp := tls.Alloc(32)
  4610. defer tls.Free(32)
  4611. var atomic, cache_tag, fp uintptr
  4612. var fd int32
  4613. var ret TFcBool
  4614. _, _, _, _, _ = atomic, cache_tag, fd, fp, ret
  4615. ret = m_FcFalse
  4616. if !(cache_dir != 0) {
  4617. return m_FcFalse
  4618. }
  4619. if libc.Xaccess(tls, cache_dir, int32(m_W_OK)) == 0 {
  4620. /* Create CACHEDIR.TAG */
  4621. cache_tag = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+8, __ccgo_ts+863, libc.UintptrFromInt32(0)))
  4622. if !(cache_tag != 0) {
  4623. return m_FcFalse
  4624. }
  4625. atomic = XIA__FcAtomicCreate(tls, cache_tag)
  4626. if !(atomic != 0) {
  4627. goto bail1
  4628. }
  4629. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  4630. goto bail2
  4631. }
  4632. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+8, int32(0644)))
  4633. if fd == -int32(1) {
  4634. goto bail3
  4635. }
  4636. fp = libc.Xfdopen(tls, fd, __ccgo_ts+876)
  4637. if fp == libc.UintptrFromInt32(0) {
  4638. goto bail3
  4639. }
  4640. libc.Xfwrite(tls, uintptr(unsafe.Pointer(&_cache_tag_contents)), _cache_tag_contents_size, uint32(1), fp)
  4641. libc.Xfclose(tls, fp)
  4642. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  4643. goto bail3
  4644. }
  4645. ret = int32(m_FcTrue)
  4646. goto bail3
  4647. bail3:
  4648. ;
  4649. XIA__FcAtomicUnlock(tls, atomic)
  4650. goto bail2
  4651. bail2:
  4652. ;
  4653. XIA__FcAtomicDestroy(tls, atomic)
  4654. goto bail1
  4655. bail1:
  4656. ;
  4657. XIA__FcStrFree(tls, cache_tag)
  4658. }
  4659. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4660. if ret != 0 {
  4661. libc.Xprintf(tls, __ccgo_ts+879, libc.VaList(bp+8, cache_dir))
  4662. } else {
  4663. libc.Xprintf(tls, __ccgo_ts+907, libc.VaList(bp+8, cache_dir))
  4664. }
  4665. }
  4666. return ret
  4667. }
  4668. 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}
  4669. var _cache_tag_contents_size = libc.Uint32FromInt64(201) - libc.Uint32FromInt32(1)
  4670. func XIA__FcCacheCreateTagFile(tls *libc.TLS, config uintptr) {
  4671. bp := tls.Alloc(32)
  4672. defer tls.Free(32)
  4673. var cache_dir, d, list, sysroot, v1 uintptr
  4674. _, _, _, _, _ = cache_dir, d, list, sysroot, v1
  4675. cache_dir = libc.UintptrFromInt32(0)
  4676. d = libc.UintptrFromInt32(0)
  4677. config = XIA__FcConfigReference(tls, config)
  4678. if !(config != 0) {
  4679. return
  4680. }
  4681. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4682. list = XIA__FcConfigGetCacheDirs(tls, config)
  4683. if !(list != 0) {
  4684. goto bail
  4685. }
  4686. for {
  4687. v1 = XIA__FcStrListNext(tls, list)
  4688. cache_dir = v1
  4689. if !(v1 != 0) {
  4690. break
  4691. }
  4692. if d != 0 {
  4693. XIA__FcStrFree(tls, d)
  4694. }
  4695. if sysroot != 0 {
  4696. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, cache_dir, libc.UintptrFromInt32(0)))
  4697. } else {
  4698. d = XIA__FcStrCopyFilename(tls, cache_dir)
  4699. }
  4700. if XFcDirCacheCreateTagFile(tls, d) != 0 {
  4701. break
  4702. }
  4703. }
  4704. if d != 0 {
  4705. XIA__FcStrFree(tls, d)
  4706. }
  4707. XIA__FcStrListDone(tls, list)
  4708. goto bail
  4709. bail:
  4710. ;
  4711. XIA__FcConfigDestroy(tls, config)
  4712. }
  4713. var XFcCacheCreateTagFile = XIA__FcCacheCreateTagFile
  4714. const m_FC_CACHE_MAGIC_ALLOC2 = 0xFC02FC05
  4715. const m_FC_CACHE_MAGIC_MMAP2 = 0xFC02FC04
  4716. const m_FC_DIR_SEPARATOR1 = 47
  4717. const m_FC_DIR_SEPARATOR_S1 = "/.cache"
  4718. const m_FC_SEARCH_PATH_SEPARATOR1 = 58
  4719. const m_FONTCONFIG_FILE = "fonts.conf"
  4720. const m_INT32_MAX2 = 0x7fffffff
  4721. const m_LLONG_MAX2 = 0x7fffffffffffffff
  4722. const m_S_IFIFO1 = 4096
  4723. const m_S_IFMT1 = 61440
  4724. const m___LONG_MAX2 = 0x7fffffff
  4725. var __fcConfig uintptr /* MT-safe */
  4726. var __lock uintptr
  4727. func _lock_config(tls *libc.TLS) {
  4728. var lock uintptr
  4729. var v1 int32
  4730. _, _ = lock, v1
  4731. goto retry
  4732. retry:
  4733. ;
  4734. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4735. if !(lock != 0) {
  4736. lock = libc.Xmalloc(tls, uint32(4))
  4737. _ = lock
  4738. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == libc.UintptrFromInt32(0) {
  4739. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = lock
  4740. v1 = libc.Int32FromInt32(m_FcTrue)
  4741. } else {
  4742. v1 = m_FcFalse
  4743. }
  4744. if !(v1 != 0) {
  4745. _ = lock
  4746. libc.Xfree(tls, lock)
  4747. goto retry
  4748. }
  4749. _ = lock
  4750. /* Initialize random state */
  4751. XFcRandom(tls)
  4752. return
  4753. }
  4754. _ = lock
  4755. }
  4756. func _unlock_config(tls *libc.TLS) {
  4757. var lock uintptr
  4758. _ = lock
  4759. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4760. _ = lock
  4761. }
  4762. func _free_lock1(tls *libc.TLS) {
  4763. var lock uintptr
  4764. var v1 int32
  4765. var v2 bool
  4766. _, _, _ = lock, v1, v2
  4767. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4768. if v2 = lock != 0; v2 {
  4769. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == lock {
  4770. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = libc.UintptrFromInt32(0)
  4771. v1 = libc.Int32FromInt32(m_FcTrue)
  4772. } else {
  4773. v1 = m_FcFalse
  4774. }
  4775. }
  4776. if v2 && v1 != 0 {
  4777. _ = lock
  4778. libc.Xfree(tls, lock)
  4779. }
  4780. }
  4781. func _FcConfigEnsure(tls *libc.TLS) (r uintptr) {
  4782. var config uintptr
  4783. var v1 int32
  4784. var v2 bool
  4785. _, _, _ = config, v1, v2
  4786. goto retry
  4787. retry:
  4788. ;
  4789. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4790. if !(config != 0) {
  4791. config = XIA__FcInitLoadConfigAndFonts(tls)
  4792. if v2 = !(config != 0); !v2 {
  4793. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  4794. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  4795. v1 = libc.Int32FromInt32(m_FcTrue)
  4796. } else {
  4797. v1 = m_FcFalse
  4798. }
  4799. }
  4800. if v2 || !(v1 != 0) {
  4801. if config != 0 {
  4802. XIA__FcConfigDestroy(tls, config)
  4803. }
  4804. goto retry
  4805. }
  4806. }
  4807. return config
  4808. }
  4809. func _FcDestroyAsRule(tls *libc.TLS, data uintptr) {
  4810. XFcRuleDestroy(tls, data)
  4811. }
  4812. func _FcDestroyAsRuleSet(tls *libc.TLS, data uintptr) {
  4813. XFcRuleSetDestroy(tls, data)
  4814. }
  4815. func XFcConfigInit(tls *libc.TLS) (r TFcBool) {
  4816. var v1 int32
  4817. _ = v1
  4818. if _FcConfigEnsure(tls) != 0 {
  4819. v1 = int32(m_FcTrue)
  4820. } else {
  4821. v1 = m_FcFalse
  4822. }
  4823. return v1
  4824. }
  4825. func XFcConfigFini(tls *libc.TLS) {
  4826. var cfg uintptr
  4827. var v1 int32
  4828. var v2 bool
  4829. _, _, _ = cfg, v1, v2
  4830. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4831. if v2 = cfg != 0; v2 {
  4832. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  4833. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  4834. v1 = libc.Int32FromInt32(m_FcTrue)
  4835. } else {
  4836. v1 = m_FcFalse
  4837. }
  4838. }
  4839. if v2 && v1 != 0 {
  4840. XIA__FcConfigDestroy(tls, cfg)
  4841. }
  4842. _free_lock1(tls)
  4843. }
  4844. func XIA__FcConfigCreate(tls *libc.TLS) (r uintptr) {
  4845. var config uintptr
  4846. var err TFcBool
  4847. var k TFcMatchKind
  4848. var set TFcSetName
  4849. _, _, _, _ = config, err, k, set
  4850. err = m_FcFalse
  4851. config = libc.Xmalloc(tls, uint32(92))
  4852. if !(config != 0) {
  4853. goto bail0
  4854. }
  4855. (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs = XIA__FcStrSetCreate(tls)
  4856. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigDirs != 0) {
  4857. goto bail1
  4858. }
  4859. (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs = XIA__FcStrSetCreate(tls)
  4860. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs != 0) {
  4861. goto bail1_5
  4862. }
  4863. (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles = XIA__FcStrSetCreate(tls)
  4864. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigFiles != 0) {
  4865. goto bail2
  4866. }
  4867. (*TFcConfig)(unsafe.Pointer(config)).FfontDirs = XIA__FcStrSetCreate(tls)
  4868. if !((*TFcConfig)(unsafe.Pointer(config)).FfontDirs != 0) {
  4869. goto bail3
  4870. }
  4871. (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs = XIA__FcStrSetCreate(tls)
  4872. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs != 0) {
  4873. goto bail4
  4874. }
  4875. (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs = XIA__FcStrSetCreate(tls)
  4876. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs != 0) {
  4877. goto bail5
  4878. }
  4879. (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns = XIA__FcFontSetCreate(tls)
  4880. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns != 0) {
  4881. goto bail6
  4882. }
  4883. (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns = XIA__FcFontSetCreate(tls)
  4884. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns != 0) {
  4885. goto bail7
  4886. }
  4887. (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs = XIA__FcStrSetCreate(tls)
  4888. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0) {
  4889. goto bail8
  4890. }
  4891. k = int32(_FcMatchKindBegin)
  4892. for {
  4893. if !(k < int32(_FcMatchKindEnd)) {
  4894. break
  4895. }
  4896. *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4897. if !(*(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)) != 0) {
  4898. err = int32(m_FcTrue)
  4899. }
  4900. goto _1
  4901. _1:
  4902. ;
  4903. k++
  4904. }
  4905. if err != 0 {
  4906. goto bail9
  4907. }
  4908. (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects = 0
  4909. set = int32(_FcSetSystem)
  4910. for {
  4911. if !(set <= int32(_FcSetApplication)) {
  4912. break
  4913. }
  4914. *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)) = uintptr(0)
  4915. goto _2
  4916. _2:
  4917. ;
  4918. set++
  4919. }
  4920. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = libc.Xtime(tls, uintptr(0))
  4921. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = int32(30)
  4922. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = libc.UintptrFromInt32(0)
  4923. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = XFcStrRealPath(tls, libc.Xgetenv(tls, __ccgo_ts+944))
  4924. (*TFcConfig)(unsafe.Pointer(config)).FrulesetList = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4925. if !((*TFcConfig)(unsafe.Pointer(config)).FrulesetList != 0) {
  4926. goto bail9
  4927. }
  4928. (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles = XIA__FcStrSetCreate(tls)
  4929. if !((*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles != 0) {
  4930. goto bail10
  4931. }
  4932. (*TFcRef)(unsafe.Pointer(config + 72)).Fcount = int32(1)
  4933. return config
  4934. goto bail10
  4935. bail10:
  4936. ;
  4937. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  4938. goto bail9
  4939. bail9:
  4940. ;
  4941. k = int32(_FcMatchKindBegin)
  4942. for {
  4943. if !(k < int32(_FcMatchKindEnd)) {
  4944. break
  4945. }
  4946. if *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)) != 0 {
  4947. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)))
  4948. }
  4949. goto _3
  4950. _3:
  4951. ;
  4952. k++
  4953. }
  4954. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4955. goto bail8
  4956. bail8:
  4957. ;
  4958. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  4959. goto bail7
  4960. bail7:
  4961. ;
  4962. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  4963. goto bail6
  4964. bail6:
  4965. ;
  4966. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  4967. goto bail5
  4968. bail5:
  4969. ;
  4970. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  4971. goto bail4
  4972. bail4:
  4973. ;
  4974. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  4975. goto bail3
  4976. bail3:
  4977. ;
  4978. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  4979. goto bail2
  4980. bail2:
  4981. ;
  4982. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  4983. goto bail1_5
  4984. bail1_5:
  4985. ;
  4986. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  4987. goto bail1
  4988. bail1:
  4989. ;
  4990. libc.Xfree(tls, config)
  4991. goto bail0
  4992. bail0:
  4993. ;
  4994. return uintptr(0)
  4995. return r
  4996. }
  4997. var XFcConfigCreate = XIA__FcConfigCreate
  4998. func _FcConfigNewestFile(tls *libc.TLS, files uintptr) (r TFcFileTime) {
  4999. bp := tls.Alloc(144)
  5000. defer tls.Free(144)
  5001. var file, list, v1 uintptr
  5002. var newest TFcFileTime
  5003. var _ /* statb at bp+0 */ Tstat
  5004. _, _, _, _ = file, list, newest, v1
  5005. list = XIA__FcStrListCreate(tls, files)
  5006. newest = TFcFileTime{}
  5007. if list != 0 {
  5008. for {
  5009. v1 = XIA__FcStrListNext(tls, list)
  5010. file = v1
  5011. if !(v1 != 0) {
  5012. break
  5013. }
  5014. if XFcStat(tls, file, bp) == 0 {
  5015. if !(newest.Fset != 0) || (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec-newest.Ftime > 0 {
  5016. newest.Fset = int32(m_FcTrue)
  5017. newest.Ftime = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec
  5018. }
  5019. }
  5020. }
  5021. XIA__FcStrListDone(tls, list)
  5022. }
  5023. return newest
  5024. }
  5025. func XIA__FcConfigUptoDate(tls *libc.TLS, config uintptr) (r TFcBool) {
  5026. var config_dir_time, config_time, font_time TFcFileTime
  5027. var now Ttime_t
  5028. var ret TFcBool
  5029. _, _, _, _, _ = config_dir_time, config_time, font_time, now, ret
  5030. now = libc.Xtime(tls, uintptr(0))
  5031. ret = int32(m_FcTrue)
  5032. config = XIA__FcConfigReference(tls, config)
  5033. if !(config != 0) {
  5034. return m_FcFalse
  5035. }
  5036. config_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5037. config_dir_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5038. font_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5039. 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 {
  5040. /* We need to check for potential clock problems here (OLPC ticket #6046) */
  5041. 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 {
  5042. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+963, 0)
  5043. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  5044. goto bail
  5045. } else {
  5046. ret = m_FcFalse
  5047. goto bail
  5048. }
  5049. }
  5050. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  5051. goto bail
  5052. bail:
  5053. ;
  5054. XIA__FcConfigDestroy(tls, config)
  5055. return ret
  5056. }
  5057. var XFcConfigUptoDate = XIA__FcConfigUptoDate
  5058. func XFcConfigAllocExpr(tls *libc.TLS, config uintptr) (r uintptr) {
  5059. var new_page, v1, v2 uintptr
  5060. _, _, _ = new_page, v1, v2
  5061. 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 {
  5062. new_page = libc.Xmalloc(tls, uint32(4088))
  5063. if !(new_page != 0) {
  5064. return uintptr(0)
  5065. }
  5066. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext_page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  5067. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext = new_page + 8
  5068. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = new_page
  5069. }
  5070. v2 = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool + 4
  5071. v1 = *(*uintptr)(unsafe.Pointer(v2))
  5072. *(*uintptr)(unsafe.Pointer(v2)) += 12
  5073. return v1
  5074. }
  5075. func XIA__FcConfigReference(tls *libc.TLS, config uintptr) (r uintptr) {
  5076. var v1 int32
  5077. var p3, p5 uintptr
  5078. _, _, _ = v1, p3, p5
  5079. if !(config != 0) {
  5080. /* lock during obtaining the value from _fcConfig and count up refcount there,
  5081. * there are the race between them.
  5082. */
  5083. _lock_config(tls)
  5084. goto retry
  5085. retry:
  5086. ;
  5087. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  5088. if !(config != 0) {
  5089. _unlock_config(tls)
  5090. config = XIA__FcInitLoadConfigAndFonts(tls)
  5091. if !(config != 0) {
  5092. goto retry
  5093. }
  5094. _lock_config(tls)
  5095. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  5096. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  5097. v1 = libc.Int32FromInt32(m_FcTrue)
  5098. } else {
  5099. v1 = m_FcFalse
  5100. }
  5101. if !(v1 != 0) {
  5102. XIA__FcConfigDestroy(tls, config)
  5103. goto retry
  5104. }
  5105. }
  5106. p3 = config + 72
  5107. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  5108. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  5109. goto _2
  5110. _2:
  5111. ;
  5112. _unlock_config(tls)
  5113. } else {
  5114. p5 = config + 72
  5115. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += +libc.Int32FromInt32(1)
  5116. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - +libc.Int32FromInt32(1)
  5117. goto _4
  5118. _4:
  5119. }
  5120. return config
  5121. }
  5122. var XFcConfigReference = XIA__FcConfigReference
  5123. func XIA__FcConfigDestroy(tls *libc.TLS, config uintptr) {
  5124. var k TFcMatchKind
  5125. var next, page, p3 uintptr
  5126. var set TFcSetName
  5127. var v1 int32
  5128. _, _, _, _, _, _ = k, next, page, set, v1, p3
  5129. p3 = config + 72
  5130. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  5131. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  5132. goto _2
  5133. _2:
  5134. if v1 != int32(1) {
  5135. return
  5136. }
  5137. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == config {
  5138. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  5139. _ = libc.Int32FromInt32(m_FcTrue)
  5140. }
  5141. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5142. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  5143. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5144. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5145. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5146. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  5147. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  5148. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  5149. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  5150. k = int32(_FcMatchKindBegin)
  5151. for {
  5152. if !(k < int32(_FcMatchKindEnd)) {
  5153. break
  5154. }
  5155. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(k)*4)))
  5156. goto _5
  5157. _5:
  5158. ;
  5159. k++
  5160. }
  5161. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  5162. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles)
  5163. set = int32(_FcSetSystem)
  5164. for {
  5165. if !(set <= int32(_FcSetApplication)) {
  5166. break
  5167. }
  5168. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)) != 0 {
  5169. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)))
  5170. }
  5171. goto _6
  5172. _6:
  5173. ;
  5174. set++
  5175. }
  5176. page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  5177. for page != 0 {
  5178. next = (*TFcExprPage)(unsafe.Pointer(page)).Fnext_page
  5179. libc.Xfree(tls, page)
  5180. page = next
  5181. }
  5182. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  5183. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  5184. }
  5185. libc.Xfree(tls, config)
  5186. }
  5187. var XFcConfigDestroy = XIA__FcConfigDestroy
  5188. /*
  5189. * Add cache to configuration, adding fonts and directories
  5190. */
  5191. func XFcConfigAddCache(tls *libc.TLS, config uintptr, cache uintptr, set TFcSetName, dirSet uintptr, forDir uintptr) (r TFcBool) {
  5192. bp := tls.Alloc(32)
  5193. defer tls.Free(32)
  5194. var base, dir, dirs, font, fs, relocated_font_file, s, slash, v2, v3, v5 uintptr
  5195. var i, nref int32
  5196. var relocated TFcBool
  5197. var _ /* font_file at bp+0 */ uintptr
  5198. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, font, fs, i, nref, relocated, relocated_font_file, s, slash, v2, v3, v5
  5199. relocated = m_FcFalse
  5200. if libc.Xstrcmp(tls, uintptr(int32(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), forDir) != 0 {
  5201. relocated = int32(m_FcTrue)
  5202. }
  5203. /*
  5204. * Add fonts
  5205. */
  5206. fs = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  5207. if fs != 0 {
  5208. nref = 0
  5209. i = 0
  5210. for {
  5211. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  5212. break
  5213. }
  5214. if int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int32(1) != 0 {
  5215. if int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int32(1) != 0 {
  5216. v3 = uintptr(int32(fs) + int32((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts) & ^libc.Int32FromInt32(1))
  5217. } else {
  5218. v3 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  5219. }
  5220. v2 = uintptr(int32(fs) + int32(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*4))) & ^libc.Int32FromInt32(1))
  5221. } else {
  5222. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*4))
  5223. }
  5224. font = v2
  5225. relocated_font_file = libc.UintptrFromInt32(0)
  5226. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) {
  5227. if relocated != 0 {
  5228. slash = XFcStrLastSlash(tls, *(*uintptr)(unsafe.Pointer(bp)))
  5229. relocated_font_file = XIA__FcStrBuildFilename(tls, forDir, libc.VaList(bp+16, slash+uintptr(1), libc.UintptrFromInt32(0)))
  5230. *(*uintptr)(unsafe.Pointer(bp)) = relocated_font_file
  5231. }
  5232. /*
  5233. * Check to see if font is banned by filename
  5234. */
  5235. if !(XFcConfigAcceptFilename(tls, config, *(*uintptr)(unsafe.Pointer(bp))) != 0) {
  5236. libc.Xfree(tls, relocated_font_file)
  5237. goto _1
  5238. }
  5239. }
  5240. /*
  5241. * Check to see if font is banned by pattern
  5242. */
  5243. if !(XFcConfigAcceptFont(tls, config, font) != 0) {
  5244. libc.Xfree(tls, relocated_font_file)
  5245. goto _1
  5246. }
  5247. if relocated_font_file != 0 {
  5248. font = XFcPatternCacheRewriteFile(tls, font, cache, relocated_font_file)
  5249. libc.Xfree(tls, relocated_font_file)
  5250. }
  5251. if XIA__FcFontSetAdd(tls, *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)), font) != 0 {
  5252. nref++
  5253. }
  5254. goto _1
  5255. _1:
  5256. ;
  5257. i++
  5258. }
  5259. XFcDirCacheReference(tls, cache, nref)
  5260. }
  5261. /*
  5262. * Add directories
  5263. */
  5264. dirs = uintptr(int32(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  5265. if dirs != 0 {
  5266. i = 0
  5267. for {
  5268. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  5269. break
  5270. }
  5271. 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)))
  5272. s = libc.UintptrFromInt32(0)
  5273. if relocated != 0 {
  5274. base = XIA__FcStrBasename(tls, dir)
  5275. v5 = XIA__FcStrBuildFilename(tls, forDir, libc.VaList(bp+16, base, libc.UintptrFromInt32(0)))
  5276. s = v5
  5277. dir = v5
  5278. XIA__FcStrFree(tls, base)
  5279. }
  5280. if XFcConfigAcceptFilename(tls, config, dir) != 0 {
  5281. XIA__FcStrSetAddFilename(tls, dirSet, dir)
  5282. }
  5283. if s != 0 {
  5284. XIA__FcStrFree(tls, s)
  5285. }
  5286. goto _4
  5287. _4:
  5288. ;
  5289. i++
  5290. }
  5291. }
  5292. return int32(m_FcTrue)
  5293. }
  5294. func _FcConfigAddDirList(tls *libc.TLS, config uintptr, set TFcSetName, dirSet uintptr) (r TFcBool) {
  5295. bp := tls.Alloc(16)
  5296. defer tls.Free(16)
  5297. var cache, dir, dirlist, v1 uintptr
  5298. _, _, _, _ = cache, dir, dirlist, v1
  5299. dirlist = XIA__FcStrListCreate(tls, dirSet)
  5300. if !(dirlist != 0) {
  5301. return m_FcFalse
  5302. }
  5303. for {
  5304. v1 = XIA__FcStrListNext(tls, dirlist)
  5305. dir = v1
  5306. if !(v1 != 0) {
  5307. break
  5308. }
  5309. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5310. libc.Xprintf(tls, __ccgo_ts+1051, libc.VaList(bp+8, dir))
  5311. }
  5312. cache = XIA__FcDirCacheRead(tls, dir, m_FcFalse, config)
  5313. if !(cache != 0) {
  5314. continue
  5315. }
  5316. XFcConfigAddCache(tls, config, cache, set, dirSet, dir)
  5317. XIA__FcDirCacheUnload(tls, cache)
  5318. }
  5319. XIA__FcStrListDone(tls, dirlist)
  5320. return int32(m_FcTrue)
  5321. }
  5322. /*
  5323. * Scan the current list of directories in the configuration
  5324. * and build the set of available fonts.
  5325. */
  5326. func XIA__FcConfigBuildFonts(tls *libc.TLS, config uintptr) (r TFcBool) {
  5327. var fonts uintptr
  5328. var ret TFcBool
  5329. _, _ = fonts, ret
  5330. ret = int32(m_FcTrue)
  5331. config = XIA__FcConfigReference(tls, config)
  5332. if !(config != 0) {
  5333. return m_FcFalse
  5334. }
  5335. fonts = XIA__FcFontSetCreate(tls)
  5336. if !(fonts != 0) {
  5337. ret = m_FcFalse
  5338. goto bail
  5339. }
  5340. XFcConfigSetFonts(tls, config, fonts, int32(_FcSetSystem))
  5341. if !(_FcConfigAddDirList(tls, config, int32(_FcSetSystem), (*TFcConfig)(unsafe.Pointer(config)).FfontDirs) != 0) {
  5342. ret = m_FcFalse
  5343. goto bail
  5344. }
  5345. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5346. XIA__FcFontSetPrint(tls, fonts)
  5347. }
  5348. goto bail
  5349. bail:
  5350. ;
  5351. XIA__FcConfigDestroy(tls, config)
  5352. return ret
  5353. }
  5354. var XFcConfigBuildFonts = XIA__FcConfigBuildFonts
  5355. func XIA__FcConfigSetCurrent(tls *libc.TLS, config uintptr) (r TFcBool) {
  5356. var cfg, p2 uintptr
  5357. var v3 int32
  5358. _, _, _ = cfg, v3, p2
  5359. if config != 0 {
  5360. if !(*(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4)) != 0) {
  5361. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  5362. return m_FcFalse
  5363. }
  5364. }
  5365. p2 = config + 72
  5366. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  5367. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  5368. goto _1
  5369. _1:
  5370. }
  5371. _lock_config(tls)
  5372. goto retry
  5373. retry:
  5374. ;
  5375. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  5376. if config == cfg {
  5377. _unlock_config(tls)
  5378. if config != 0 {
  5379. XIA__FcConfigDestroy(tls, config)
  5380. }
  5381. return int32(m_FcTrue)
  5382. }
  5383. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  5384. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  5385. v3 = libc.Int32FromInt32(m_FcTrue)
  5386. } else {
  5387. v3 = m_FcFalse
  5388. }
  5389. if !(v3 != 0) {
  5390. goto retry
  5391. }
  5392. _unlock_config(tls)
  5393. if cfg != 0 {
  5394. XIA__FcConfigDestroy(tls, cfg)
  5395. }
  5396. return int32(m_FcTrue)
  5397. }
  5398. var XFcConfigSetCurrent = XIA__FcConfigSetCurrent
  5399. func XIA__FcConfigGetCurrent(tls *libc.TLS) (r uintptr) {
  5400. return _FcConfigEnsure(tls)
  5401. }
  5402. var XFcConfigGetCurrent = XIA__FcConfigGetCurrent
  5403. func XFcConfigAddConfigDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5404. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs, d)
  5405. }
  5406. func XIA__FcConfigGetConfigDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5407. var ret uintptr
  5408. _ = ret
  5409. config = XIA__FcConfigReference(tls, config)
  5410. if !(config != 0) {
  5411. return libc.UintptrFromInt32(0)
  5412. }
  5413. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5414. XIA__FcConfigDestroy(tls, config)
  5415. return ret
  5416. }
  5417. var XFcConfigGetConfigDirs = XIA__FcConfigGetConfigDirs
  5418. func XFcConfigAddFontDir(tls *libc.TLS, config uintptr, d uintptr, m uintptr, salt uintptr) (r TFcBool) {
  5419. bp := tls.Alloc(48)
  5420. defer tls.Free(48)
  5421. var v1, v2, v3, v4, v5, v6 uintptr
  5422. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  5423. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5424. if m != 0 {
  5425. if salt != 0 {
  5426. v1 = __ccgo_ts + 1073
  5427. } else {
  5428. v1 = __ccgo_ts + 112
  5429. }
  5430. if salt != 0 {
  5431. v2 = salt
  5432. } else {
  5433. v2 = __ccgo_ts + 112
  5434. }
  5435. if salt != 0 {
  5436. v3 = __ccgo_ts + 113
  5437. } else {
  5438. v3 = __ccgo_ts + 112
  5439. }
  5440. libc.Xprintf(tls, __ccgo_ts+1082, libc.VaList(bp+8, d, m, v1, v2, v3))
  5441. } else {
  5442. if salt != 0 {
  5443. if salt != 0 {
  5444. v4 = __ccgo_ts + 1073
  5445. } else {
  5446. v4 = __ccgo_ts + 112
  5447. }
  5448. if salt != 0 {
  5449. v5 = salt
  5450. } else {
  5451. v5 = __ccgo_ts + 112
  5452. }
  5453. if salt != 0 {
  5454. v6 = __ccgo_ts + 113
  5455. } else {
  5456. v6 = __ccgo_ts + 112
  5457. }
  5458. libc.Xprintf(tls, __ccgo_ts+1098, libc.VaList(bp+8, d, v4, v5, v6))
  5459. }
  5460. }
  5461. }
  5462. return XFcStrSetAddFilenamePairWithSalt(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs, d, m, salt)
  5463. }
  5464. func XFcConfigResetFontDirs(tls *libc.TLS, config uintptr) (r TFcBool) {
  5465. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5466. libc.Xprintf(tls, __ccgo_ts+1108, 0)
  5467. }
  5468. return XFcStrSetDeleteAll(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5469. }
  5470. func XIA__FcConfigGetFontDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5471. var ret uintptr
  5472. _ = ret
  5473. config = XIA__FcConfigReference(tls, config)
  5474. if !(config != 0) {
  5475. return libc.UintptrFromInt32(0)
  5476. }
  5477. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5478. XIA__FcConfigDestroy(tls, config)
  5479. return ret
  5480. }
  5481. var XFcConfigGetFontDirs = XIA__FcConfigGetFontDirs
  5482. func _FcConfigPathStartsWith(tls *libc.TLS, path uintptr, start uintptr) (r TFcBool) {
  5483. var len1 int32
  5484. _ = len1
  5485. len1 = libc.Int32FromUint32(libc.Xstrlen(tls, start))
  5486. if libc.Xstrncmp(tls, path, start, libc.Uint32FromInt32(len1)) != 0 {
  5487. return m_FcFalse
  5488. }
  5489. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(len1)))) {
  5490. case int32('\000'):
  5491. fallthrough
  5492. case int32('/'):
  5493. return int32(m_FcTrue)
  5494. default:
  5495. return m_FcFalse
  5496. }
  5497. return r
  5498. }
  5499. func XFcConfigMapFontPath(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  5500. bp := tls.Alloc(32)
  5501. defer tls.Free(32)
  5502. var dir, list, map1, retval, rpath, v1 uintptr
  5503. var len1 Tsize_t
  5504. _, _, _, _, _, _, _ = dir, len1, list, map1, retval, rpath, v1
  5505. list = XIA__FcConfigGetFontDirs(tls, config)
  5506. if !(list != 0) {
  5507. return uintptr(0)
  5508. }
  5509. for {
  5510. v1 = XIA__FcStrListNext(tls, list)
  5511. dir = v1
  5512. if !(v1 != 0) {
  5513. break
  5514. }
  5515. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  5516. break
  5517. }
  5518. }
  5519. XIA__FcStrListDone(tls, list)
  5520. if !(dir != 0) {
  5521. return uintptr(0)
  5522. }
  5523. map1 = XFcStrTripleSecond(tls, dir)
  5524. if !(map1 != 0) {
  5525. return uintptr(0)
  5526. }
  5527. rpath = path + uintptr(libc.Xstrlen(tls, dir))
  5528. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(rpath))) == int32('/') {
  5529. rpath++
  5530. }
  5531. retval = XIA__FcStrBuildFilename(tls, map1, libc.VaList(bp+8, rpath, libc.UintptrFromInt32(0)))
  5532. if retval != 0 {
  5533. len1 = libc.Xstrlen(tls, retval)
  5534. for len1 > uint32(0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1-uint32(1))))) == int32('/') {
  5535. len1--
  5536. }
  5537. /* trim the last slash */
  5538. *(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1))) = uint8(0)
  5539. }
  5540. return retval
  5541. }
  5542. func XFcConfigMapSalt(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  5543. var dir, list, v1 uintptr
  5544. _, _, _ = dir, list, v1
  5545. list = XIA__FcConfigGetFontDirs(tls, config)
  5546. if !(list != 0) {
  5547. return libc.UintptrFromInt32(0)
  5548. }
  5549. for {
  5550. v1 = XIA__FcStrListNext(tls, list)
  5551. dir = v1
  5552. if !(v1 != 0) {
  5553. break
  5554. }
  5555. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  5556. break
  5557. }
  5558. }
  5559. XIA__FcStrListDone(tls, list)
  5560. if !(dir != 0) {
  5561. return libc.UintptrFromInt32(0)
  5562. }
  5563. return XFcStrTripleThird(tls, dir)
  5564. }
  5565. func XFcConfigAddCacheDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5566. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs, d)
  5567. }
  5568. func XIA__FcConfigGetCacheDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5569. var ret uintptr
  5570. _ = ret
  5571. config = XIA__FcConfigReference(tls, config)
  5572. if !(config != 0) {
  5573. return libc.UintptrFromInt32(0)
  5574. }
  5575. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5576. XIA__FcConfigDestroy(tls, config)
  5577. return ret
  5578. }
  5579. var XFcConfigGetCacheDirs = XIA__FcConfigGetCacheDirs
  5580. func XFcConfigAddConfigFile(tls *libc.TLS, config uintptr, f uintptr) (r TFcBool) {
  5581. var file uintptr
  5582. var ret TFcBool
  5583. _, _ = file, ret
  5584. file = XIA__FcConfigGetFilename(tls, config, f)
  5585. if !(file != 0) {
  5586. return m_FcFalse
  5587. }
  5588. ret = XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, file)
  5589. XIA__FcStrFree(tls, file)
  5590. return ret
  5591. }
  5592. func XIA__FcConfigGetConfigFiles(tls *libc.TLS, config uintptr) (r uintptr) {
  5593. var ret uintptr
  5594. _ = ret
  5595. config = XIA__FcConfigReference(tls, config)
  5596. if !(config != 0) {
  5597. return libc.UintptrFromInt32(0)
  5598. }
  5599. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5600. XIA__FcConfigDestroy(tls, config)
  5601. return ret
  5602. }
  5603. var XFcConfigGetConfigFiles = XIA__FcConfigGetConfigFiles
  5604. func XIA__FcConfigGetCache(tls *libc.TLS, config uintptr) (r uintptr) {
  5605. return libc.UintptrFromInt32(0)
  5606. }
  5607. var XFcConfigGetCache = XIA__FcConfigGetCache
  5608. func XIA__FcConfigGetFonts(tls *libc.TLS, config uintptr, set TFcSetName) (r uintptr) {
  5609. if !(config != 0) {
  5610. config = XIA__FcConfigGetCurrent(tls)
  5611. if !(config != 0) {
  5612. return uintptr(0)
  5613. }
  5614. }
  5615. return *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4))
  5616. }
  5617. var XFcConfigGetFonts = XIA__FcConfigGetFonts
  5618. func XFcConfigSetFonts(tls *libc.TLS, config uintptr, fonts uintptr, set TFcSetName) {
  5619. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)) != 0 {
  5620. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)))
  5621. }
  5622. *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(set)*4)) = fonts
  5623. }
  5624. func XIA__FcBlanksCreate(tls *libc.TLS) (r uintptr) {
  5625. /* Deprecated. */
  5626. return libc.UintptrFromInt32(0)
  5627. }
  5628. var XFcBlanksCreate = XIA__FcBlanksCreate
  5629. func XIA__FcBlanksDestroy(tls *libc.TLS, b uintptr) {
  5630. /* Deprecated. */
  5631. }
  5632. var XFcBlanksDestroy = XIA__FcBlanksDestroy
  5633. func XIA__FcBlanksAdd(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5634. /* Deprecated. */
  5635. return m_FcFalse
  5636. }
  5637. var XFcBlanksAdd = XIA__FcBlanksAdd
  5638. func XIA__FcBlanksIsMember(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5639. /* Deprecated. */
  5640. return m_FcFalse
  5641. }
  5642. var XFcBlanksIsMember = XIA__FcBlanksIsMember
  5643. func XIA__FcConfigGetBlanks(tls *libc.TLS, config uintptr) (r uintptr) {
  5644. /* Deprecated. */
  5645. return libc.UintptrFromInt32(0)
  5646. }
  5647. var XFcConfigGetBlanks = XIA__FcConfigGetBlanks
  5648. func XFcConfigAddBlank(tls *libc.TLS, config uintptr, blank TFcChar32) (r TFcBool) {
  5649. /* Deprecated. */
  5650. return m_FcFalse
  5651. }
  5652. func XIA__FcConfigGetRescanInterval(tls *libc.TLS, config uintptr) (r int32) {
  5653. var ret int32
  5654. _ = ret
  5655. config = XIA__FcConfigReference(tls, config)
  5656. if !(config != 0) {
  5657. return 0
  5658. }
  5659. ret = (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval
  5660. XIA__FcConfigDestroy(tls, config)
  5661. return ret
  5662. }
  5663. var XFcConfigGetRescanInterval = XIA__FcConfigGetRescanInterval
  5664. func XIA__FcConfigSetRescanInterval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5665. config = XIA__FcConfigReference(tls, config)
  5666. if !(config != 0) {
  5667. return m_FcFalse
  5668. }
  5669. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = rescanInterval
  5670. XIA__FcConfigDestroy(tls, config)
  5671. return int32(m_FcTrue)
  5672. }
  5673. var XFcConfigSetRescanInterval = XIA__FcConfigSetRescanInterval
  5674. // C documentation
  5675. //
  5676. // /*
  5677. // * A couple of typos escaped into the library
  5678. // */
  5679. func XIA__FcConfigGetRescanInverval(tls *libc.TLS, config uintptr) (r int32) {
  5680. return XIA__FcConfigGetRescanInterval(tls, config)
  5681. }
  5682. var XFcConfigGetRescanInverval = XIA__FcConfigGetRescanInverval
  5683. func XIA__FcConfigSetRescanInverval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5684. return XIA__FcConfigSetRescanInterval(tls, config, rescanInterval)
  5685. }
  5686. var XFcConfigSetRescanInverval = XIA__FcConfigSetRescanInverval
  5687. func XFcConfigAddRule(tls *libc.TLS, config uintptr, rule uintptr, kind TFcMatchKind) (r TFcBool) {
  5688. /* deprecated */
  5689. return m_FcFalse
  5690. }
  5691. func _FcConfigPromote(tls *libc.TLS, _v TFcValue, u TFcValue, buf uintptr) (r TFcValue) {
  5692. bp := tls.Alloc(16)
  5693. defer tls.Free(16)
  5694. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  5695. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  5696. case int32(_FcTypeInteger):
  5697. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5698. *(*float64)(unsafe.Pointer(bp + 4)) = float64(*(*int32)(unsafe.Pointer(bp + 4)))
  5699. /* Fallthrough */
  5700. fallthrough
  5701. case int32(_FcTypeDouble):
  5702. if u.Ftype1 == int32(_FcTypeRange) && buf != 0 {
  5703. *(*uintptr)(unsafe.Pointer(bp + 4)) = XFcRangePromote(tls, *(*float64)(unsafe.Pointer(bp + 4)), buf)
  5704. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  5705. }
  5706. case int32(_FcTypeVoid):
  5707. if u.Ftype1 == int32(_FcTypeMatrix) {
  5708. *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(unsafe.Pointer(&XFcIdentityMatrix))
  5709. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5710. } else {
  5711. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  5712. *(*uintptr)(unsafe.Pointer(bp + 4)) = XFcLangSetPromote(tls, libc.UintptrFromInt32(0), buf)
  5713. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5714. } else {
  5715. if u.Ftype1 == int32(_FcTypeCharSet) && buf != 0 {
  5716. *(*uintptr)(unsafe.Pointer(bp + 4)) = XFcCharSetPromote(tls, buf)
  5717. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5718. }
  5719. }
  5720. }
  5721. case int32(_FcTypeString):
  5722. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  5723. *(*uintptr)(unsafe.Pointer(bp + 4)) = XFcLangSetPromote(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), buf)
  5724. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5725. }
  5726. default:
  5727. break
  5728. }
  5729. return *(*TFcValue)(unsafe.Pointer(bp))
  5730. }
  5731. func XFcConfigCompareValue(tls *libc.TLS, left_o uintptr, op_ uint32, right_o uintptr) (r7 TFcBool) {
  5732. bp := tls.Alloc(544)
  5733. defer tls.Free(544)
  5734. var flags, l, r int32
  5735. var l1, r1 float64
  5736. var l2, r2, ret TFcBool
  5737. var l3, l4, l5, l6, r3, r4, r5, r6, v1, v2, v3, v4, v5, v6, v7, v8 uintptr
  5738. var op TFcOp
  5739. var _ /* buf1 at bp+24 */ TFcValuePromotionBuffer
  5740. var _ /* buf2 at bp+280 */ TFcValuePromotionBuffer
  5741. var _ /* left at bp+0 */ TFcValue
  5742. var _ /* right at bp+12 */ TFcValue
  5743. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  5744. ret = m_FcFalse
  5745. op = libc.Int32FromUint32(op_ & libc.Uint32FromInt32(0xffff))
  5746. flags = libc.Int32FromUint32(op_ & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  5747. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  5748. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, left_o)
  5749. *(*TFcValue)(unsafe.Pointer(bp + 12)) = XFcValueCanonicalize(tls, right_o)
  5750. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp)), *(*TFcValue)(unsafe.Pointer(bp + 12)), bp+24)
  5751. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)), *(*TFcValue)(unsafe.Pointer(bp)), bp+280)
  5752. left_o = bp
  5753. right_o = bp + 12
  5754. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  5755. if op == int32(_FcOpNotEqual) || op == int32(_FcOpNotContains) {
  5756. ret = int32(m_FcTrue)
  5757. }
  5758. return ret
  5759. }
  5760. }
  5761. switch (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 {
  5762. case int32(_FcTypeUnknown):
  5763. case int32(_FcTypeInteger):
  5764. l = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5765. r = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5766. switch op {
  5767. case int32(_FcOpEqual):
  5768. fallthrough
  5769. case int32(_FcOpContains):
  5770. fallthrough
  5771. case int32(_FcOpListing):
  5772. ret = libc.BoolInt32(l == r)
  5773. case int32(_FcOpNotEqual):
  5774. fallthrough
  5775. case int32(_FcOpNotContains):
  5776. ret = libc.BoolInt32(l != r)
  5777. case int32(_FcOpLess):
  5778. ret = libc.BoolInt32(l < r)
  5779. case int32(_FcOpLessEqual):
  5780. ret = libc.BoolInt32(l <= r)
  5781. case int32(_FcOpMore):
  5782. ret = libc.BoolInt32(l > r)
  5783. case int32(_FcOpMoreEqual):
  5784. ret = libc.BoolInt32(l >= r)
  5785. default:
  5786. break
  5787. }
  5788. case int32(_FcTypeDouble):
  5789. l1 = *(*float64)(unsafe.Pointer(left_o + 4))
  5790. r1 = *(*float64)(unsafe.Pointer(right_o + 4))
  5791. switch op {
  5792. case int32(_FcOpEqual):
  5793. fallthrough
  5794. case int32(_FcOpContains):
  5795. fallthrough
  5796. case int32(_FcOpListing):
  5797. ret = libc.BoolInt32(l1 == r1)
  5798. case int32(_FcOpNotEqual):
  5799. fallthrough
  5800. case int32(_FcOpNotContains):
  5801. ret = libc.BoolInt32(l1 != r1)
  5802. case int32(_FcOpLess):
  5803. ret = libc.BoolInt32(l1 < r1)
  5804. case int32(_FcOpLessEqual):
  5805. ret = libc.BoolInt32(l1 <= r1)
  5806. case int32(_FcOpMore):
  5807. ret = libc.BoolInt32(l1 > r1)
  5808. case int32(_FcOpMoreEqual):
  5809. ret = libc.BoolInt32(l1 >= r1)
  5810. default:
  5811. break
  5812. }
  5813. case int32(_FcTypeBool):
  5814. l2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5815. r2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5816. switch op {
  5817. case int32(_FcOpEqual):
  5818. ret = libc.BoolInt32(l2 == r2)
  5819. case int32(_FcOpContains):
  5820. fallthrough
  5821. case int32(_FcOpListing):
  5822. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  5823. case int32(_FcOpNotEqual):
  5824. ret = libc.BoolInt32(l2 != r2)
  5825. case int32(_FcOpNotContains):
  5826. ret = libc.BoolInt32(!(l2 == r2 || l2 >= int32(m_FcDontCare)))
  5827. case int32(_FcOpLess):
  5828. ret = libc.BoolInt32(l2 != r2 && r2 >= int32(m_FcDontCare))
  5829. case int32(_FcOpLessEqual):
  5830. ret = libc.BoolInt32(l2 == r2 || r2 >= int32(m_FcDontCare))
  5831. case int32(_FcOpMore):
  5832. ret = libc.BoolInt32(l2 != r2 && l2 >= int32(m_FcDontCare))
  5833. case int32(_FcOpMoreEqual):
  5834. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  5835. default:
  5836. break
  5837. }
  5838. case int32(_FcTypeString):
  5839. if int32((*TFcValue)(unsafe.Pointer(left_o)).Fu.Fs)&int32(1) != 0 {
  5840. v1 = uintptr(int32(left_o) + int32((*TFcValue)(unsafe.Pointer(left_o)).Fu.Fs) & ^libc.Int32FromInt32(1))
  5841. } else {
  5842. v1 = (*TFcValue)(unsafe.Pointer(left_o)).Fu.Fs
  5843. }
  5844. l3 = v1
  5845. if int32((*TFcValue)(unsafe.Pointer(right_o)).Fu.Fs)&int32(1) != 0 {
  5846. v2 = uintptr(int32(right_o) + int32((*TFcValue)(unsafe.Pointer(right_o)).Fu.Fs) & ^libc.Int32FromInt32(1))
  5847. } else {
  5848. v2 = (*TFcValue)(unsafe.Pointer(right_o)).Fu.Fs
  5849. }
  5850. r3 = v2
  5851. switch op {
  5852. case int32(_FcOpEqual):
  5853. fallthrough
  5854. case int32(_FcOpListing):
  5855. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5856. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) == 0)
  5857. } else {
  5858. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, l3, r3) == 0)
  5859. }
  5860. case int32(_FcOpContains):
  5861. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, l3, r3) != uintptr(0))
  5862. case int32(_FcOpNotEqual):
  5863. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5864. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) != 0)
  5865. } else {
  5866. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, l3, r3) != 0)
  5867. }
  5868. case int32(_FcOpNotContains):
  5869. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, l3, r3) == uintptr(0))
  5870. default:
  5871. break
  5872. }
  5873. case int32(_FcTypeMatrix):
  5874. switch op {
  5875. case int32(_FcOpEqual):
  5876. fallthrough
  5877. case int32(_FcOpContains):
  5878. fallthrough
  5879. case int32(_FcOpListing):
  5880. ret = XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)), *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))
  5881. case int32(_FcOpNotEqual):
  5882. fallthrough
  5883. case int32(_FcOpNotContains):
  5884. 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))
  5885. default:
  5886. break
  5887. }
  5888. case int32(_FcTypeCharSet):
  5889. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)))&int32(1) != 0 {
  5890. v3 = uintptr(int32(left_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))) & ^libc.Int32FromInt32(1))
  5891. } else {
  5892. v3 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5893. }
  5894. l4 = v3
  5895. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))&int32(1) != 0 {
  5896. v4 = uintptr(int32(right_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))) & ^libc.Int32FromInt32(1))
  5897. } else {
  5898. v4 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5899. }
  5900. r4 = v4
  5901. switch op {
  5902. case int32(_FcOpContains):
  5903. fallthrough
  5904. case int32(_FcOpListing):
  5905. /* left contains right if right is a subset of left */
  5906. ret = XIA__FcCharSetIsSubset(tls, r4, l4)
  5907. case int32(_FcOpNotContains):
  5908. /* left contains right if right is a subset of left */
  5909. ret = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, r4, l4) != 0))
  5910. case int32(_FcOpEqual):
  5911. ret = XIA__FcCharSetEqual(tls, l4, r4)
  5912. case int32(_FcOpNotEqual):
  5913. ret = libc.BoolInt32(!(XIA__FcCharSetEqual(tls, l4, r4) != 0))
  5914. default:
  5915. break
  5916. }
  5917. case int32(_FcTypeLangSet):
  5918. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)))&int32(1) != 0 {
  5919. v5 = uintptr(int32(left_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))) & ^libc.Int32FromInt32(1))
  5920. } else {
  5921. v5 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5922. }
  5923. l5 = v5
  5924. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))&int32(1) != 0 {
  5925. v6 = uintptr(int32(right_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))) & ^libc.Int32FromInt32(1))
  5926. } else {
  5927. v6 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5928. }
  5929. r5 = v6
  5930. switch op {
  5931. case int32(_FcOpContains):
  5932. fallthrough
  5933. case int32(_FcOpListing):
  5934. ret = XIA__FcLangSetContains(tls, l5, r5)
  5935. case int32(_FcOpNotContains):
  5936. ret = libc.BoolInt32(!(XIA__FcLangSetContains(tls, l5, r5) != 0))
  5937. case int32(_FcOpEqual):
  5938. ret = XIA__FcLangSetEqual(tls, l5, r5)
  5939. case int32(_FcOpNotEqual):
  5940. ret = libc.BoolInt32(!(XIA__FcLangSetEqual(tls, l5, r5) != 0))
  5941. default:
  5942. break
  5943. }
  5944. case int32(_FcTypeVoid):
  5945. switch op {
  5946. case int32(_FcOpEqual):
  5947. fallthrough
  5948. case int32(_FcOpContains):
  5949. fallthrough
  5950. case int32(_FcOpListing):
  5951. ret = int32(m_FcTrue)
  5952. default:
  5953. break
  5954. }
  5955. case int32(_FcTypeFTFace):
  5956. switch op {
  5957. case int32(_FcOpEqual):
  5958. fallthrough
  5959. case int32(_FcOpContains):
  5960. fallthrough
  5961. case int32(_FcOpListing):
  5962. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)) == *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))
  5963. case int32(_FcOpNotEqual):
  5964. fallthrough
  5965. case int32(_FcOpNotContains):
  5966. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)) != *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))
  5967. default:
  5968. break
  5969. }
  5970. case int32(_FcTypeRange):
  5971. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu)))&int32(1) != 0 {
  5972. v7 = uintptr(int32(left_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))) & ^libc.Int32FromInt32(1))
  5973. } else {
  5974. v7 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5975. }
  5976. l6 = v7
  5977. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu)))&int32(1) != 0 {
  5978. v8 = uintptr(int32(right_o) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))) & ^libc.Int32FromInt32(1))
  5979. } else {
  5980. v8 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5981. }
  5982. r6 = v8
  5983. ret = XFcRangeCompare(tls, op, l6, r6)
  5984. break
  5985. }
  5986. return ret
  5987. }
  5988. func _FcConfigEvaluate(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr) (r TFcValue) {
  5989. bp := tls.Alloc(656)
  5990. defer tls.Free(656)
  5991. var m, str uintptr
  5992. var op TFcOp
  5993. var v1, v2, v3, v4, v5, v6, v7 int32
  5994. var _ /* buf1 at bp+60 */ TFcValuePromotionBuffer
  5995. var _ /* buf2 at bp+316 */ TFcValuePromotionBuffer
  5996. var _ /* m at bp+572 */ TFcMatrix
  5997. var _ /* v at bp+0 */ TFcValue
  5998. var _ /* vl at bp+12 */ TFcValue
  5999. var _ /* vle at bp+36 */ TFcValue
  6000. var _ /* vr at bp+24 */ TFcValue
  6001. var _ /* vre at bp+48 */ TFcValue
  6002. var _ /* xx at bp+604 */ TFcValue
  6003. var _ /* xy at bp+616 */ TFcValue
  6004. var _ /* yx at bp+628 */ TFcValue
  6005. var _ /* yy at bp+640 */ TFcValue
  6006. _, _, _, _, _, _, _, _, _, _ = m, op, str, v1, v2, v3, v4, v5, v6, v7
  6007. op = (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff)
  6008. switch op {
  6009. case int32(_FcOpInteger):
  6010. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6011. *(*int32)(unsafe.Pointer(bp + 4)) = (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival
  6012. case int32(_FcOpDouble):
  6013. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6014. *(*float64)(unsafe.Pointer(bp + 4)) = *(*float64)(unsafe.Pointer(e + 4))
  6015. case int32(_FcOpString):
  6016. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  6017. *(*uintptr)(unsafe.Pointer(bp + 4)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6018. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6019. case int32(_FcOpMatrix):
  6020. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  6021. *(*TFcValue)(unsafe.Pointer(bp + 604)) = _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))
  6022. *(*TFcValue)(unsafe.Pointer(bp + 616)) = _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))
  6023. *(*TFcValue)(unsafe.Pointer(bp + 628)) = _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))
  6024. *(*TFcValue)(unsafe.Pointer(bp + 640)) = _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))
  6025. if (*(*TFcValue)(unsafe.Pointer(bp + 604))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 616))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 628))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 640))).Ftype1 == int32(_FcTypeDouble) {
  6026. (*(*TFcMatrix)(unsafe.Pointer(bp + 572))).Fxx = *(*float64)(unsafe.Pointer(bp + 604 + 4))
  6027. (*(*TFcMatrix)(unsafe.Pointer(bp + 572))).Fxy = *(*float64)(unsafe.Pointer(bp + 616 + 4))
  6028. (*(*TFcMatrix)(unsafe.Pointer(bp + 572))).Fyx = *(*float64)(unsafe.Pointer(bp + 628 + 4))
  6029. (*(*TFcMatrix)(unsafe.Pointer(bp + 572))).Fyy = *(*float64)(unsafe.Pointer(bp + 640 + 4))
  6030. *(*uintptr)(unsafe.Pointer(bp + 4)) = bp + 572
  6031. } else {
  6032. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6033. }
  6034. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6035. case int32(_FcOpCharSet):
  6036. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6037. *(*uintptr)(unsafe.Pointer(bp + 4)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6038. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6039. case int32(_FcOpLangSet):
  6040. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6041. *(*uintptr)(unsafe.Pointer(bp + 4)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6042. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6043. case int32(_FcOpRange):
  6044. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  6045. *(*uintptr)(unsafe.Pointer(bp + 4)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6046. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6047. case int32(_FcOpBool):
  6048. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6049. *(*TFcBool)(unsafe.Pointer(bp + 4)) = *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6050. case int32(_FcOpField):
  6051. if kind == int32(_FcMatchFont) && (*(*TFcExprName)(unsafe.Pointer(e + 4))).Fkind == int32(_FcMatchPattern) {
  6052. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p_pat, (*(*TFcExprName)(unsafe.Pointer(e + 4))).Fobject, 0, bp) {
  6053. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6054. }
  6055. } else {
  6056. if kind == int32(_FcMatchPattern) && (*(*TFcExprName)(unsafe.Pointer(e + 4))).Fkind == int32(_FcMatchFont) {
  6057. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1133, 0)
  6058. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6059. } else {
  6060. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p, (*(*TFcExprName)(unsafe.Pointer(e + 4))).Fobject, 0, bp) {
  6061. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6062. }
  6063. }
  6064. }
  6065. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6066. case int32(_FcOpConst):
  6067. if XIA__FcNameConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)), bp+4) != 0 {
  6068. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6069. } else {
  6070. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6071. }
  6072. case int32(_FcOpQuest):
  6073. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6074. Fleft uintptr
  6075. Fright uintptr
  6076. })(unsafe.Pointer(e + 4))).Fleft)
  6077. if (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 == int32(_FcTypeBool) {
  6078. if *(*TFcBool)(unsafe.Pointer(bp + 12 + 4)) != 0 {
  6079. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6080. Fleft uintptr
  6081. Fright uintptr
  6082. })(unsafe.Pointer((*(*struct {
  6083. Fleft uintptr
  6084. Fright uintptr
  6085. })(unsafe.Pointer(e + 4))).Fright + 4))).Fleft)
  6086. } else {
  6087. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6088. Fleft uintptr
  6089. Fright uintptr
  6090. })(unsafe.Pointer((*(*struct {
  6091. Fleft uintptr
  6092. Fright uintptr
  6093. })(unsafe.Pointer(e + 4))).Fright + 4))).Fright)
  6094. }
  6095. } else {
  6096. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6097. }
  6098. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)))
  6099. case int32(_FcOpEqual):
  6100. fallthrough
  6101. case int32(_FcOpNotEqual):
  6102. fallthrough
  6103. case int32(_FcOpLess):
  6104. fallthrough
  6105. case int32(_FcOpLessEqual):
  6106. fallthrough
  6107. case int32(_FcOpMore):
  6108. fallthrough
  6109. case int32(_FcOpMoreEqual):
  6110. fallthrough
  6111. case int32(_FcOpContains):
  6112. fallthrough
  6113. case int32(_FcOpNotContains):
  6114. fallthrough
  6115. case int32(_FcOpListing):
  6116. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6117. Fleft uintptr
  6118. Fright uintptr
  6119. })(unsafe.Pointer(e + 4))).Fleft)
  6120. *(*TFcValue)(unsafe.Pointer(bp + 24)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6121. Fleft uintptr
  6122. Fright uintptr
  6123. })(unsafe.Pointer(e + 4))).Fright)
  6124. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6125. *(*TFcBool)(unsafe.Pointer(bp + 4)) = XFcConfigCompareValue(tls, bp+12, libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(e)).Fop), bp+24)
  6126. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)))
  6127. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 24)))
  6128. case int32(_FcOpOr):
  6129. fallthrough
  6130. case int32(_FcOpAnd):
  6131. fallthrough
  6132. case int32(_FcOpPlus):
  6133. fallthrough
  6134. case int32(_FcOpMinus):
  6135. fallthrough
  6136. case int32(_FcOpTimes):
  6137. fallthrough
  6138. case int32(_FcOpDivide):
  6139. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6140. Fleft uintptr
  6141. Fright uintptr
  6142. })(unsafe.Pointer(e + 4))).Fleft)
  6143. *(*TFcValue)(unsafe.Pointer(bp + 24)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6144. Fleft uintptr
  6145. Fright uintptr
  6146. })(unsafe.Pointer(e + 4))).Fright)
  6147. *(*TFcValue)(unsafe.Pointer(bp + 36)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)), *(*TFcValue)(unsafe.Pointer(bp + 24)), bp+60)
  6148. *(*TFcValue)(unsafe.Pointer(bp + 48)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 24)), *(*TFcValue)(unsafe.Pointer(bp + 36)), bp+316)
  6149. if (*(*TFcValue)(unsafe.Pointer(bp + 36))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 {
  6150. switch (*(*TFcValue)(unsafe.Pointer(bp + 36))).Ftype1 {
  6151. case int32(_FcTypeDouble):
  6152. switch op {
  6153. case int32(_FcOpPlus):
  6154. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6155. *(*float64)(unsafe.Pointer(bp + 4)) = *(*float64)(unsafe.Pointer(bp + 36 + 4)) + *(*float64)(unsafe.Pointer(bp + 48 + 4))
  6156. case int32(_FcOpMinus):
  6157. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6158. *(*float64)(unsafe.Pointer(bp + 4)) = *(*float64)(unsafe.Pointer(bp + 36 + 4)) - *(*float64)(unsafe.Pointer(bp + 48 + 4))
  6159. case int32(_FcOpTimes):
  6160. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6161. *(*float64)(unsafe.Pointer(bp + 4)) = *(*float64)(unsafe.Pointer(bp + 36 + 4)) * *(*float64)(unsafe.Pointer(bp + 48 + 4))
  6162. case int32(_FcOpDivide):
  6163. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6164. *(*float64)(unsafe.Pointer(bp + 4)) = *(*float64)(unsafe.Pointer(bp + 36 + 4)) / *(*float64)(unsafe.Pointer(bp + 48 + 4))
  6165. default:
  6166. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6167. break
  6168. }
  6169. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && *(*float64)(unsafe.Pointer(bp + 4)) == float64(int32(*(*float64)(unsafe.Pointer(bp + 4)))) {
  6170. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6171. *(*int32)(unsafe.Pointer(bp + 4)) = int32(*(*float64)(unsafe.Pointer(bp + 4)))
  6172. }
  6173. case int32(_FcTypeBool):
  6174. switch op {
  6175. case int32(_FcOpOr):
  6176. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6177. *(*TFcBool)(unsafe.Pointer(bp + 4)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 36 + 4)) != 0 || *(*TFcBool)(unsafe.Pointer(bp + 48 + 4)) != 0)
  6178. case int32(_FcOpAnd):
  6179. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6180. *(*TFcBool)(unsafe.Pointer(bp + 4)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 36 + 4)) != 0 && *(*TFcBool)(unsafe.Pointer(bp + 48 + 4)) != 0)
  6181. default:
  6182. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6183. break
  6184. }
  6185. case int32(_FcTypeString):
  6186. switch op {
  6187. case int32(_FcOpPlus):
  6188. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  6189. str = XIA__FcStrPlus(tls, *(*uintptr)(unsafe.Pointer(bp + 36 + 4)), *(*uintptr)(unsafe.Pointer(bp + 48 + 4)))
  6190. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.Xstrdup(tls, str)
  6191. XIA__FcStrFree(tls, str)
  6192. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  6193. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6194. }
  6195. default:
  6196. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6197. break
  6198. }
  6199. case int32(_FcTypeMatrix):
  6200. switch op {
  6201. case int32(_FcOpTimes):
  6202. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  6203. m = libc.Xmalloc(tls, uint32(32))
  6204. if m != 0 {
  6205. XIA__FcMatrixMultiply(tls, m, *(*uintptr)(unsafe.Pointer(bp + 36 + 4)), *(*uintptr)(unsafe.Pointer(bp + 48 + 4)))
  6206. *(*uintptr)(unsafe.Pointer(bp + 4)) = m
  6207. } else {
  6208. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6209. }
  6210. default:
  6211. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6212. break
  6213. }
  6214. case int32(_FcTypeCharSet):
  6215. switch op {
  6216. case int32(_FcOpPlus):
  6217. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6218. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcCharSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 36 + 4)), *(*uintptr)(unsafe.Pointer(bp + 48 + 4)))
  6219. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  6220. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6221. }
  6222. case int32(_FcOpMinus):
  6223. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6224. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcCharSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 36 + 4)), *(*uintptr)(unsafe.Pointer(bp + 48 + 4)))
  6225. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  6226. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6227. }
  6228. default:
  6229. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6230. break
  6231. }
  6232. case int32(_FcTypeLangSet):
  6233. switch op {
  6234. case int32(_FcOpPlus):
  6235. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6236. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcLangSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 36 + 4)), *(*uintptr)(unsafe.Pointer(bp + 48 + 4)))
  6237. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  6238. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6239. }
  6240. case int32(_FcOpMinus):
  6241. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6242. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcLangSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 36 + 4)), *(*uintptr)(unsafe.Pointer(bp + 48 + 4)))
  6243. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  6244. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6245. }
  6246. default:
  6247. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6248. break
  6249. }
  6250. default:
  6251. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6252. break
  6253. }
  6254. } else {
  6255. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6256. }
  6257. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)))
  6258. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 24)))
  6259. case int32(_FcOpNot):
  6260. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6261. Fleft uintptr
  6262. Fright uintptr
  6263. })(unsafe.Pointer(e + 4))).Fleft)
  6264. switch (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  6265. case int32(_FcTypeBool):
  6266. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6267. *(*TFcBool)(unsafe.Pointer(bp + 4)) = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 12 + 4)) != 0))
  6268. default:
  6269. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6270. break
  6271. }
  6272. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)))
  6273. case int32(_FcOpFloor):
  6274. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6275. Fleft uintptr
  6276. Fright uintptr
  6277. })(unsafe.Pointer(e + 4))).Fleft)
  6278. switch (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  6279. case int32(_FcTypeInteger):
  6280. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 12))
  6281. case int32(_FcTypeDouble):
  6282. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6283. if *(*float64)(unsafe.Pointer(bp + 12 + 4)) >= libc.Float64FromInt32(0) {
  6284. v1 = int32(*(*float64)(unsafe.Pointer(bp + 12 + 4)))
  6285. } else {
  6286. if float64(int32(-*(*float64)(unsafe.Pointer(bp + 12 + 4)))) == -*(*float64)(unsafe.Pointer(bp + 12 + 4)) {
  6287. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 12 + 4)))
  6288. } else {
  6289. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 12 + 4)) + libc.Float64FromInt32(1))
  6290. }
  6291. v1 = -v2
  6292. }
  6293. *(*int32)(unsafe.Pointer(bp + 4)) = v1
  6294. default:
  6295. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6296. break
  6297. }
  6298. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)))
  6299. case int32(_FcOpCeil):
  6300. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6301. Fleft uintptr
  6302. Fright uintptr
  6303. })(unsafe.Pointer(e + 4))).Fleft)
  6304. switch (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  6305. case int32(_FcTypeInteger):
  6306. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 12))
  6307. case int32(_FcTypeDouble):
  6308. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6309. if *(*float64)(unsafe.Pointer(bp + 12 + 4)) >= libc.Float64FromInt32(0) {
  6310. if float64(int32(*(*float64)(unsafe.Pointer(bp + 12 + 4)))) == *(*float64)(unsafe.Pointer(bp + 12 + 4)) {
  6311. v4 = int32(*(*float64)(unsafe.Pointer(bp + 12 + 4)))
  6312. } else {
  6313. v4 = int32(*(*float64)(unsafe.Pointer(bp + 12 + 4)) + libc.Float64FromInt32(1))
  6314. }
  6315. v3 = v4
  6316. } else {
  6317. v3 = -int32(-*(*float64)(unsafe.Pointer(bp + 12 + 4)))
  6318. }
  6319. *(*int32)(unsafe.Pointer(bp + 4)) = v3
  6320. default:
  6321. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6322. break
  6323. }
  6324. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)))
  6325. case int32(_FcOpRound):
  6326. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6327. Fleft uintptr
  6328. Fright uintptr
  6329. })(unsafe.Pointer(e + 4))).Fleft)
  6330. switch (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  6331. case int32(_FcTypeInteger):
  6332. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 12))
  6333. case int32(_FcTypeDouble):
  6334. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6335. if *(*float64)(unsafe.Pointer(bp + 12 + 4))+float64(0.5) >= libc.Float64FromInt32(0) {
  6336. v5 = int32(*(*float64)(unsafe.Pointer(bp + 12 + 4)) + libc.Float64FromFloat64(0.5))
  6337. } else {
  6338. if float64(int32(-(*(*float64)(unsafe.Pointer(bp + 12 + 4)) + libc.Float64FromFloat64(0.5)))) == -(*(*float64)(unsafe.Pointer(bp + 12 + 4)) + libc.Float64FromFloat64(0.5)) {
  6339. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 12 + 4)) + libc.Float64FromFloat64(0.5)))
  6340. } else {
  6341. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 12 + 4)) + libc.Float64FromFloat64(0.5)) + libc.Float64FromInt32(1))
  6342. }
  6343. v5 = -v6
  6344. }
  6345. *(*int32)(unsafe.Pointer(bp + 4)) = v5
  6346. default:
  6347. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6348. break
  6349. }
  6350. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)))
  6351. case int32(_FcOpTrunc):
  6352. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6353. Fleft uintptr
  6354. Fright uintptr
  6355. })(unsafe.Pointer(e + 4))).Fleft)
  6356. switch (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  6357. case int32(_FcTypeInteger):
  6358. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 12))
  6359. case int32(_FcTypeDouble):
  6360. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6361. if *(*float64)(unsafe.Pointer(bp + 12 + 4)) >= libc.Float64FromInt32(0) {
  6362. v7 = int32(*(*float64)(unsafe.Pointer(bp + 12 + 4)))
  6363. } else {
  6364. v7 = -int32(-*(*float64)(unsafe.Pointer(bp + 12 + 4)))
  6365. }
  6366. *(*int32)(unsafe.Pointer(bp + 4)) = v7
  6367. default:
  6368. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6369. break
  6370. }
  6371. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 12)))
  6372. default:
  6373. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6374. break
  6375. }
  6376. return *(*TFcValue)(unsafe.Pointer(bp))
  6377. }
  6378. // C documentation
  6379. //
  6380. // /* The bulk of the time in FcConfigSubstitute is spent walking
  6381. // * lists of family names. We speed this up with a hash table.
  6382. // * Since we need to take the ignore-blanks option into account,
  6383. // * we use two separate hash tables.
  6384. // */
  6385. type TFamilyTableEntry = struct {
  6386. Fcount int32
  6387. }
  6388. type TFamilyTable = struct {
  6389. Ffamily_blank_hash uintptr
  6390. Ffamily_hash uintptr
  6391. }
  6392. func _FamilyTableLookup(tls *libc.TLS, table uintptr, _op TFcOp, s uintptr) (r TFcBool) {
  6393. bp := tls.Alloc(16)
  6394. defer tls.Free(16)
  6395. var flags int32
  6396. var hash uintptr
  6397. var _ /* fe at bp+0 */ uintptr
  6398. _, _ = flags, hash
  6399. flags = libc.Int32FromUint32(libc.Uint32FromInt32(_op) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  6400. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  6401. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash
  6402. } else {
  6403. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash
  6404. }
  6405. return XFcHashTableFind(tls, hash, s, bp)
  6406. }
  6407. func _FamilyTableAdd(tls *libc.TLS, table uintptr, values TFcValueListPtr) {
  6408. bp := tls.Alloc(16)
  6409. defer tls.Free(16)
  6410. var ll TFcValueListPtr
  6411. var s, v2, v3 uintptr
  6412. var _ /* fe at bp+0 */ uintptr
  6413. _, _, _, _ = ll, s, v2, v3
  6414. ll = values
  6415. for {
  6416. if !(ll != 0) {
  6417. break
  6418. }
  6419. if int32((*TFcValue)(unsafe.Pointer(ll+4)).Fu.Fs)&int32(1) != 0 {
  6420. v2 = uintptr(Tintptr_t(ll+4) + int32((*TFcValue)(unsafe.Pointer(ll+4)).Fu.Fs) & ^libc.Int32FromInt32(1))
  6421. } else {
  6422. v2 = (*TFcValue)(unsafe.Pointer(ll + 4)).Fu.Fs
  6423. }
  6424. s = v2
  6425. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0) {
  6426. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint32(4))
  6427. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  6428. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  6429. }
  6430. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  6431. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0) {
  6432. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint32(4))
  6433. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  6434. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  6435. }
  6436. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  6437. goto _1
  6438. _1:
  6439. ;
  6440. if int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int32(1) != 0 {
  6441. v3 = uintptr(int32(ll) + int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext) & ^libc.Int32FromInt32(1))
  6442. } else {
  6443. v3 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  6444. }
  6445. ll = v3
  6446. }
  6447. }
  6448. func _FamilyTableDel(tls *libc.TLS, table uintptr, s uintptr) {
  6449. bp := tls.Alloc(16)
  6450. defer tls.Free(16)
  6451. var _ /* fe at bp+0 */ uintptr
  6452. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0 {
  6453. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  6454. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  6455. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s)
  6456. }
  6457. }
  6458. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0 {
  6459. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  6460. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  6461. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s)
  6462. }
  6463. }
  6464. }
  6465. func _copy_string(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  6466. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  6467. return int32(m_FcTrue)
  6468. }
  6469. func _FamilyTableInit(tls *libc.TLS, table uintptr, p uintptr) {
  6470. var e, v1 uintptr
  6471. _, _ = e, v1
  6472. (*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))
  6473. (*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))
  6474. e = XFcPatternObjectFindElt(tls, p, int32(_FC_FAMILY_OBJECT))
  6475. if e != 0 {
  6476. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  6477. v1 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  6478. } else {
  6479. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  6480. }
  6481. _FamilyTableAdd(tls, table, v1)
  6482. }
  6483. }
  6484. func _FamilyTableClear(tls *libc.TLS, table uintptr) {
  6485. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash != 0 {
  6486. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash)
  6487. }
  6488. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash != 0 {
  6489. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash)
  6490. }
  6491. }
  6492. func _FcConfigMatchValueList(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, t uintptr, values uintptr, table uintptr) (r uintptr) {
  6493. bp := tls.Alloc(16)
  6494. defer tls.Free(16)
  6495. var e, ret, v, v1, v2, v4 uintptr
  6496. var op TFcOp
  6497. var _ /* value at bp+0 */ TFcValue
  6498. _, _, _, _, _, _, _ = e, op, ret, v, v1, v2, v4
  6499. ret = uintptr(0)
  6500. e = (*TFcTest)(unsafe.Pointer(t)).Fexpr
  6501. for e != 0 {
  6502. /* Compute the value of the match expression */
  6503. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  6504. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6505. Fleft uintptr
  6506. Fright uintptr
  6507. })(unsafe.Pointer(e + 4))).Fleft)
  6508. e = (*(*struct {
  6509. Fleft uintptr
  6510. Fright uintptr
  6511. })(unsafe.Pointer(e + 4))).Fright
  6512. } else {
  6513. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  6514. e = uintptr(0)
  6515. }
  6516. if (*TFcTest)(unsafe.Pointer(t)).Fobject == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6517. op = (*TFcTest)(unsafe.Pointer(t)).Fop & libc.Int32FromInt32(0xffff)
  6518. if op == int32(_FcOpEqual) || op == int32(_FcOpListing) {
  6519. if int32((*TFcValue)(unsafe.Pointer(bp)).Fu.Fs)&int32(1) != 0 {
  6520. v1 = uintptr(Tintptr_t(bp) + int32((*TFcValue)(unsafe.Pointer(bp)).Fu.Fs) & ^libc.Int32FromInt32(1))
  6521. } else {
  6522. v1 = (*TFcValue)(unsafe.Pointer(bp)).Fu.Fs
  6523. }
  6524. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v1) != 0) {
  6525. ret = uintptr(0)
  6526. goto done
  6527. }
  6528. }
  6529. if op == int32(_FcOpNotEqual) && (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  6530. ret = uintptr(0)
  6531. if int32((*TFcValue)(unsafe.Pointer(bp)).Fu.Fs)&int32(1) != 0 {
  6532. v2 = uintptr(Tintptr_t(bp) + int32((*TFcValue)(unsafe.Pointer(bp)).Fu.Fs) & ^libc.Int32FromInt32(1))
  6533. } else {
  6534. v2 = (*TFcValue)(unsafe.Pointer(bp)).Fu.Fs
  6535. }
  6536. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v2) != 0) {
  6537. ret = values
  6538. }
  6539. goto done
  6540. }
  6541. }
  6542. v = values
  6543. for {
  6544. if !(v != 0) {
  6545. break
  6546. }
  6547. /* Compare the pattern value to the match expression value */
  6548. if XFcConfigCompareValue(tls, v+4, libc.Uint32FromInt32((*TFcTest)(unsafe.Pointer(t)).Fop), bp) != 0 {
  6549. if !(ret != 0) {
  6550. ret = v
  6551. }
  6552. if (*TFcTest)(unsafe.Pointer(t)).Fqual != int32(_FcQualAll) {
  6553. break
  6554. }
  6555. } else {
  6556. if (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  6557. ret = uintptr(0)
  6558. break
  6559. }
  6560. }
  6561. goto _3
  6562. _3:
  6563. ;
  6564. if int32((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  6565. v4 = uintptr(int32(v) + int32((*TFcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  6566. } else {
  6567. v4 = (*TFcValueList)(unsafe.Pointer(v)).Fnext
  6568. }
  6569. v = v4
  6570. }
  6571. goto done
  6572. done:
  6573. ;
  6574. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6575. }
  6576. return ret
  6577. }
  6578. func _FcConfigValues(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr, binding TFcValueBinding) (r uintptr) {
  6579. var l, next, v1 uintptr
  6580. _, _, _ = l, next, v1
  6581. if !(e != 0) {
  6582. return uintptr(0)
  6583. }
  6584. l = libc.Xmalloc(tls, uint32(20))
  6585. if !(l != 0) {
  6586. return uintptr(0)
  6587. }
  6588. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  6589. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6590. Fleft uintptr
  6591. Fright uintptr
  6592. })(unsafe.Pointer(e + 4))).Fleft)
  6593. (*TFcValueList)(unsafe.Pointer(l)).Fnext = _FcConfigValues(tls, p, p_pat, kind, (*(*struct {
  6594. Fleft uintptr
  6595. Fright uintptr
  6596. })(unsafe.Pointer(e + 4))).Fright, binding)
  6597. } else {
  6598. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  6599. (*TFcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  6600. }
  6601. (*TFcValueList)(unsafe.Pointer(l)).Fbinding = binding
  6602. if (*TFcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  6603. if int32((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  6604. v1 = uintptr(int32(l) + int32((*TFcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  6605. } else {
  6606. v1 = (*TFcValueList)(unsafe.Pointer(l)).Fnext
  6607. }
  6608. next = v1
  6609. libc.Xfree(tls, l)
  6610. l = next
  6611. }
  6612. return l
  6613. }
  6614. func _FcConfigAdd(tls *libc.TLS, head uintptr, position uintptr, append1 TFcBool, new1 uintptr, object TFcObject, table uintptr) (r TFcBool) {
  6615. bp := tls.Alloc(16)
  6616. defer tls.Free(16)
  6617. var l, last, v TFcValueListPtr
  6618. var prev, v2, v4, v7, v8 uintptr
  6619. var sameBinding TFcValueBinding
  6620. _, _, _, _, _, _, _, _, _ = l, last, prev, sameBinding, v, v2, v4, v7, v8
  6621. /*
  6622. * Make sure the stored type is valid for built-in objects
  6623. */
  6624. l = new1
  6625. for {
  6626. if !(l != libc.UintptrFromInt32(0)) {
  6627. break
  6628. }
  6629. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  6630. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1214, libc.VaList(bp+8, XFcObjectName(tls, object)))
  6631. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  6632. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1276, 0)
  6633. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6634. libc.Xprintf(tls, __ccgo_ts+1278, 0)
  6635. }
  6636. return m_FcFalse
  6637. }
  6638. goto _1
  6639. _1:
  6640. ;
  6641. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  6642. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  6643. } else {
  6644. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  6645. }
  6646. l = v2
  6647. }
  6648. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6649. _FamilyTableAdd(tls, table, new1)
  6650. }
  6651. if position != 0 {
  6652. sameBinding = (*TFcValueList)(unsafe.Pointer(position)).Fbinding
  6653. } else {
  6654. sameBinding = int32(_FcValueBindingWeak)
  6655. }
  6656. v = new1
  6657. for {
  6658. if !(v != libc.UintptrFromInt32(0)) {
  6659. break
  6660. }
  6661. if (*T_FcValueList)(unsafe.Pointer(v)).Fbinding == int32(_FcValueBindingSame) {
  6662. (*T_FcValueList)(unsafe.Pointer(v)).Fbinding = sameBinding
  6663. }
  6664. goto _3
  6665. _3:
  6666. ;
  6667. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  6668. v4 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  6669. } else {
  6670. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  6671. }
  6672. v = v4
  6673. }
  6674. if append1 != 0 {
  6675. if position != 0 {
  6676. prev = position
  6677. } else {
  6678. prev = head
  6679. for {
  6680. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6681. break
  6682. }
  6683. goto _5
  6684. _5:
  6685. ;
  6686. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6687. }
  6688. }
  6689. } else {
  6690. if position != 0 {
  6691. prev = head
  6692. for {
  6693. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6694. break
  6695. }
  6696. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6697. break
  6698. }
  6699. goto _6
  6700. _6:
  6701. ;
  6702. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6703. }
  6704. } else {
  6705. prev = head
  6706. }
  6707. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6708. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == libc.UintptrFromInt32(0) {
  6709. libc.Xprintf(tls, __ccgo_ts+1290, 0)
  6710. }
  6711. }
  6712. }
  6713. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6714. if append1 != 0 {
  6715. v7 = __ccgo_ts + 1312
  6716. } else {
  6717. v7 = __ccgo_ts + 1319
  6718. }
  6719. libc.Xprintf(tls, __ccgo_ts+1327, libc.VaList(bp+8, v7))
  6720. XFcValueListPrintWithPosition(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)), *(*TFcValueListPtr)(unsafe.Pointer(prev)))
  6721. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  6722. }
  6723. if new1 != 0 {
  6724. last = new1
  6725. for (*T_FcValueList)(unsafe.Pointer(last)).Fnext != libc.UintptrFromInt32(0) {
  6726. last = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  6727. }
  6728. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6729. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  6730. }
  6731. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6732. if append1 != 0 {
  6733. v8 = __ccgo_ts + 1312
  6734. } else {
  6735. v8 = __ccgo_ts + 1319
  6736. }
  6737. libc.Xprintf(tls, __ccgo_ts+1343, libc.VaList(bp+8, v8))
  6738. XFcValueListPrint(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)))
  6739. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  6740. }
  6741. return int32(m_FcTrue)
  6742. }
  6743. func _FcConfigDel(tls *libc.TLS, head uintptr, position uintptr, object TFcObject, table uintptr) {
  6744. var prev, v1 uintptr
  6745. _, _ = prev, v1
  6746. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6747. if int32((*TFcValue)(unsafe.Pointer(position+4)).Fu.Fs)&int32(1) != 0 {
  6748. v1 = uintptr(Tintptr_t(position+4) + int32((*TFcValue)(unsafe.Pointer(position+4)).Fu.Fs) & ^libc.Int32FromInt32(1))
  6749. } else {
  6750. v1 = (*TFcValue)(unsafe.Pointer(position + 4)).Fu.Fs
  6751. }
  6752. _FamilyTableDel(tls, table, v1)
  6753. }
  6754. prev = head
  6755. for {
  6756. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6757. break
  6758. }
  6759. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6760. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcValueList)(unsafe.Pointer(position)).Fnext
  6761. (*TFcValueList)(unsafe.Pointer(position)).Fnext = libc.UintptrFromInt32(0)
  6762. XFcValueListDestroy(tls, position)
  6763. break
  6764. }
  6765. goto _2
  6766. _2:
  6767. ;
  6768. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6769. }
  6770. }
  6771. func _FcConfigPatternAdd(tls *libc.TLS, p uintptr, object TFcObject, list uintptr, append1 TFcBool, table uintptr) {
  6772. var e uintptr
  6773. _ = e
  6774. if list != 0 {
  6775. e = XFcPatternObjectInsertElt(tls, p, object)
  6776. if !(e != 0) {
  6777. return
  6778. }
  6779. _FcConfigAdd(tls, e+4, uintptr(0), append1, list, object, table)
  6780. }
  6781. }
  6782. // C documentation
  6783. //
  6784. // /*
  6785. // * Delete all values associated with a field
  6786. // */
  6787. func _FcConfigPatternDel(tls *libc.TLS, p uintptr, object TFcObject, table uintptr) {
  6788. var e uintptr
  6789. _ = e
  6790. e = XFcPatternObjectFindElt(tls, p, object)
  6791. if !(e != 0) {
  6792. return
  6793. }
  6794. for (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != libc.UintptrFromInt32(0) {
  6795. _FcConfigDel(tls, e+4, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, object, table)
  6796. }
  6797. }
  6798. func _FcConfigPatternCanon(tls *libc.TLS, p uintptr, object TFcObject) {
  6799. var e uintptr
  6800. _ = e
  6801. e = XFcPatternObjectFindElt(tls, p, object)
  6802. if !(e != 0) {
  6803. return
  6804. }
  6805. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues == libc.UintptrFromInt32(0) {
  6806. XFcPatternObjectDel(tls, p, object)
  6807. }
  6808. }
  6809. func XIA__FcConfigSubstituteWithPat(tls *libc.TLS, config uintptr, p uintptr, p_pat uintptr, kind TFcMatchKind) (r1 TFcBool) {
  6810. bp := tls.Alloc(96)
  6811. defer tls.Free(96)
  6812. var b, retval TFcBool
  6813. 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
  6814. var i, nobjs int32
  6815. var ll TFcValueListPtr
  6816. var object TFcObject
  6817. var v2 bool
  6818. var _ /* data at bp+40 */ TFamilyTable
  6819. var _ /* iter at bp+12 */ TFcPtrListIter
  6820. var _ /* iter2 at bp+24 */ TFcPtrListIter
  6821. var _ /* v at bp+0 */ TFcValue
  6822. var _ /* v at bp+48 */ TFcValue
  6823. var _ /* vv at bp+60 */ TFcValue
  6824. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  6825. value = libc.UintptrFromInt32(0)
  6826. object = int32(_FC_INVALID_OBJECT)
  6827. elt = libc.UintptrFromInt32(0)
  6828. retval = int32(m_FcTrue)
  6829. tst = libc.UintptrFromInt32(0)
  6830. table = bp + 40
  6831. if kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  6832. return m_FcFalse
  6833. }
  6834. config = XIA__FcConfigReference(tls, config)
  6835. if !(config != 0) {
  6836. return m_FcFalse
  6837. }
  6838. s = *(*uintptr)(unsafe.Pointer(config + 20 + uintptr(kind)*4))
  6839. if kind == int32(_FcMatchPattern) {
  6840. strs = XIA__FcGetDefaultLangs(tls)
  6841. if strs != 0 {
  6842. l1 = XIA__FcStrListCreate(tls, strs)
  6843. lsund = XIA__FcLangSetCreate(tls)
  6844. XIA__FcLangSetAdd(tls, lsund, __ccgo_ts+1358)
  6845. XIA__FcStrSetDestroy(tls, strs)
  6846. for {
  6847. if v2 = l1 != 0; v2 {
  6848. v1 = XIA__FcStrListNext(tls, l1)
  6849. lang = v1
  6850. }
  6851. if !(v2 && v1 != 0) {
  6852. break
  6853. }
  6854. e1 = XFcPatternObjectFindElt(tls, p, int32(_FC_LANG_OBJECT))
  6855. if e1 != 0 {
  6856. if int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int32(1) != 0 {
  6857. v4 = uintptr(int32(e1) + int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues) & ^libc.Int32FromInt32(1))
  6858. } else {
  6859. v4 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  6860. }
  6861. ll = v4
  6862. for {
  6863. if !(ll != 0) {
  6864. break
  6865. }
  6866. *(*TFcValue)(unsafe.Pointer(bp + 60)) = TFcValue{}
  6867. *(*T_FcValue)(unsafe.Pointer(bp + 60)) = XFcValueCanonicalize(tls, ll+4)
  6868. if (*(*TFcValue)(unsafe.Pointer(bp + 60))).Ftype1 == int32(_FcTypeLangSet) {
  6869. ls = XIA__FcLangSetCreate(tls)
  6870. XIA__FcLangSetAdd(tls, ls, lang)
  6871. b = XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 60 + 4)), ls)
  6872. XIA__FcLangSetDestroy(tls, ls)
  6873. if b != 0 {
  6874. goto bail_lang
  6875. }
  6876. if XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 60 + 4)), lsund) != 0 {
  6877. goto bail_lang
  6878. }
  6879. } else {
  6880. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 60 + 4)), lang) == 0 {
  6881. goto bail_lang
  6882. }
  6883. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 60 + 4)), __ccgo_ts+1358) == 0 {
  6884. goto bail_lang
  6885. }
  6886. }
  6887. goto _3
  6888. _3:
  6889. ;
  6890. if int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int32(1) != 0 {
  6891. v5 = uintptr(int32(ll) + int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext) & ^libc.Int32FromInt32(1))
  6892. } else {
  6893. v5 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  6894. }
  6895. ll = v5
  6896. }
  6897. }
  6898. (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 = int32(_FcTypeString)
  6899. *(*uintptr)(unsafe.Pointer(bp + 48 + 4)) = lang
  6900. XFcPatternObjectAddWithBinding(tls, p, int32(_FC_LANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  6901. }
  6902. goto bail_lang
  6903. bail_lang:
  6904. ;
  6905. XIA__FcStrListDone(tls, l1)
  6906. XIA__FcLangSetDestroy(tls, lsund)
  6907. }
  6908. if XFcPatternObjectGet(tls, p, int32(_FC_PRGNAME_OBJECT), 0, bp) == int32(_FcResultNoMatch) {
  6909. prgname = XFcGetPrgname(tls)
  6910. if prgname != 0 {
  6911. XFcPatternObjectAddString(tls, p, int32(_FC_PRGNAME_OBJECT), prgname)
  6912. }
  6913. }
  6914. }
  6915. nobjs = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects + int32(2)
  6916. value = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6917. if !(value != 0) {
  6918. retval = m_FcFalse
  6919. goto bail1
  6920. }
  6921. elt = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6922. if !(elt != 0) {
  6923. retval = m_FcFalse
  6924. goto bail1
  6925. }
  6926. tst = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6927. if !(tst != 0) {
  6928. retval = m_FcFalse
  6929. goto bail1
  6930. }
  6931. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6932. libc.Xprintf(tls, __ccgo_ts+1362, 0)
  6933. XIA__FcPatternPrint(tls, p)
  6934. }
  6935. _FamilyTableInit(tls, bp+40, p)
  6936. XFcPtrListIterInit(tls, s, bp+12)
  6937. for {
  6938. if !(XFcPtrListIterIsValid(tls, s, bp+12) != 0) {
  6939. break
  6940. }
  6941. rs = XFcPtrListIterGetValue(tls, s, bp+12)
  6942. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6943. libc.Xprintf(tls, __ccgo_ts+1382, libc.VaList(bp+80, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  6944. }
  6945. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp+24)
  6946. for {
  6947. if !(XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp+24) != 0) {
  6948. break
  6949. }
  6950. r = XFcPtrListIterGetValue(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp+24)
  6951. i = 0
  6952. for {
  6953. if !(i < nobjs) {
  6954. break
  6955. }
  6956. *(*uintptr)(unsafe.Pointer(elt + uintptr(i)*4)) = libc.UintptrFromInt32(0)
  6957. *(*uintptr)(unsafe.Pointer(value + uintptr(i)*4)) = libc.UintptrFromInt32(0)
  6958. *(*uintptr)(unsafe.Pointer(tst + uintptr(i)*4)) = libc.UintptrFromInt32(0)
  6959. goto _8
  6960. _8:
  6961. ;
  6962. i++
  6963. }
  6964. for {
  6965. if !(r != 0) {
  6966. break
  6967. }
  6968. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  6969. case int32(_FcRuleUnknown):
  6970. /* shouldn't be reached */
  6971. case int32(_FcRuleTest):
  6972. object = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  6973. /*
  6974. * Check the tests to see if
  6975. * they all match the pattern
  6976. */
  6977. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6978. libc.Xprintf(tls, __ccgo_ts+1397, 0)
  6979. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 8)))
  6980. }
  6981. if kind == int32(_FcMatchFont) && (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind == int32(_FcMatchPattern) {
  6982. m = p_pat
  6983. table = libc.UintptrFromInt32(0)
  6984. } else {
  6985. m = p
  6986. table = bp + 40
  6987. }
  6988. if m != 0 {
  6989. e = XFcPatternObjectFindElt(tls, m, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject)
  6990. } else {
  6991. e = libc.UintptrFromInt32(0)
  6992. }
  6993. /* different 'kind' won't be the target of edit */
  6994. if !(*(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind {
  6995. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4)) = e
  6996. *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*4)) = *(*uintptr)(unsafe.Pointer(r + 8))
  6997. }
  6998. /*
  6999. * If there's no such field in the font,
  7000. * then FcQualAll matches while FcQualAny does not
  7001. */
  7002. if !(e != 0) {
  7003. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fqual == int32(_FcQualAll) {
  7004. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) = libc.UintptrFromInt32(0)
  7005. goto _9
  7006. } else {
  7007. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7008. libc.Xprintf(tls, __ccgo_ts+1422, 0)
  7009. }
  7010. goto bail
  7011. }
  7012. }
  7013. /*
  7014. * Check to see if there is a match, mark the location
  7015. * to apply match-relative edits
  7016. */
  7017. vl = _FcConfigMatchValueList(tls, m, p_pat, kind, *(*uintptr)(unsafe.Pointer(r + 8)), (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, table)
  7018. /* different 'kind' won't be the target of edit */
  7019. if !(*(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind {
  7020. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) = vl
  7021. }
  7022. 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 {
  7023. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7024. libc.Xprintf(tls, __ccgo_ts+1422, 0)
  7025. }
  7026. goto bail
  7027. }
  7028. case int32(_FcRuleEdit):
  7029. object = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  7030. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7031. libc.Xprintf(tls, __ccgo_ts+1432, 0)
  7032. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 8)))
  7033. libc.Xprintf(tls, __ccgo_ts+1444, 0)
  7034. }
  7035. /*
  7036. * Evaluate the list of expressions
  7037. */
  7038. 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)
  7039. 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)) {
  7040. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4)) = XFcPatternObjectFindElt(tls, p, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*4)))).Fobject)
  7041. }
  7042. switch (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fop & libc.Int32FromInt32(0xffff) {
  7043. case int32(_FcOpAssign):
  7044. /*
  7045. * If there was a test, then replace the matched
  7046. * value with the new list of values
  7047. */
  7048. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0 {
  7049. thisValue = *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4))
  7050. nextValue = l
  7051. /*
  7052. * Append the new list of values after the current value
  7053. */
  7054. _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)
  7055. /*
  7056. * Delete the marked value
  7057. */
  7058. if thisValue != 0 {
  7059. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4))+4, thisValue, object, table)
  7060. }
  7061. /*
  7062. * Adjust a pointer into the value list to ensure
  7063. * future edits occur at the same place
  7064. */
  7065. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) = nextValue
  7066. break
  7067. }
  7068. /* fall through ... */
  7069. fallthrough
  7070. case int32(_FcOpAssignReplace):
  7071. /*
  7072. * Delete all of the values and insert
  7073. * the new set
  7074. */
  7075. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, table)
  7076. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, l, int32(m_FcTrue), table)
  7077. /*
  7078. * Adjust a pointer into the value list as they no
  7079. * longer point to anything valid
  7080. */
  7081. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) = libc.UintptrFromInt32(0)
  7082. case int32(_FcOpPrepend):
  7083. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0 {
  7084. _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)
  7085. break
  7086. }
  7087. /* fall through ... */
  7088. fallthrough
  7089. case int32(_FcOpPrependFirst):
  7090. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, l, m_FcFalse, table)
  7091. case int32(_FcOpAppend):
  7092. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0 {
  7093. _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)
  7094. break
  7095. }
  7096. /* fall through ... */
  7097. fallthrough
  7098. case int32(_FcOpAppendLast):
  7099. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, l, int32(m_FcTrue), table)
  7100. case int32(_FcOpDelete):
  7101. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)) != 0 {
  7102. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*4))+4, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*4)), object, table)
  7103. XFcValueListDestroy(tls, l)
  7104. break
  7105. }
  7106. /* fall through ... */
  7107. fallthrough
  7108. case int32(_FcOpDeleteAll):
  7109. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject, table)
  7110. XFcValueListDestroy(tls, l)
  7111. default:
  7112. XFcValueListDestroy(tls, l)
  7113. break
  7114. }
  7115. /*
  7116. * Now go through the pattern and eliminate
  7117. * any properties without data
  7118. */
  7119. _FcConfigPatternCanon(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject)
  7120. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7121. libc.Xprintf(tls, __ccgo_ts+1447, 0)
  7122. XIA__FcPatternPrint(tls, p)
  7123. }
  7124. break
  7125. }
  7126. goto _9
  7127. _9:
  7128. ;
  7129. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  7130. }
  7131. goto bail
  7132. bail:
  7133. ;
  7134. goto _7
  7135. _7:
  7136. ;
  7137. XFcPtrListIterNext(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp+24)
  7138. }
  7139. goto _6
  7140. _6:
  7141. ;
  7142. XFcPtrListIterNext(tls, s, bp+12)
  7143. }
  7144. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7145. libc.Xprintf(tls, __ccgo_ts+1471, 0)
  7146. XIA__FcPatternPrint(tls, p)
  7147. }
  7148. goto bail1
  7149. bail1:
  7150. ;
  7151. _FamilyTableClear(tls, bp+40)
  7152. if elt != 0 {
  7153. libc.Xfree(tls, elt)
  7154. }
  7155. if value != 0 {
  7156. libc.Xfree(tls, value)
  7157. }
  7158. if tst != 0 {
  7159. libc.Xfree(tls, tst)
  7160. }
  7161. XIA__FcConfigDestroy(tls, config)
  7162. return retval
  7163. }
  7164. var XFcConfigSubstituteWithPat = XIA__FcConfigSubstituteWithPat
  7165. func XIA__FcConfigSubstitute(tls *libc.TLS, config uintptr, p uintptr, kind TFcMatchKind) (r TFcBool) {
  7166. return XIA__FcConfigSubstituteWithPat(tls, config, p, uintptr(0), kind)
  7167. }
  7168. var XFcConfigSubstitute = XIA__FcConfigSubstitute
  7169. func _FcConfigFileExists(tls *libc.TLS, dir uintptr, file uintptr) (r uintptr) {
  7170. var osize, size int32
  7171. var path uintptr
  7172. _, _, _ = osize, path, size
  7173. if !(dir != 0) {
  7174. dir = __ccgo_ts + 112
  7175. }
  7176. osize = libc.Int32FromUint32(libc.Xstrlen(tls, dir) + uint32(1) + libc.Xstrlen(tls, file) + uint32(1))
  7177. /*
  7178. * workaround valgrind warning because glibc takes advantage of how it knows memory is
  7179. * allocated to implement strlen by reading in groups of 4
  7180. */
  7181. size = (osize + int32(3)) & ^libc.Int32FromInt32(3)
  7182. path = libc.Xmalloc(tls, libc.Uint32FromInt32(size))
  7183. if !(path != 0) {
  7184. return uintptr(0)
  7185. }
  7186. libc.Xstrcpy(tls, path, dir)
  7187. /* make sure there's a single separator */
  7188. 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('/') {
  7189. libc.Xstrcat(tls, path, __ccgo_ts+1495)
  7190. } else {
  7191. osize--
  7192. }
  7193. libc.Xstrcat(tls, path, file)
  7194. if libc.Xaccess(tls, path, int32(m_R_OK)) == 0 {
  7195. return path
  7196. }
  7197. XIA__FcStrFree(tls, path)
  7198. return uintptr(0)
  7199. }
  7200. func _FcConfigGetPath(tls *libc.TLS) (r uintptr) {
  7201. var colon, dir, e, env, path, v1 uintptr
  7202. var i, npath int32
  7203. _, _, _, _, _, _, _, _ = colon, dir, e, env, i, npath, path, v1
  7204. npath = int32(2) /* default dir + null */
  7205. env = libc.Xgetenv(tls, __ccgo_ts+1497)
  7206. if env != 0 {
  7207. e = env
  7208. npath++
  7209. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  7210. v1 = e
  7211. e++
  7212. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))) == int32(':') {
  7213. npath++
  7214. }
  7215. }
  7216. }
  7217. path = libc.Xcalloc(tls, libc.Uint32FromInt32(npath), uint32(4))
  7218. if !(path != 0) {
  7219. goto bail0
  7220. }
  7221. i = 0
  7222. if env != 0 {
  7223. e = env
  7224. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  7225. colon = libc.Xstrchr(tls, e, int32(':'))
  7226. if !(colon != 0) {
  7227. colon = e + uintptr(libc.Xstrlen(tls, e))
  7228. }
  7229. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(colon)-int32(e)+int32(1)))
  7230. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) != 0) {
  7231. goto bail1
  7232. }
  7233. libc.Xstrncpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)), e, libc.Uint32FromInt32(int32(colon)-int32(e)))
  7234. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) + uintptr(int32(colon)-int32(e)))) = uint8('\000')
  7235. if *(*TFcChar8)(unsafe.Pointer(colon)) != 0 {
  7236. e = colon + uintptr(1)
  7237. } else {
  7238. e = colon
  7239. }
  7240. i++
  7241. }
  7242. }
  7243. dir = __ccgo_ts + 1513
  7244. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint32(1))
  7245. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) != 0) {
  7246. goto bail1
  7247. }
  7248. libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)), dir)
  7249. return path
  7250. goto bail1
  7251. bail1:
  7252. ;
  7253. i = 0
  7254. for {
  7255. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)) != 0) {
  7256. break
  7257. }
  7258. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*4)))
  7259. goto _2
  7260. _2:
  7261. ;
  7262. i++
  7263. }
  7264. libc.Xfree(tls, path)
  7265. goto bail0
  7266. bail0:
  7267. ;
  7268. return uintptr(0)
  7269. return r
  7270. }
  7271. func _FcConfigFreePath(tls *libc.TLS, path uintptr) {
  7272. var p uintptr
  7273. _ = p
  7274. p = path
  7275. for {
  7276. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  7277. break
  7278. }
  7279. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(p)))
  7280. goto _1
  7281. _1:
  7282. ;
  7283. p += 4
  7284. }
  7285. libc.Xfree(tls, path)
  7286. }
  7287. var __FcConfigHomeEnabled = int32(m_FcTrue) /* MT-goodenough */
  7288. func XIA__FcConfigHome(tls *libc.TLS) (r uintptr) {
  7289. var home uintptr
  7290. _ = home
  7291. if __FcConfigHomeEnabled != 0 {
  7292. home = libc.Xgetenv(tls, __ccgo_ts+1524)
  7293. return home
  7294. }
  7295. return uintptr(0)
  7296. }
  7297. var XFcConfigHome = XIA__FcConfigHome
  7298. func XFcConfigXdgCacheHome(tls *libc.TLS) (r uintptr) {
  7299. var env, home, ret uintptr
  7300. var len1 Tsize_t
  7301. var v1 uint32
  7302. _, _, _, _, _ = env, home, len1, ret, v1
  7303. env = libc.Xgetenv(tls, __ccgo_ts+1529)
  7304. ret = libc.UintptrFromInt32(0)
  7305. if !(__FcConfigHomeEnabled != 0) {
  7306. return libc.UintptrFromInt32(0)
  7307. }
  7308. if env != 0 && *(*int8)(unsafe.Pointer(env)) != 0 {
  7309. ret = XIA__FcStrCopy(tls, env)
  7310. } else {
  7311. home = XIA__FcConfigHome(tls)
  7312. if home != 0 {
  7313. v1 = libc.Xstrlen(tls, home)
  7314. } else {
  7315. v1 = uint32(0)
  7316. }
  7317. len1 = v1
  7318. ret = libc.Xmalloc(tls, len1+uint32(7)+uint32(1))
  7319. if ret != 0 {
  7320. if home != 0 {
  7321. libc.Xmemcpy(tls, ret, home, len1)
  7322. }
  7323. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1544, uint32(7))
  7324. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint32(7)))) = uint8(0)
  7325. }
  7326. }
  7327. return ret
  7328. }
  7329. func XFcConfigXdgConfigHome(tls *libc.TLS) (r uintptr) {
  7330. var env, home, ret uintptr
  7331. var len1 Tsize_t
  7332. var v1 uint32
  7333. _, _, _, _, _ = env, home, len1, ret, v1
  7334. env = libc.Xgetenv(tls, __ccgo_ts+1552)
  7335. ret = libc.UintptrFromInt32(0)
  7336. if !(__FcConfigHomeEnabled != 0) {
  7337. return libc.UintptrFromInt32(0)
  7338. }
  7339. if env != 0 {
  7340. ret = XIA__FcStrCopy(tls, env)
  7341. } else {
  7342. home = XIA__FcConfigHome(tls)
  7343. if home != 0 {
  7344. v1 = libc.Xstrlen(tls, home)
  7345. } else {
  7346. v1 = uint32(0)
  7347. }
  7348. len1 = v1
  7349. ret = libc.Xmalloc(tls, len1+uint32(8)+uint32(1))
  7350. if ret != 0 {
  7351. if home != 0 {
  7352. libc.Xmemcpy(tls, ret, home, len1)
  7353. }
  7354. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1568, uint32(8))
  7355. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint32(8)))) = uint8(0)
  7356. }
  7357. }
  7358. return ret
  7359. }
  7360. func XFcConfigXdgDataHome(tls *libc.TLS) (r uintptr) {
  7361. var env, home, ret uintptr
  7362. var len1 Tsize_t
  7363. var v1 uint32
  7364. _, _, _, _, _ = env, home, len1, ret, v1
  7365. env = libc.Xgetenv(tls, __ccgo_ts+1577)
  7366. ret = libc.UintptrFromInt32(0)
  7367. if !(__FcConfigHomeEnabled != 0) {
  7368. return libc.UintptrFromInt32(0)
  7369. }
  7370. if env != 0 {
  7371. ret = XIA__FcStrCopy(tls, env)
  7372. } else {
  7373. home = XIA__FcConfigHome(tls)
  7374. if home != 0 {
  7375. v1 = libc.Xstrlen(tls, home)
  7376. } else {
  7377. v1 = uint32(0)
  7378. }
  7379. len1 = v1
  7380. ret = libc.Xmalloc(tls, len1+uint32(13)+uint32(1))
  7381. if ret != 0 {
  7382. if home != 0 {
  7383. libc.Xmemcpy(tls, ret, home, len1)
  7384. }
  7385. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1591, uint32(13))
  7386. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint32(13)))) = uint8(0)
  7387. }
  7388. }
  7389. return ret
  7390. }
  7391. func XFcConfigXdgDataDirs(tls *libc.TLS) (r uintptr) {
  7392. var e, ee, env, p, ret, s, v1 uintptr
  7393. var len1 Tsize_t
  7394. _, _, _, _, _, _, _, _ = e, ee, env, len1, p, ret, s, v1
  7395. env = libc.Xgetenv(tls, __ccgo_ts+1605)
  7396. ret = XIA__FcStrSetCreate(tls)
  7397. if env != 0 {
  7398. v1 = XIA__FcStrCopy(tls, env)
  7399. ee = v1
  7400. e = v1
  7401. /* We don't intentionally use FC_SEARCH_PATH_SEPARATOR here because of:
  7402. * The directories in $XDG_DATA_DIRS should be seperated with a colon ':'.
  7403. * in doc.
  7404. */
  7405. for e != 0 {
  7406. p = libc.Xstrchr(tls, e, int32(':'))
  7407. if !(p != 0) {
  7408. s = XIA__FcStrCopy(tls, e)
  7409. e = libc.UintptrFromInt32(0)
  7410. } else {
  7411. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  7412. s = XIA__FcStrCopy(tls, e)
  7413. e = p + uintptr(1)
  7414. }
  7415. len1 = libc.Xstrlen(tls, s)
  7416. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint32(1))))) == int32('/') {
  7417. for cond := true; cond; cond = len1 > uint32(1) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint32(1))))) == int32('/') {
  7418. len1--
  7419. }
  7420. *(*TFcChar8)(unsafe.Pointer(s + uintptr(len1))) = uint8(0)
  7421. }
  7422. XIA__FcStrSetAdd(tls, ret, s)
  7423. XIA__FcStrFree(tls, s)
  7424. }
  7425. XIA__FcStrFree(tls, ee)
  7426. } else {
  7427. /* From spec doc at https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
  7428. *
  7429. * If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.
  7430. */
  7431. XIA__FcStrSetAdd(tls, ret, __ccgo_ts+1619)
  7432. XIA__FcStrSetAdd(tls, ret, __ccgo_ts+1636)
  7433. }
  7434. return ret
  7435. }
  7436. func XIA__FcConfigEnableHome(tls *libc.TLS, enable TFcBool) (r TFcBool) {
  7437. var prev TFcBool
  7438. _ = prev
  7439. prev = __FcConfigHomeEnabled
  7440. __FcConfigHomeEnabled = enable
  7441. return prev
  7442. }
  7443. var XFcConfigEnableHome = XIA__FcConfigEnableHome
  7444. func XIA__FcConfigGetFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  7445. bp := tls.Alloc(32)
  7446. defer tls.Free(32)
  7447. var dir, file, p, path, s, s1, sysroot uintptr
  7448. var len1 Tsize_t
  7449. _, _, _, _, _, _, _, _ = dir, file, len1, p, path, s, s1, sysroot
  7450. config = XIA__FcConfigReference(tls, config)
  7451. if !(config != 0) {
  7452. return libc.UintptrFromInt32(0)
  7453. }
  7454. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  7455. if !(url != 0) || !(*(*TFcChar8)(unsafe.Pointer(url)) != 0) {
  7456. url = libc.Xgetenv(tls, __ccgo_ts+1647)
  7457. if !(url != 0) {
  7458. url = __ccgo_ts + 1663
  7459. }
  7460. }
  7461. file = uintptr(0)
  7462. if XFcStrIsAbsoluteFilename(tls, url) != 0 {
  7463. if sysroot != 0 {
  7464. len1 = libc.Xstrlen(tls, sysroot)
  7465. /* Workaround to avoid adding sysroot repeatedly */
  7466. if libc.Xstrncmp(tls, url, sysroot, len1) == 0 {
  7467. sysroot = libc.UintptrFromInt32(0)
  7468. }
  7469. }
  7470. file = _FcConfigFileExists(tls, sysroot, url)
  7471. goto bail
  7472. }
  7473. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(url))) == int32('~') {
  7474. dir = XIA__FcConfigHome(tls)
  7475. if dir != 0 {
  7476. if sysroot != 0 {
  7477. s = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  7478. } else {
  7479. s = dir
  7480. }
  7481. file = _FcConfigFileExists(tls, s, url+uintptr(1))
  7482. if sysroot != 0 {
  7483. XIA__FcStrFree(tls, s)
  7484. }
  7485. } else {
  7486. file = uintptr(0)
  7487. }
  7488. } else {
  7489. path = _FcConfigGetPath(tls)
  7490. if !(path != 0) {
  7491. file = libc.UintptrFromInt32(0)
  7492. goto bail
  7493. }
  7494. p = path
  7495. for {
  7496. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  7497. break
  7498. }
  7499. if sysroot != 0 {
  7500. s1 = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(p)), libc.UintptrFromInt32(0)))
  7501. } else {
  7502. s1 = *(*uintptr)(unsafe.Pointer(p))
  7503. }
  7504. file = _FcConfigFileExists(tls, s1, url)
  7505. if sysroot != 0 {
  7506. XIA__FcStrFree(tls, s1)
  7507. }
  7508. if file != 0 {
  7509. break
  7510. }
  7511. goto _1
  7512. _1:
  7513. ;
  7514. p += 4
  7515. }
  7516. _FcConfigFreePath(tls, path)
  7517. }
  7518. goto bail
  7519. bail:
  7520. ;
  7521. XIA__FcConfigDestroy(tls, config)
  7522. return file
  7523. }
  7524. var XFcConfigGetFilename = XIA__FcConfigGetFilename
  7525. func XIA__FcConfigFilename(tls *libc.TLS, url uintptr) (r uintptr) {
  7526. return XIA__FcConfigGetFilename(tls, libc.UintptrFromInt32(0), url)
  7527. }
  7528. var XFcConfigFilename = XIA__FcConfigFilename
  7529. func XFcConfigRealFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  7530. bp := tls.Alloc(4272)
  7531. defer tls.Free(4272)
  7532. var dirname, n, path uintptr
  7533. var len1, v1 Tssize_t
  7534. var _ /* buf at bp+0 */ [4096]TFcChar8
  7535. var _ /* sb at bp+4096 */ Tstat
  7536. _, _, _, _, _ = dirname, len1, n, path, v1
  7537. n = XIA__FcConfigGetFilename(tls, config, url)
  7538. if n != 0 {
  7539. v1 = XFcReadLink(tls, n, bp, libc.Uint32FromInt64(4096)-libc.Uint32FromInt32(1))
  7540. len1 = v1
  7541. if v1 != -int32(1) {
  7542. (*(*[4096]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  7543. /* We try to pick up a config from FONTCONFIG_FILE
  7544. * when url is null. don't try to address the real filename
  7545. * if it is a named pipe.
  7546. */
  7547. if !(url != 0) && XFcStat(tls, n, bp+4096) == 0 && (*(*Tstat)(unsafe.Pointer(bp + 4096))).Fst_mode&uint32(m_S_IFMT1) == uint32(m_S_IFIFO1) {
  7548. return n
  7549. } else {
  7550. if !(XFcStrIsAbsoluteFilename(tls, bp) != 0) {
  7551. dirname = XIA__FcStrDirname(tls, n)
  7552. XIA__FcStrFree(tls, n)
  7553. if !(dirname != 0) {
  7554. return libc.UintptrFromInt32(0)
  7555. }
  7556. path = XIA__FcStrBuildFilename(tls, dirname, libc.VaList(bp+4248, bp, libc.UintptrFromInt32(0)))
  7557. XIA__FcStrFree(tls, dirname)
  7558. if !(path != 0) {
  7559. return libc.UintptrFromInt32(0)
  7560. }
  7561. n = XFcStrCanonFilename(tls, path)
  7562. XIA__FcStrFree(tls, path)
  7563. } else {
  7564. XIA__FcStrFree(tls, n)
  7565. n = libc.Xstrdup(tls, bp)
  7566. }
  7567. }
  7568. }
  7569. }
  7570. return n
  7571. }
  7572. /*
  7573. * Manage the application-specific fonts
  7574. */
  7575. func XIA__FcConfigAppFontAddFile(tls *libc.TLS, config uintptr, file uintptr) (r TFcBool) {
  7576. var ret TFcBool
  7577. var set, subdir, subdirs, sublist, v1, v2 uintptr
  7578. _, _, _, _, _, _, _ = ret, set, subdir, subdirs, sublist, v1, v2
  7579. ret = int32(m_FcTrue)
  7580. config = XIA__FcConfigReference(tls, config)
  7581. if !(config != 0) {
  7582. return m_FcFalse
  7583. }
  7584. subdirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  7585. if !(subdirs != 0) {
  7586. ret = m_FcFalse
  7587. goto bail
  7588. }
  7589. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  7590. if !(set != 0) {
  7591. set = XIA__FcFontSetCreate(tls)
  7592. if !(set != 0) {
  7593. XIA__FcStrSetDestroy(tls, subdirs)
  7594. ret = m_FcFalse
  7595. goto bail
  7596. }
  7597. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  7598. }
  7599. if !(XFcFileScanConfig(tls, set, subdirs, file, config) != 0) {
  7600. XIA__FcStrSetDestroy(tls, subdirs)
  7601. ret = m_FcFalse
  7602. goto bail
  7603. }
  7604. v1 = XIA__FcStrListCreate(tls, subdirs)
  7605. sublist = v1
  7606. if v1 != 0 {
  7607. for {
  7608. v2 = XIA__FcStrListNext(tls, sublist)
  7609. subdir = v2
  7610. if !(v2 != 0) {
  7611. break
  7612. }
  7613. XIA__FcConfigAppFontAddDir(tls, config, subdir)
  7614. }
  7615. XIA__FcStrListDone(tls, sublist)
  7616. }
  7617. XIA__FcStrSetDestroy(tls, subdirs)
  7618. goto bail
  7619. bail:
  7620. ;
  7621. XIA__FcConfigDestroy(tls, config)
  7622. return ret
  7623. }
  7624. var XFcConfigAppFontAddFile = XIA__FcConfigAppFontAddFile
  7625. func XIA__FcConfigAppFontAddDir(tls *libc.TLS, config uintptr, dir uintptr) (r TFcBool) {
  7626. var dirs, set uintptr
  7627. var ret TFcBool
  7628. _, _, _ = dirs, ret, set
  7629. ret = int32(m_FcTrue)
  7630. config = XIA__FcConfigReference(tls, config)
  7631. if !(config != 0) {
  7632. return m_FcFalse
  7633. }
  7634. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  7635. if !(dirs != 0) {
  7636. ret = m_FcFalse
  7637. goto bail
  7638. }
  7639. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  7640. if !(set != 0) {
  7641. set = XIA__FcFontSetCreate(tls)
  7642. if !(set != 0) {
  7643. XIA__FcStrSetDestroy(tls, dirs)
  7644. ret = m_FcFalse
  7645. goto bail
  7646. }
  7647. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  7648. }
  7649. XIA__FcStrSetAddFilename(tls, dirs, dir)
  7650. if !(_FcConfigAddDirList(tls, config, int32(_FcSetApplication), dirs) != 0) {
  7651. XIA__FcStrSetDestroy(tls, dirs)
  7652. ret = m_FcFalse
  7653. goto bail
  7654. }
  7655. XIA__FcStrSetDestroy(tls, dirs)
  7656. goto bail
  7657. bail:
  7658. ;
  7659. XIA__FcConfigDestroy(tls, config)
  7660. return ret
  7661. }
  7662. var XFcConfigAppFontAddDir = XIA__FcConfigAppFontAddDir
  7663. func XIA__FcConfigAppFontClear(tls *libc.TLS, config uintptr) {
  7664. config = XIA__FcConfigReference(tls, config)
  7665. if !(config != 0) {
  7666. return
  7667. }
  7668. XFcConfigSetFonts(tls, config, uintptr(0), int32(_FcSetApplication))
  7669. XIA__FcConfigDestroy(tls, config)
  7670. }
  7671. var XFcConfigAppFontClear = XIA__FcConfigAppFontClear
  7672. /*
  7673. * Manage filename-based font source selectors
  7674. */
  7675. func XFcConfigGlobAdd(tls *libc.TLS, config uintptr, glob uintptr, accept TFcBool) (r TFcBool) {
  7676. var set, v1 uintptr
  7677. _, _ = set, v1
  7678. if accept != 0 {
  7679. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs
  7680. } else {
  7681. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs
  7682. }
  7683. set = v1
  7684. return XIA__FcStrSetAdd(tls, set, glob)
  7685. }
  7686. func _FcConfigGlobsMatch(tls *libc.TLS, globs uintptr, string1 uintptr) (r TFcBool) {
  7687. var i int32
  7688. _ = i
  7689. i = 0
  7690. for {
  7691. if !(i < (*TFcStrSet)(unsafe.Pointer(globs)).Fnum) {
  7692. break
  7693. }
  7694. if XFcStrGlobMatch(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(globs)).Fstrs + uintptr(i)*4)), string1) != 0 {
  7695. return int32(m_FcTrue)
  7696. }
  7697. goto _1
  7698. _1:
  7699. ;
  7700. i++
  7701. }
  7702. return m_FcFalse
  7703. }
  7704. func XFcConfigAcceptFilename(tls *libc.TLS, config uintptr, filename uintptr) (r TFcBool) {
  7705. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs, filename) != 0 {
  7706. return int32(m_FcTrue)
  7707. }
  7708. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs, filename) != 0 {
  7709. return m_FcFalse
  7710. }
  7711. return int32(m_FcTrue)
  7712. }
  7713. /*
  7714. * Manage font-pattern based font source selectors
  7715. */
  7716. func XFcConfigPatternsAdd(tls *libc.TLS, config uintptr, pattern uintptr, accept TFcBool) (r TFcBool) {
  7717. var set, v1 uintptr
  7718. _, _ = set, v1
  7719. if accept != 0 {
  7720. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns
  7721. } else {
  7722. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns
  7723. }
  7724. set = v1
  7725. return XIA__FcFontSetAdd(tls, set, pattern)
  7726. }
  7727. func _FcConfigPatternsMatch(tls *libc.TLS, patterns uintptr, font uintptr) (r TFcBool) {
  7728. var i int32
  7729. _ = i
  7730. i = 0
  7731. for {
  7732. if !(i < (*TFcFontSet)(unsafe.Pointer(patterns)).Fnfont) {
  7733. break
  7734. }
  7735. if XFcListPatternMatchAny(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(patterns)).Ffonts + uintptr(i)*4)), font) != 0 {
  7736. return int32(m_FcTrue)
  7737. }
  7738. goto _1
  7739. _1:
  7740. ;
  7741. i++
  7742. }
  7743. return m_FcFalse
  7744. }
  7745. func XFcConfigAcceptFont(tls *libc.TLS, config uintptr, font uintptr) (r TFcBool) {
  7746. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns, font) != 0 {
  7747. return int32(m_FcTrue)
  7748. }
  7749. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns, font) != 0 {
  7750. return m_FcFalse
  7751. }
  7752. return int32(m_FcTrue)
  7753. }
  7754. func XIA__FcConfigGetSysRoot(tls *libc.TLS, config uintptr) (r uintptr) {
  7755. if !(config != 0) {
  7756. config = XIA__FcConfigGetCurrent(tls)
  7757. if !(config != 0) {
  7758. return libc.UintptrFromInt32(0)
  7759. }
  7760. }
  7761. return (*TFcConfig)(unsafe.Pointer(config)).FsysRoot
  7762. }
  7763. var XFcConfigGetSysRoot = XIA__FcConfigGetSysRoot
  7764. func XIA__FcConfigSetSysRoot(tls *libc.TLS, config uintptr, sysroot uintptr) {
  7765. var init1 TFcBool
  7766. var nretry, v1 int32
  7767. var s uintptr
  7768. _, _, _, _ = init1, nretry, s, v1
  7769. s = libc.UintptrFromInt32(0)
  7770. init1 = m_FcFalse
  7771. nretry = int32(3)
  7772. goto retry
  7773. retry:
  7774. ;
  7775. if !(config != 0) {
  7776. /* We can't use FcConfigGetCurrent() here to ensure
  7777. * the sysroot is set prior to initialize FcConfig,
  7778. * to avoid loading caches from non-sysroot dirs.
  7779. * So postpone the initialization later.
  7780. */
  7781. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  7782. if !(config != 0) {
  7783. config = XIA__FcConfigCreate(tls)
  7784. if !(config != 0) {
  7785. return
  7786. }
  7787. init1 = int32(m_FcTrue)
  7788. }
  7789. }
  7790. if sysroot != 0 {
  7791. s = XFcStrRealPath(tls, sysroot)
  7792. if !(s != 0) {
  7793. return
  7794. }
  7795. }
  7796. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  7797. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  7798. }
  7799. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = s
  7800. if init1 != 0 {
  7801. config = XFcInitLoadOwnConfigAndFonts(tls, config)
  7802. if !(config != 0) {
  7803. /* Something failed. this is usually unlikely. so retrying */
  7804. init1 = m_FcFalse
  7805. nretry--
  7806. v1 = nretry
  7807. if v1 == 0 {
  7808. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1674, 0)
  7809. return
  7810. }
  7811. goto retry
  7812. }
  7813. XIA__FcConfigSetCurrent(tls, config)
  7814. /* FcConfigSetCurrent() increases the refcount.
  7815. * decrease it here to avoid the memory leak.
  7816. */
  7817. XIA__FcConfigDestroy(tls, config)
  7818. }
  7819. }
  7820. var XFcConfigSetSysRoot = XIA__FcConfigSetSysRoot
  7821. func XFcRuleSetCreate(tls *libc.TLS, name uintptr) (r uintptr) {
  7822. var k TFcMatchKind
  7823. var p, ret uintptr
  7824. _, _, _ = k, p, ret
  7825. ret = libc.Xmalloc(tls, uint32(32))
  7826. if !(name != 0) {
  7827. p = __ccgo_ts + 112
  7828. } else {
  7829. p = name
  7830. }
  7831. if ret != 0 {
  7832. (*TFcRuleSet)(unsafe.Pointer(ret)).Fname = libc.Xstrdup(tls, p)
  7833. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdescription = libc.UintptrFromInt32(0)
  7834. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdomain = libc.UintptrFromInt32(0)
  7835. k = int32(_FcMatchKindBegin)
  7836. for {
  7837. if !(k < int32(_FcMatchKindEnd)) {
  7838. break
  7839. }
  7840. *(*uintptr)(unsafe.Pointer(ret + 20 + uintptr(k)*4)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRule))
  7841. goto _1
  7842. _1:
  7843. ;
  7844. k++
  7845. }
  7846. (*TFcRef)(unsafe.Pointer(ret)).Fcount = int32(1)
  7847. }
  7848. return ret
  7849. }
  7850. func XFcRuleSetDestroy(tls *libc.TLS, rs uintptr) {
  7851. var k TFcMatchKind
  7852. var v1 int32
  7853. var p3 uintptr
  7854. _, _, _ = k, v1, p3
  7855. if !(rs != 0) {
  7856. return
  7857. }
  7858. p3 = rs
  7859. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  7860. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  7861. goto _2
  7862. _2:
  7863. if v1 != int32(1) {
  7864. return
  7865. }
  7866. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fname != 0 {
  7867. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname)
  7868. }
  7869. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7870. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7871. }
  7872. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7873. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7874. }
  7875. k = int32(_FcMatchKindBegin)
  7876. for {
  7877. if !(k < int32(_FcMatchKindEnd)) {
  7878. break
  7879. }
  7880. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(k)*4)))
  7881. goto _4
  7882. _4:
  7883. ;
  7884. k++
  7885. }
  7886. libc.Xfree(tls, rs)
  7887. }
  7888. func XFcRuleSetReference(tls *libc.TLS, rs uintptr) {
  7889. var v1 TFcBool
  7890. var p4 uintptr
  7891. _, _ = v1, p4
  7892. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(rs)).Fcount == -libc.Int32FromInt32(1))
  7893. goto _2
  7894. _2:
  7895. if !(v1 != 0) {
  7896. p4 = rs
  7897. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  7898. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  7899. goto _3
  7900. _3:
  7901. }
  7902. }
  7903. func XFcRuleSetEnable(tls *libc.TLS, rs uintptr, flag TFcBool) {
  7904. if rs != 0 {
  7905. (*TFcRuleSet)(unsafe.Pointer(rs)).Fenabled = flag
  7906. /* XXX: we may want to provide a feature
  7907. * to enable/disable rulesets through API
  7908. * in the future?
  7909. */
  7910. }
  7911. }
  7912. func XFcRuleSetAddDescription(tls *libc.TLS, rs uintptr, domain uintptr, description uintptr) {
  7913. var v1, v2 uintptr
  7914. _, _ = v1, v2
  7915. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7916. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7917. }
  7918. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7919. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7920. }
  7921. if domain != 0 {
  7922. v1 = libc.Xstrdup(tls, domain)
  7923. } else {
  7924. v1 = libc.UintptrFromInt32(0)
  7925. }
  7926. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain = v1
  7927. if description != 0 {
  7928. v2 = libc.Xstrdup(tls, description)
  7929. } else {
  7930. v2 = libc.UintptrFromInt32(0)
  7931. }
  7932. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription = v2
  7933. }
  7934. func XFcRuleSetAdd(tls *libc.TLS, rs uintptr, rule uintptr, kind TFcMatchKind) (r1 int32) {
  7935. bp := tls.Alloc(48)
  7936. defer tls.Free(48)
  7937. var n, ret, v2 int32
  7938. var r uintptr
  7939. var _ /* iter at bp+0 */ TFcPtrListIter
  7940. _, _, _, _ = n, r, ret, v2
  7941. n = 0
  7942. if !(rs != 0) || kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  7943. return -int32(1)
  7944. }
  7945. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp)
  7946. if !(XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer(rs + 20 + uintptr(kind)*4)), bp, rule) != 0) {
  7947. return -int32(1)
  7948. }
  7949. r = rule
  7950. for {
  7951. if !(r != 0) {
  7952. break
  7953. }
  7954. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  7955. case int32(_FcRuleTest):
  7956. if *(*uintptr)(unsafe.Pointer(r + 8)) != 0 {
  7957. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind == -libc.Int32FromInt32(1) {
  7958. (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fkind = kind
  7959. }
  7960. if n < (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject {
  7961. n = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject
  7962. }
  7963. }
  7964. case int32(_FcRuleEdit):
  7965. if n < (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject {
  7966. n = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 8)))).Fobject
  7967. }
  7968. default:
  7969. break
  7970. }
  7971. goto _1
  7972. _1:
  7973. ;
  7974. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  7975. }
  7976. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7977. libc.Xprintf(tls, __ccgo_ts+1797, libc.VaList(bp+24, kind, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  7978. XFcRulePrint(tls, rule)
  7979. }
  7980. ret = n & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) - (int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1))
  7981. if ret < 0 {
  7982. v2 = 0
  7983. } else {
  7984. v2 = ret
  7985. }
  7986. return v2
  7987. }
  7988. func XIA__FcConfigFileInfoIterInit(tls *libc.TLS, config uintptr, iter uintptr) {
  7989. var c, i uintptr
  7990. _, _ = c, i
  7991. i = iter
  7992. if !(config != 0) {
  7993. c = XIA__FcConfigGetCurrent(tls)
  7994. } else {
  7995. c = config
  7996. }
  7997. XFcPtrListIterInit(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7998. }
  7999. var XFcConfigFileInfoIterInit = XIA__FcConfigFileInfoIterInit
  8000. func XIA__FcConfigFileInfoIterNext(tls *libc.TLS, config uintptr, iter uintptr) (r TFcBool) {
  8001. var c, i uintptr
  8002. _, _ = c, i
  8003. i = iter
  8004. if !(config != 0) {
  8005. c = XIA__FcConfigGetCurrent(tls)
  8006. } else {
  8007. c = config
  8008. }
  8009. if XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0 {
  8010. XFcPtrListIterNext(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  8011. } else {
  8012. return m_FcFalse
  8013. }
  8014. return int32(m_FcTrue)
  8015. }
  8016. var XFcConfigFileInfoIterNext = XIA__FcConfigFileInfoIterNext
  8017. func XIA__FcConfigFileInfoIterGet(tls *libc.TLS, config uintptr, iter uintptr, name uintptr, description uintptr, enabled uintptr) (r1 TFcBool) {
  8018. var c, i, r, v1, v2, v3 uintptr
  8019. _, _, _, _, _, _ = c, i, r, v1, v2, v3
  8020. i = iter
  8021. if !(config != 0) {
  8022. c = XIA__FcConfigGetCurrent(tls)
  8023. } else {
  8024. c = config
  8025. }
  8026. if !(XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0) {
  8027. return m_FcFalse
  8028. }
  8029. r = XFcPtrListIterGetValue(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  8030. if name != 0 {
  8031. if (*TFcRuleSet)(unsafe.Pointer(r)).Fname != 0 && *(*TFcChar8)(unsafe.Pointer((*TFcRuleSet)(unsafe.Pointer(r)).Fname)) != 0 {
  8032. v1 = (*TFcRuleSet)(unsafe.Pointer(r)).Fname
  8033. } else {
  8034. v1 = __ccgo_ts + 1663
  8035. }
  8036. *(*uintptr)(unsafe.Pointer(name)) = libc.Xstrdup(tls, v1)
  8037. }
  8038. if description != 0 {
  8039. if !((*TFcRuleSet)(unsafe.Pointer(r)).Fdescription != 0) {
  8040. v2 = libc.Xdgettext(tls, __ccgo_ts+1826, __ccgo_ts+1837)
  8041. } else {
  8042. if (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain != 0 {
  8043. v3 = (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain
  8044. } else {
  8045. v3 = __ccgo_ts + 1852
  8046. }
  8047. v2 = libc.Xdgettext(tls, v3, (*TFcRuleSet)(unsafe.Pointer(r)).Fdescription)
  8048. }
  8049. *(*uintptr)(unsafe.Pointer(description)) = libc.Xstrdup(tls, v2)
  8050. }
  8051. if enabled != 0 {
  8052. *(*TFcBool)(unsafe.Pointer(enabled)) = (*TFcRuleSet)(unsafe.Pointer(r)).Fenabled
  8053. }
  8054. return int32(m_FcTrue)
  8055. }
  8056. var XFcConfigFileInfoIterGet = XIA__FcConfigFileInfoIterGet
  8057. const m_FC_CHAR_LEAF_HASH_SIZE = 257
  8058. const m_FC_CHAR_SET_HASH_SIZE = 67
  8059. const m_FC_DIR_SEPARATOR2 = '/'
  8060. const m_FC_DIR_SEPARATOR_S2 = "/"
  8061. const m_FC_SEARCH_PATH_SEPARATOR2 = ':'
  8062. const m_S_IFIFO2 = 0010000
  8063. const m_S_IFMT2 = 0170000
  8064. type TFcCharSetFreezer = struct {
  8065. Fleaf_hash_table [257]uintptr
  8066. Fleaf_blocks uintptr
  8067. Fleaf_block_count int32
  8068. Fset_hash_table [67]uintptr
  8069. Forig_hash_table [67]uintptr
  8070. Fcurrent_block uintptr
  8071. Fleaf_remain int32
  8072. Fleaves_seen int32
  8073. Fcharsets_seen int32
  8074. Fleaves_allocated int32
  8075. Fcharsets_allocated int32
  8076. }
  8077. type T_FcCharSetFreezer = TFcCharSetFreezer
  8078. /* #define CHECK */
  8079. func XIA__FcCharSetCreate(tls *libc.TLS) (r uintptr) {
  8080. var fcs uintptr
  8081. _ = fcs
  8082. fcs = libc.Xmalloc(tls, uint32(16))
  8083. if !(fcs != 0) {
  8084. return uintptr(0)
  8085. }
  8086. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = int32(1)
  8087. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  8088. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  8089. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  8090. return fcs
  8091. }
  8092. var XFcCharSetCreate = XIA__FcCharSetCreate
  8093. func XFcCharSetPromote(tls *libc.TLS, vbuf uintptr) (r uintptr) {
  8094. var fcs uintptr
  8095. _ = fcs
  8096. fcs = vbuf
  8097. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = -libc.Int32FromInt32(1)
  8098. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  8099. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  8100. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  8101. return fcs
  8102. }
  8103. func XIA__FcCharSetNew(tls *libc.TLS) (r uintptr) {
  8104. return XIA__FcCharSetCreate(tls)
  8105. }
  8106. var XFcCharSetNew = XIA__FcCharSetNew
  8107. func XIA__FcCharSetDestroy(tls *libc.TLS, fcs uintptr) {
  8108. var i, v3 int32
  8109. var v1 TFcBool
  8110. var p5 uintptr
  8111. _, _, _, _ = i, v1, v3, p5
  8112. if fcs != 0 {
  8113. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8114. goto _2
  8115. _2:
  8116. if v1 != 0 {
  8117. XFcCacheObjectDereference(tls, fcs)
  8118. return
  8119. }
  8120. p5 = fcs
  8121. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  8122. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  8123. goto _4
  8124. _4:
  8125. if v3 != int32(1) {
  8126. return
  8127. }
  8128. i = 0
  8129. for {
  8130. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8131. break
  8132. }
  8133. 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))))
  8134. goto _6
  8135. _6:
  8136. ;
  8137. i++
  8138. }
  8139. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  8140. libc.Xfree(tls, uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  8141. libc.Xfree(tls, uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset))
  8142. }
  8143. libc.Xfree(tls, fcs)
  8144. }
  8145. }
  8146. var XFcCharSetDestroy = XIA__FcCharSetDestroy
  8147. /*
  8148. * Search for the leaf containing with the specified num.
  8149. * Return its index if it exists, otherwise return negative of
  8150. * the (position + 1) where it should be inserted
  8151. */
  8152. func _FcCharSetFindLeafForward(tls *libc.TLS, fcs uintptr, start int32, num TFcChar16) (r int32) {
  8153. var high, low, mid int32
  8154. var numbers uintptr
  8155. var page TFcChar16
  8156. _, _, _, _, _ = high, low, mid, numbers, page
  8157. numbers = uintptr(int32(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  8158. low = start
  8159. high = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum - int32(1)
  8160. if !(numbers != 0) {
  8161. return -int32(1)
  8162. }
  8163. for low <= high {
  8164. mid = (low + high) >> int32(1)
  8165. page = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(mid)*2))
  8166. if libc.Int32FromUint16(page) == libc.Int32FromUint16(num) {
  8167. return mid
  8168. }
  8169. if libc.Int32FromUint16(page) < libc.Int32FromUint16(num) {
  8170. low = mid + int32(1)
  8171. } else {
  8172. high = mid - int32(1)
  8173. }
  8174. }
  8175. if high < 0 || high < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(high)*2))) < libc.Int32FromUint16(num) {
  8176. high++
  8177. }
  8178. return -(high + int32(1))
  8179. }
  8180. /*
  8181. * Locate the leaf containing the specified char, return
  8182. * its index if it exists, otherwise return negative of
  8183. * the (position + 1) where it should be inserted
  8184. */
  8185. func _FcCharSetFindLeafPos(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r int32) {
  8186. return _FcCharSetFindLeafForward(tls, fcs, 0, uint16(ucs4>>int32(8)))
  8187. }
  8188. func _FcCharSetFindLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  8189. var pos int32
  8190. _ = pos
  8191. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8192. if pos >= 0 {
  8193. 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)))
  8194. }
  8195. return uintptr(0)
  8196. }
  8197. func _FcCharSetPutLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr, pos int32) (r TFcBool) {
  8198. var alloced, alloced1 uint32
  8199. var distance Tptrdiff_t
  8200. var i int32
  8201. var leaves, new_leaves, numbers uintptr
  8202. _, _, _, _, _, _, _ = alloced, alloced1, distance, i, leaves, new_leaves, numbers
  8203. leaves = uintptr(int32(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)
  8204. numbers = uintptr(int32(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  8205. ucs4 >>= uint32(8)
  8206. if ucs4 >= uint32(0x10000) {
  8207. return m_FcFalse
  8208. }
  8209. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum&((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-libc.Int32FromInt32(1)) != 0) {
  8210. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0) {
  8211. alloced = uint32(8)
  8212. leaves = libc.Xmalloc(tls, alloced*uint32(4))
  8213. numbers = libc.Xmalloc(tls, alloced*uint32(2))
  8214. if !(leaves != 0) || !(numbers != 0) {
  8215. if leaves != 0 {
  8216. libc.Xfree(tls, leaves)
  8217. }
  8218. if numbers != 0 {
  8219. libc.Xfree(tls, numbers)
  8220. }
  8221. return m_FcFalse
  8222. }
  8223. } else {
  8224. alloced1 = libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)
  8225. alloced1 *= uint32(2)
  8226. numbers = libc.Xrealloc(tls, numbers, alloced1*uint32(2))
  8227. if !(numbers != 0) {
  8228. return m_FcFalse
  8229. }
  8230. new_leaves = libc.Xrealloc(tls, leaves, alloced1*uint32(4))
  8231. if !(new_leaves != 0) {
  8232. /*
  8233. * Revert the reallocation of numbers. We update numbers_offset
  8234. * first in case realloc() fails.
  8235. */
  8236. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int32(numbers) - int32(fcs)
  8237. numbers = libc.Xrealloc(tls, numbers, alloced1/uint32(2)*uint32(2))
  8238. /* unlikely to fail though */
  8239. if !(numbers != 0) {
  8240. return m_FcFalse
  8241. }
  8242. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int32(numbers) - int32(fcs)
  8243. return m_FcFalse
  8244. }
  8245. distance = int32(new_leaves) - int32(leaves)
  8246. i = 0
  8247. for {
  8248. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8249. break
  8250. }
  8251. *(*Tintptr_t)(unsafe.Pointer(new_leaves + uintptr(i)*4)) -= distance
  8252. goto _1
  8253. _1:
  8254. ;
  8255. i++
  8256. }
  8257. leaves = new_leaves
  8258. }
  8259. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int32(leaves) - int32(fcs)
  8260. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int32(numbers) - int32(fcs)
  8261. }
  8262. libc.Xmemmove(tls, leaves+uintptr(pos)*4+uintptr(1)*4, leaves+uintptr(pos)*4, libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint32(4))
  8263. libc.Xmemmove(tls, numbers+uintptr(pos)*2+uintptr(1)*2, numbers+uintptr(pos)*2, libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint32(2))
  8264. *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(pos)*2)) = uint16(ucs4)
  8265. *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(pos)*4)) = int32(leaf) - int32(leaves)
  8266. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum++
  8267. return int32(m_FcTrue)
  8268. }
  8269. /*
  8270. * Locate the leaf containing the specified char, creating it
  8271. * if desired
  8272. */
  8273. func XFcCharSetFindLeafCreate(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  8274. var leaf uintptr
  8275. var pos int32
  8276. _, _ = leaf, pos
  8277. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8278. if pos >= 0 {
  8279. 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)))
  8280. }
  8281. leaf = libc.Xcalloc(tls, uint32(1), uint32(32))
  8282. if !(leaf != 0) {
  8283. return uintptr(0)
  8284. }
  8285. pos = -pos - int32(1)
  8286. if !(_FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos) != 0) {
  8287. libc.Xfree(tls, leaf)
  8288. return uintptr(0)
  8289. }
  8290. return leaf
  8291. }
  8292. func _FcCharSetInsertLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  8293. var pos int32
  8294. _ = pos
  8295. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8296. if pos >= 0 {
  8297. 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))))
  8298. *(*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))
  8299. return int32(m_FcTrue)
  8300. }
  8301. pos = -pos - int32(1)
  8302. return _FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos)
  8303. }
  8304. func XIA__FcCharSetAddChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8305. var b, leaf uintptr
  8306. var v1 TFcBool
  8307. var v3 bool
  8308. _, _, _, _ = b, leaf, v1, v3
  8309. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  8310. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8311. goto _2
  8312. _2:
  8313. }
  8314. if v3 || v1 != 0 {
  8315. return m_FcFalse
  8316. }
  8317. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  8318. if !(leaf != 0) {
  8319. return m_FcFalse
  8320. }
  8321. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  8322. *(*TFcChar32)(unsafe.Pointer(b)) |= uint32(1) << (ucs4 & uint32(0x1f))
  8323. return int32(m_FcTrue)
  8324. }
  8325. var XFcCharSetAddChar = XIA__FcCharSetAddChar
  8326. func XIA__FcCharSetDelChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8327. var b, leaf uintptr
  8328. var v1 TFcBool
  8329. var v3 bool
  8330. _, _, _, _ = b, leaf, v1, v3
  8331. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  8332. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8333. goto _2
  8334. _2:
  8335. }
  8336. if v3 || v1 != 0 {
  8337. return m_FcFalse
  8338. }
  8339. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  8340. if !(leaf != 0) {
  8341. return int32(m_FcTrue)
  8342. }
  8343. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  8344. *(*TFcChar32)(unsafe.Pointer(b)) &= ^(libc.Uint32FromUint32(1) << (ucs4 & libc.Uint32FromInt32(0x1f)))
  8345. /* We don't bother removing the leaf if it's empty */
  8346. return int32(m_FcTrue)
  8347. }
  8348. var XFcCharSetDelChar = XIA__FcCharSetDelChar
  8349. /*
  8350. * An iterator for the leaves of a charset
  8351. */
  8352. type TFcCharSetIter = struct {
  8353. Fleaf uintptr
  8354. Fucs4 TFcChar32
  8355. Fpos int32
  8356. }
  8357. /*
  8358. * An iterator for the leaves of a charset
  8359. */
  8360. type T_fcCharSetIter = TFcCharSetIter
  8361. /*
  8362. * Set iter->leaf to the leaf containing iter->ucs4 or higher
  8363. */
  8364. func _FcCharSetIterSet(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8365. var pos int32
  8366. _ = pos
  8367. pos = _FcCharSetFindLeafPos(tls, fcs, (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4)
  8368. if pos < 0 {
  8369. pos = -pos - int32(1)
  8370. if pos == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  8371. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  8372. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  8373. return
  8374. }
  8375. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  8376. }
  8377. (*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)))
  8378. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  8379. }
  8380. func _FcCharSetIterNext(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8381. var pos int32
  8382. _ = pos
  8383. pos = (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos + int32(1)
  8384. if pos >= (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  8385. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  8386. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  8387. } else {
  8388. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int32(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  8389. (*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)))
  8390. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  8391. }
  8392. }
  8393. func _FcCharSetIterStart(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8394. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(0)
  8395. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = 0
  8396. _FcCharSetIterSet(tls, fcs, iter)
  8397. }
  8398. func XIA__FcCharSetCopy(tls *libc.TLS, src uintptr) (r uintptr) {
  8399. var v1 TFcBool
  8400. var p4 uintptr
  8401. _, _ = v1, p4
  8402. if src != 0 {
  8403. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(src)).Fcount == -libc.Int32FromInt32(1))
  8404. goto _2
  8405. _2:
  8406. if !(v1 != 0) {
  8407. p4 = src
  8408. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  8409. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  8410. goto _3
  8411. _3:
  8412. } else {
  8413. XFcCacheObjectReference(tls, src)
  8414. }
  8415. }
  8416. return src
  8417. }
  8418. var XFcCharSetCopy = XIA__FcCharSetCopy
  8419. func XIA__FcCharSetEqual(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  8420. bp := tls.Alloc(32)
  8421. defer tls.Free(32)
  8422. var i int32
  8423. var _ /* ai at bp+0 */ TFcCharSetIter
  8424. var _ /* bi at bp+12 */ TFcCharSetIter
  8425. _ = i
  8426. if a == b {
  8427. return int32(m_FcTrue)
  8428. }
  8429. if !(a != 0) || !(b != 0) {
  8430. return m_FcFalse
  8431. }
  8432. _FcCharSetIterStart(tls, a, bp)
  8433. _FcCharSetIterStart(tls, b, bp+12)
  8434. for {
  8435. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf != 0) {
  8436. break
  8437. }
  8438. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 != (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8439. return m_FcFalse
  8440. }
  8441. i = 0
  8442. for {
  8443. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8444. break
  8445. }
  8446. if *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf + uintptr(i)*4)) {
  8447. return m_FcFalse
  8448. }
  8449. goto _2
  8450. _2:
  8451. ;
  8452. i++
  8453. }
  8454. goto _1
  8455. _1:
  8456. ;
  8457. _FcCharSetIterNext(tls, a, bp)
  8458. _FcCharSetIterNext(tls, b, bp+12)
  8459. }
  8460. return libc.BoolInt32((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf)
  8461. }
  8462. var XFcCharSetEqual = XIA__FcCharSetEqual
  8463. func _FcCharSetAddLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  8464. var new1 uintptr
  8465. _ = new1
  8466. new1 = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  8467. if !(new1 != 0) {
  8468. return m_FcFalse
  8469. }
  8470. *(*TFcCharLeaf)(unsafe.Pointer(new1)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  8471. return int32(m_FcTrue)
  8472. }
  8473. func _FcCharSetOperate(tls *libc.TLS, a uintptr, b uintptr, overlap uintptr, aonly TFcBool, bonly TFcBool) (r uintptr) {
  8474. bp := tls.Alloc(64)
  8475. defer tls.Free(64)
  8476. var fcs uintptr
  8477. var _ /* ai at bp+0 */ TFcCharSetIter
  8478. var _ /* bi at bp+12 */ TFcCharSetIter
  8479. var _ /* leaf at bp+24 */ TFcCharLeaf
  8480. _ = fcs
  8481. if !(a != 0) || !(b != 0) {
  8482. goto bail0
  8483. }
  8484. fcs = XIA__FcCharSetCreate(tls)
  8485. if !(fcs != 0) {
  8486. goto bail0
  8487. }
  8488. _FcCharSetIterStart(tls, a, bp)
  8489. _FcCharSetIterStart(tls, b, bp+12)
  8490. 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) {
  8491. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8492. if aonly != 0 {
  8493. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf) != 0) {
  8494. goto bail1
  8495. }
  8496. _FcCharSetIterNext(tls, a, bp)
  8497. } else {
  8498. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4
  8499. _FcCharSetIterSet(tls, a, bp)
  8500. }
  8501. } else {
  8502. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  8503. if bonly != 0 {
  8504. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf) != 0) {
  8505. goto bail1
  8506. }
  8507. _FcCharSetIterNext(tls, b, bp+12)
  8508. } else {
  8509. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8510. _FcCharSetIterSet(tls, b, bp+12)
  8511. }
  8512. } else {
  8513. 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 {
  8514. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, bp+24) != 0) {
  8515. goto bail1
  8516. }
  8517. }
  8518. _FcCharSetIterNext(tls, a, bp)
  8519. _FcCharSetIterNext(tls, b, bp+12)
  8520. }
  8521. }
  8522. }
  8523. return fcs
  8524. goto bail1
  8525. bail1:
  8526. ;
  8527. XIA__FcCharSetDestroy(tls, fcs)
  8528. goto bail0
  8529. bail0:
  8530. ;
  8531. return uintptr(0)
  8532. return r
  8533. }
  8534. func _FcCharSetIntersectLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8535. var i int32
  8536. var nonempty TFcBool
  8537. var v2 TFcChar32
  8538. _, _, _ = i, nonempty, v2
  8539. nonempty = m_FcFalse
  8540. i = 0
  8541. for {
  8542. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8543. break
  8544. }
  8545. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8546. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  8547. if v2 != 0 {
  8548. nonempty = int32(m_FcTrue)
  8549. }
  8550. goto _1
  8551. _1:
  8552. ;
  8553. i++
  8554. }
  8555. return nonempty
  8556. }
  8557. func XIA__FcCharSetIntersect(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8558. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetIntersectLeaf), m_FcFalse, m_FcFalse)
  8559. }
  8560. var XFcCharSetIntersect = XIA__FcCharSetIntersect
  8561. func _FcCharSetUnionLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8562. var i int32
  8563. _ = i
  8564. i = 0
  8565. for {
  8566. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8567. break
  8568. }
  8569. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) | *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8570. goto _1
  8571. _1:
  8572. ;
  8573. i++
  8574. }
  8575. return int32(m_FcTrue)
  8576. }
  8577. func XIA__FcCharSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8578. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetUnionLeaf), int32(m_FcTrue), int32(m_FcTrue))
  8579. }
  8580. var XFcCharSetUnion = XIA__FcCharSetUnion
  8581. func XIA__FcCharSetMerge(tls *libc.TLS, a uintptr, b uintptr, changed uintptr) (r TFcBool) {
  8582. var ai, bi, v3 int32
  8583. var al, bl uintptr
  8584. var an, bn TFcChar16
  8585. var v1 TFcBool
  8586. _, _, _, _, _, _, _, _ = ai, al, an, bi, bl, bn, v1, v3
  8587. ai = 0
  8588. bi = 0
  8589. if !(a != 0) || !(b != 0) {
  8590. return m_FcFalse
  8591. }
  8592. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(a)).Fcount == -libc.Int32FromInt32(1))
  8593. goto _2
  8594. _2:
  8595. if v1 != 0 {
  8596. if changed != 0 {
  8597. *(*TFcBool)(unsafe.Pointer(changed)) = m_FcFalse
  8598. }
  8599. return m_FcFalse
  8600. }
  8601. if changed != 0 {
  8602. *(*TFcBool)(unsafe.Pointer(changed)) = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, b, a) != 0))
  8603. if !(*(*TFcBool)(unsafe.Pointer(changed)) != 0) {
  8604. return int32(m_FcTrue)
  8605. }
  8606. }
  8607. for bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  8608. if ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum {
  8609. v3 = libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int32(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2)))
  8610. } else {
  8611. v3 = ^libc.Int32FromInt32(0)
  8612. }
  8613. an = libc.Uint16FromInt32(v3)
  8614. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  8615. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  8616. ai = _FcCharSetFindLeafForward(tls, a, ai+int32(1), bn)
  8617. if ai < 0 {
  8618. ai = -ai - int32(1)
  8619. }
  8620. } else {
  8621. 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)))
  8622. if libc.Int32FromUint16(bn) < libc.Int32FromUint16(an) {
  8623. if !(_FcCharSetAddLeaf(tls, a, libc.Uint32FromInt32(libc.Int32FromUint16(bn)<<int32(8)), bl) != 0) {
  8624. return m_FcFalse
  8625. }
  8626. } else {
  8627. 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)))
  8628. _FcCharSetUnionLeaf(tls, al, al, bl)
  8629. }
  8630. ai++
  8631. bi++
  8632. }
  8633. }
  8634. return int32(m_FcTrue)
  8635. }
  8636. var XFcCharSetMerge = XIA__FcCharSetMerge
  8637. func _FcCharSetSubtractLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8638. var i int32
  8639. var nonempty TFcBool
  8640. var v2 TFcChar32
  8641. _, _, _ = i, nonempty, v2
  8642. nonempty = m_FcFalse
  8643. i = 0
  8644. for {
  8645. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8646. break
  8647. }
  8648. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8649. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  8650. if v2 != 0 {
  8651. nonempty = int32(m_FcTrue)
  8652. }
  8653. goto _1
  8654. _1:
  8655. ;
  8656. i++
  8657. }
  8658. return nonempty
  8659. }
  8660. func XIA__FcCharSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8661. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetSubtractLeaf), int32(m_FcTrue), m_FcFalse)
  8662. }
  8663. var XFcCharSetSubtract = XIA__FcCharSetSubtract
  8664. func XIA__FcCharSetHasChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8665. var leaf uintptr
  8666. _ = leaf
  8667. if !(fcs != 0) {
  8668. return m_FcFalse
  8669. }
  8670. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  8671. if !(leaf != 0) {
  8672. return m_FcFalse
  8673. }
  8674. return libc.BoolInt32(*(*TFcChar32)(unsafe.Pointer(leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4))&(uint32(1)<<(ucs4&uint32(0x1f))) != uint32(0))
  8675. }
  8676. var XFcCharSetHasChar = XIA__FcCharSetHasChar
  8677. func _FcCharSetPopCount(tls *libc.TLS, c1 TFcChar32) (r TFcChar32) {
  8678. return libc.Uint32FromInt32(libc.X__builtin_popcount(tls, c1))
  8679. }
  8680. func XIA__FcCharSetIntersectCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  8681. bp := tls.Alloc(32)
  8682. defer tls.Free(32)
  8683. var am, bm, v2, v3 uintptr
  8684. var count TFcChar32
  8685. var i, v1 int32
  8686. var _ /* ai at bp+0 */ TFcCharSetIter
  8687. var _ /* bi at bp+12 */ TFcCharSetIter
  8688. _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3
  8689. count = uint32(0)
  8690. if a != 0 && b != 0 {
  8691. _FcCharSetIterStart(tls, a, bp)
  8692. _FcCharSetIterStart(tls, b, bp+12)
  8693. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf != 0 {
  8694. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8695. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8696. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf
  8697. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8698. for {
  8699. v1 = i
  8700. i--
  8701. if !(v1 != 0) {
  8702. break
  8703. }
  8704. v2 = am
  8705. am += 4
  8706. v3 = bm
  8707. bm += 4
  8708. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2))&*(*TFcChar32)(unsafe.Pointer(v3)))
  8709. }
  8710. _FcCharSetIterNext(tls, a, bp)
  8711. } else {
  8712. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8713. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4
  8714. _FcCharSetIterSet(tls, a, bp)
  8715. }
  8716. }
  8717. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  8718. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8719. _FcCharSetIterSet(tls, b, bp+12)
  8720. }
  8721. }
  8722. }
  8723. return count
  8724. }
  8725. var XFcCharSetIntersectCount = XIA__FcCharSetIntersectCount
  8726. func XIA__FcCharSetCount(tls *libc.TLS, a uintptr) (r TFcChar32) {
  8727. bp := tls.Alloc(16)
  8728. defer tls.Free(16)
  8729. var am, v3 uintptr
  8730. var count TFcChar32
  8731. var i, v2 int32
  8732. var _ /* ai at bp+0 */ TFcCharSetIter
  8733. _, _, _, _, _ = am, count, i, v2, v3
  8734. count = uint32(0)
  8735. if a != 0 {
  8736. _FcCharSetIterStart(tls, a, bp)
  8737. for {
  8738. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8739. break
  8740. }
  8741. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8742. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8743. for {
  8744. v2 = i
  8745. i--
  8746. if !(v2 != 0) {
  8747. break
  8748. }
  8749. v3 = am
  8750. am += 4
  8751. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v3)))
  8752. }
  8753. goto _1
  8754. _1:
  8755. ;
  8756. _FcCharSetIterNext(tls, a, bp)
  8757. }
  8758. }
  8759. return count
  8760. }
  8761. var XFcCharSetCount = XIA__FcCharSetCount
  8762. func XIA__FcCharSetSubtractCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  8763. bp := tls.Alloc(32)
  8764. defer tls.Free(32)
  8765. var am, bm, v2, v3, v5 uintptr
  8766. var count TFcChar32
  8767. var i, v1, v4 int32
  8768. var _ /* ai at bp+0 */ TFcCharSetIter
  8769. var _ /* bi at bp+12 */ TFcCharSetIter
  8770. _, _, _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3, v4, v5
  8771. count = uint32(0)
  8772. if a != 0 && b != 0 {
  8773. _FcCharSetIterStart(tls, a, bp)
  8774. _FcCharSetIterStart(tls, b, bp+12)
  8775. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 {
  8776. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 <= (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8777. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8778. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8779. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 {
  8780. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf
  8781. for {
  8782. v1 = i
  8783. i--
  8784. if !(v1 != 0) {
  8785. break
  8786. }
  8787. v2 = am
  8788. am += 4
  8789. v3 = bm
  8790. bm += 4
  8791. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)))
  8792. }
  8793. } else {
  8794. for {
  8795. v4 = i
  8796. i--
  8797. if !(v4 != 0) {
  8798. break
  8799. }
  8800. v5 = am
  8801. am += 4
  8802. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v5)))
  8803. }
  8804. }
  8805. _FcCharSetIterNext(tls, a, bp)
  8806. } else {
  8807. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fleaf != 0 {
  8808. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 12))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8809. _FcCharSetIterSet(tls, b, bp+12)
  8810. }
  8811. }
  8812. }
  8813. }
  8814. return count
  8815. }
  8816. var XFcCharSetSubtractCount = XIA__FcCharSetSubtractCount
  8817. // C documentation
  8818. //
  8819. // /*
  8820. // * return FcTrue iff a is a subset of b
  8821. // */
  8822. func XIA__FcCharSetIsSubset(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  8823. var ai, bi, i, v1 int32
  8824. var am, bm, v2, v3 uintptr
  8825. var an, bn TFcChar16
  8826. _, _, _, _, _, _, _, _, _, _ = ai, am, an, bi, bm, bn, i, v1, v2, v3
  8827. if a == b {
  8828. return int32(m_FcTrue)
  8829. }
  8830. if !(a != 0) || !(b != 0) {
  8831. return m_FcFalse
  8832. }
  8833. bi = 0
  8834. ai = 0
  8835. for ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum && bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  8836. an = *(*TFcChar16)(unsafe.Pointer(uintptr(int32(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2))
  8837. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  8838. /*
  8839. * Check matching pages
  8840. */
  8841. if libc.Int32FromUint16(an) == libc.Int32FromUint16(bn) {
  8842. 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)))
  8843. 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)))
  8844. if am != bm {
  8845. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8846. /*
  8847. * Does am have any bits not in bm?
  8848. */
  8849. for {
  8850. v1 = i
  8851. i--
  8852. if !(v1 != 0) {
  8853. break
  8854. }
  8855. v2 = am
  8856. am += 4
  8857. v3 = bm
  8858. bm += 4
  8859. if *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)) != 0 {
  8860. return m_FcFalse
  8861. }
  8862. }
  8863. }
  8864. ai++
  8865. bi++
  8866. } else {
  8867. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  8868. return m_FcFalse
  8869. } else {
  8870. bi = _FcCharSetFindLeafForward(tls, b, bi+int32(1), an)
  8871. if bi < 0 {
  8872. bi = -bi - int32(1)
  8873. }
  8874. }
  8875. }
  8876. }
  8877. /*
  8878. * did we look at every page?
  8879. */
  8880. return libc.BoolInt32(ai >= (*TFcCharSet)(unsafe.Pointer(a)).Fnum)
  8881. }
  8882. var XFcCharSetIsSubset = XIA__FcCharSetIsSubset
  8883. /*
  8884. * These two functions efficiently walk the entire charmap for
  8885. * other software (like pango) that want their own copy
  8886. */
  8887. func XIA__FcCharSetNextPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8888. bp := tls.Alloc(16)
  8889. defer tls.Free(16)
  8890. var page TFcChar32
  8891. var _ /* ai at bp+0 */ TFcCharSetIter
  8892. _ = page
  8893. if !(a != 0) {
  8894. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8895. }
  8896. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = *(*TFcChar32)(unsafe.Pointer(next))
  8897. _FcCharSetIterSet(tls, a, bp)
  8898. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8899. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8900. }
  8901. /*
  8902. * Save current information
  8903. */
  8904. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8905. libc.Xmemcpy(tls, map1, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint32(32))
  8906. /*
  8907. * Step to next page
  8908. */
  8909. _FcCharSetIterNext(tls, a, bp)
  8910. *(*TFcChar32)(unsafe.Pointer(next)) = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8911. return page
  8912. }
  8913. var XFcCharSetNextPage = XIA__FcCharSetNextPage
  8914. func XIA__FcCharSetFirstPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8915. *(*TFcChar32)(unsafe.Pointer(next)) = uint32(0)
  8916. return XIA__FcCharSetNextPage(tls, a, map1, next)
  8917. }
  8918. var XFcCharSetFirstPage = XIA__FcCharSetFirstPage
  8919. /*
  8920. * old coverage API, rather hard to use correctly
  8921. */
  8922. func XIA__FcCharSetCoverage(tls *libc.TLS, a uintptr, page TFcChar32, result uintptr) (r TFcChar32) {
  8923. bp := tls.Alloc(16)
  8924. defer tls.Free(16)
  8925. var _ /* ai at bp+0 */ TFcCharSetIter
  8926. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = page
  8927. _FcCharSetIterSet(tls, a, bp)
  8928. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8929. libc.Xmemset(tls, result, int32('\000'), libc.Uint32FromInt32(libc.Int32FromInt32(256)/libc.Int32FromInt32(8)))
  8930. page = uint32(0)
  8931. } else {
  8932. libc.Xmemcpy(tls, result, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint32(32))
  8933. _FcCharSetIterNext(tls, a, bp)
  8934. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8935. }
  8936. return page
  8937. }
  8938. var XFcCharSetCoverage = XIA__FcCharSetCoverage
  8939. func _FcNameParseRange(tls *libc.TLS, string1 uintptr, pfirst uintptr, plast uintptr) (r TFcBool) {
  8940. bp := tls.Alloc(16)
  8941. defer tls.Free(16)
  8942. var first, last, v1, v2, v4, v5, v6 int32
  8943. var t uintptr
  8944. var _ /* s at bp+0 */ uintptr
  8945. _, _, _, _, _, _, _, _ = first, last, t, v1, v2, v4, v5, v6
  8946. *(*uintptr)(unsafe.Pointer(bp)) = *(*uintptr)(unsafe.Pointer(string1))
  8947. for {
  8948. v1 = libc.Int32FromUint8(libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))))
  8949. v2 = libc.BoolInt32(v1 == int32(' ') || libc.Uint32FromInt32(v1)-uint32('\t') < uint32(5))
  8950. goto _3
  8951. _3:
  8952. if !(v2 != 0) {
  8953. break
  8954. }
  8955. *(*uintptr)(unsafe.Pointer(bp))++
  8956. }
  8957. t = *(*uintptr)(unsafe.Pointer(bp))
  8958. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  8959. v4 = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  8960. last = v4
  8961. first = v4
  8962. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  8963. return m_FcFalse
  8964. }
  8965. for {
  8966. v5 = libc.Int32FromUint8(libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))))
  8967. v6 = libc.BoolInt32(v5 == int32(' ') || libc.Uint32FromInt32(v5)-uint32('\t') < uint32(5))
  8968. goto _7
  8969. _7:
  8970. if !(v6 != 0) {
  8971. break
  8972. }
  8973. *(*uintptr)(unsafe.Pointer(bp))++
  8974. }
  8975. if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) == int32('-') {
  8976. *(*uintptr)(unsafe.Pointer(bp))++
  8977. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  8978. last = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  8979. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  8980. return m_FcFalse
  8981. }
  8982. }
  8983. if *(*uintptr)(unsafe.Pointer(bp)) == t || first < 0 || last < 0 || last < first || last > int32(0x10ffff) {
  8984. return m_FcFalse
  8985. }
  8986. *(*uintptr)(unsafe.Pointer(string1)) = *(*uintptr)(unsafe.Pointer(bp))
  8987. *(*TFcChar32)(unsafe.Pointer(pfirst)) = libc.Uint32FromInt32(first)
  8988. *(*TFcChar32)(unsafe.Pointer(plast)) = libc.Uint32FromInt32(last)
  8989. return int32(m_FcTrue)
  8990. }
  8991. func XFcNameParseCharSet(tls *libc.TLS, _string uintptr) (r uintptr) {
  8992. bp := tls.Alloc(16)
  8993. defer tls.Free(16)
  8994. *(*uintptr)(unsafe.Pointer(bp)) = _string
  8995. var c uintptr
  8996. var u TFcChar32
  8997. var _ /* first at bp+4 */ TFcChar32
  8998. var _ /* last at bp+8 */ TFcChar32
  8999. _, _ = c, u
  9000. c = XIA__FcCharSetCreate(tls)
  9001. if !(c != 0) {
  9002. goto bail0
  9003. }
  9004. for *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != 0 {
  9005. if !(_FcNameParseRange(tls, bp, bp+4, bp+8) != 0) {
  9006. goto bail1
  9007. }
  9008. u = *(*TFcChar32)(unsafe.Pointer(bp + 4))
  9009. for {
  9010. if !(u < *(*TFcChar32)(unsafe.Pointer(bp + 8))+uint32(1)) {
  9011. break
  9012. }
  9013. XIA__FcCharSetAddChar(tls, c, u)
  9014. goto _1
  9015. _1:
  9016. ;
  9017. u++
  9018. }
  9019. }
  9020. return c
  9021. goto bail1
  9022. bail1:
  9023. ;
  9024. XIA__FcCharSetDestroy(tls, c)
  9025. goto bail0
  9026. bail0:
  9027. ;
  9028. return libc.UintptrFromInt32(0)
  9029. return r
  9030. }
  9031. func _FcNameUnparseUnicode(tls *libc.TLS, buf uintptr, u TFcChar32) {
  9032. bp := tls.Alloc(80)
  9033. defer tls.Free(80)
  9034. var _ /* buf_static at bp+0 */ [64]TFcChar8
  9035. libc.X__builtin_snprintf(tls, bp, uint32(64), __ccgo_ts+1868, libc.VaList(bp+72, u))
  9036. XFcStrBufString(tls, buf, bp)
  9037. }
  9038. func XFcNameUnparseCharSet(tls *libc.TLS, buf uintptr, c uintptr) (r TFcBool) {
  9039. bp := tls.Alloc(16)
  9040. defer tls.Free(16)
  9041. var bits, first, last, u, v1 TFcChar32
  9042. var i int32
  9043. var _ /* ci at bp+0 */ TFcCharSetIter
  9044. _, _, _, _, _, _ = bits, first, i, last, u, v1
  9045. v1 = libc.Uint32FromInt32(0x7FFFFFFF)
  9046. last = v1
  9047. first = v1
  9048. _FcCharSetIterStart(tls, c, bp)
  9049. for {
  9050. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  9051. break
  9052. }
  9053. i = 0
  9054. for {
  9055. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9056. break
  9057. }
  9058. bits = *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4))
  9059. u = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 + libc.Uint32FromInt32(i*int32(32))
  9060. for bits != 0 {
  9061. if bits&uint32(1) != 0 {
  9062. if u != last+uint32(1) {
  9063. if last != first {
  9064. XFcStrBufChar(tls, buf, uint8('-'))
  9065. _FcNameUnparseUnicode(tls, buf, last)
  9066. }
  9067. if last != uint32(0x7FFFFFFF) {
  9068. XFcStrBufChar(tls, buf, uint8(' '))
  9069. }
  9070. /* Start new range. */
  9071. first = u
  9072. _FcNameUnparseUnicode(tls, buf, u)
  9073. }
  9074. last = u
  9075. }
  9076. bits >>= uint32(1)
  9077. u++
  9078. }
  9079. goto _3
  9080. _3:
  9081. ;
  9082. i++
  9083. }
  9084. goto _2
  9085. _2:
  9086. ;
  9087. _FcCharSetIterNext(tls, c, bp)
  9088. }
  9089. if last != first {
  9090. XFcStrBufChar(tls, buf, uint8('-'))
  9091. _FcNameUnparseUnicode(tls, buf, last)
  9092. }
  9093. return int32(m_FcTrue)
  9094. }
  9095. type TFcCharLeafEnt = struct {
  9096. Fnext uintptr
  9097. Fhash TFcChar32
  9098. Fleaf TFcCharLeaf
  9099. }
  9100. type T_FcCharLeafEnt = TFcCharLeafEnt
  9101. type TFcCharSetEnt = struct {
  9102. Fnext uintptr
  9103. Fhash TFcChar32
  9104. Fset TFcCharSet
  9105. }
  9106. type T_FcCharSetEnt = TFcCharSetEnt
  9107. type TFcCharSetOrigEnt = struct {
  9108. Fnext uintptr
  9109. Forig uintptr
  9110. Ffrozen uintptr
  9111. }
  9112. type T_FcCharSetOrigEnt = TFcCharSetOrigEnt
  9113. func _FcCharLeafEntCreate(tls *libc.TLS, freezer uintptr) (r uintptr) {
  9114. var newBlocks, v1, v2, v3 uintptr
  9115. _, _, _, _ = newBlocks, v1, v2, v3
  9116. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain != 0) {
  9117. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count++
  9118. newBlocks = libc.Xrealloc(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks, libc.Uint32FromInt32((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count)*uint32(4))
  9119. if !(newBlocks != 0) {
  9120. return uintptr(0)
  9121. }
  9122. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks = newBlocks
  9123. v1 = libc.Xmalloc(tls, libc.Uint32FromInt32(4096)/libc.Uint32FromInt64(40)*libc.Uint32FromInt64(40))
  9124. *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count-int32(1))*4)) = v1
  9125. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block = v1
  9126. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block != 0) {
  9127. return uintptr(0)
  9128. }
  9129. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain = libc.Int32FromUint32(libc.Uint32FromInt32(4096) / libc.Uint32FromInt64(40))
  9130. }
  9131. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain--
  9132. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated++
  9133. v3 = freezer + 1572
  9134. v2 = *(*uintptr)(unsafe.Pointer(v3))
  9135. *(*uintptr)(unsafe.Pointer(v3)) += 40
  9136. return v2
  9137. }
  9138. func _FcCharLeafHash(tls *libc.TLS, leaf uintptr) (r TFcChar32) {
  9139. var hash TFcChar32
  9140. var i int32
  9141. _, _ = hash, i
  9142. hash = uint32(0)
  9143. i = 0
  9144. for {
  9145. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9146. break
  9147. }
  9148. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(i)*4))
  9149. goto _1
  9150. _1:
  9151. ;
  9152. i++
  9153. }
  9154. return hash
  9155. }
  9156. func _FcCharSetFreezeLeaf(tls *libc.TLS, freezer uintptr, leaf uintptr) (r uintptr) {
  9157. var bucket, ent uintptr
  9158. var hash TFcChar32
  9159. _, _, _ = bucket, ent, hash
  9160. hash = _FcCharLeafHash(tls, leaf)
  9161. bucket = freezer + uintptr(hash%uint32(m_FC_CHAR_LEAF_HASH_SIZE))*4
  9162. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9163. for {
  9164. if !(ent != 0) {
  9165. break
  9166. }
  9167. if (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash == hash && !(libc.Xmemcmp(tls, ent+8, leaf, uint32(32)) != 0) {
  9168. return ent + 8
  9169. }
  9170. goto _1
  9171. _1:
  9172. ;
  9173. ent = (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext
  9174. }
  9175. ent = _FcCharLeafEntCreate(tls, freezer)
  9176. if !(ent != 0) {
  9177. return uintptr(0)
  9178. }
  9179. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fleaf = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  9180. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash = hash
  9181. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9182. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9183. return ent + 8
  9184. }
  9185. func _FcCharSetHash(tls *libc.TLS, fcs uintptr) (r TFcChar32) {
  9186. var hash TFcChar32
  9187. var i int32
  9188. _, _ = hash, i
  9189. hash = uint32(0)
  9190. /* hash in leaves */
  9191. i = 0
  9192. for {
  9193. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9194. break
  9195. }
  9196. 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))))
  9197. goto _1
  9198. _1:
  9199. ;
  9200. i++
  9201. }
  9202. /* hash in numbers */
  9203. i = 0
  9204. for {
  9205. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9206. break
  9207. }
  9208. 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)))
  9209. goto _2
  9210. _2:
  9211. ;
  9212. i++
  9213. }
  9214. return hash
  9215. }
  9216. func _FcCharSetFreezeOrig(tls *libc.TLS, freezer uintptr, orig uintptr, frozen uintptr) (r TFcBool) {
  9217. var bucket, ent uintptr
  9218. _, _ = bucket, ent
  9219. bucket = freezer + 1304 + uintptr(uint32(orig)%uint32(m_FC_CHAR_SET_HASH_SIZE))*4
  9220. ent = libc.Xmalloc(tls, uint32(12))
  9221. if !(ent != 0) {
  9222. return m_FcFalse
  9223. }
  9224. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig = orig
  9225. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen = frozen
  9226. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9227. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9228. return int32(m_FcTrue)
  9229. }
  9230. func _FcCharSetFreezeBase(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  9231. var bucket, ent, ent_leaves uintptr
  9232. var hash TFcChar32
  9233. var i, i1, size int32
  9234. var ok TFcBool
  9235. _, _, _, _, _, _, _, _ = bucket, ent, ent_leaves, hash, i, i1, ok, size
  9236. hash = _FcCharSetHash(tls, fcs)
  9237. bucket = freezer + 1036 + uintptr(hash%uint32(m_FC_CHAR_SET_HASH_SIZE))*4
  9238. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9239. for {
  9240. if !(ent != 0) {
  9241. break
  9242. }
  9243. 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) {
  9244. ok = int32(m_FcTrue)
  9245. i1 = 0
  9246. for {
  9247. if !(i1 < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9248. break
  9249. }
  9250. 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))) {
  9251. ok = m_FcFalse
  9252. }
  9253. goto _2
  9254. _2:
  9255. ;
  9256. i1++
  9257. }
  9258. if ok != 0 {
  9259. return ent + 8
  9260. }
  9261. }
  9262. goto _1
  9263. _1:
  9264. ;
  9265. ent = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  9266. }
  9267. 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))
  9268. ent = libc.Xmalloc(tls, libc.Uint32FromInt32(size))
  9269. if !(ent != 0) {
  9270. return uintptr(0)
  9271. }
  9272. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated++
  9273. (*TFcRef)(unsafe.Pointer(ent + 8)).Fcount = -libc.Int32FromInt32(1)
  9274. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  9275. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  9276. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = int32(16)
  9277. (*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))
  9278. ent_leaves = uintptr(Tintptr_t(ent+8) + (*TFcCharSet)(unsafe.Pointer(ent+8)).Fleaves_offset)
  9279. i = 0
  9280. for {
  9281. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9282. break
  9283. }
  9284. *(*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)
  9285. goto _3
  9286. _3:
  9287. ;
  9288. i++
  9289. }
  9290. 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))
  9291. } else {
  9292. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = 0
  9293. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = 0
  9294. }
  9295. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash = hash
  9296. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9297. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9298. return ent + 8
  9299. }
  9300. func _FcCharSetFindFrozen(tls *libc.TLS, freezer uintptr, orig uintptr) (r uintptr) {
  9301. var bucket, ent uintptr
  9302. _, _ = bucket, ent
  9303. bucket = freezer + 1304 + uintptr(uint32(orig)%uint32(m_FC_CHAR_SET_HASH_SIZE))*4
  9304. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9305. for {
  9306. if !(ent != 0) {
  9307. break
  9308. }
  9309. if (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig == orig {
  9310. return (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen
  9311. }
  9312. goto _1
  9313. _1:
  9314. ;
  9315. ent = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext
  9316. }
  9317. return libc.UintptrFromInt32(0)
  9318. }
  9319. func XFcCharSetFreeze(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  9320. var b, l, n uintptr
  9321. var i int32
  9322. _, _, _, _ = b, i, l, n
  9323. n = uintptr(0)
  9324. b = XIA__FcCharSetCreate(tls)
  9325. if !(b != 0) {
  9326. goto bail0
  9327. }
  9328. i = 0
  9329. for {
  9330. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9331. break
  9332. }
  9333. 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))))
  9334. if !(l != 0) {
  9335. goto bail1
  9336. }
  9337. 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) {
  9338. goto bail1
  9339. }
  9340. goto _1
  9341. _1:
  9342. ;
  9343. i++
  9344. }
  9345. n = _FcCharSetFreezeBase(tls, freezer, b)
  9346. if !(_FcCharSetFreezeOrig(tls, freezer, fcs, n) != 0) {
  9347. n = libc.UintptrFromInt32(0)
  9348. goto bail1
  9349. }
  9350. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen++
  9351. *(*int32)(unsafe.Pointer(freezer + 1580)) += (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  9352. goto bail1
  9353. bail1:
  9354. ;
  9355. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  9356. libc.Xfree(tls, uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset))
  9357. }
  9358. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  9359. libc.Xfree(tls, uintptr(int32(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset))
  9360. }
  9361. libc.Xfree(tls, b)
  9362. goto bail0
  9363. bail0:
  9364. ;
  9365. return n
  9366. return r
  9367. }
  9368. func XFcCharSetFreezerCreate(tls *libc.TLS) (r uintptr) {
  9369. var freezer uintptr
  9370. _ = freezer
  9371. freezer = libc.Xcalloc(tls, uint32(1), uint32(1596))
  9372. return freezer
  9373. }
  9374. func XFcCharSetFreezerDestroy(tls *libc.TLS, freezer uintptr) {
  9375. bp := tls.Alloc(48)
  9376. defer tls.Free(48)
  9377. var ent, ent1, next, next1 uintptr
  9378. var i int32
  9379. _, _, _, _, _ = ent, ent1, i, next, next1
  9380. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  9381. 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))
  9382. }
  9383. i = 0
  9384. for {
  9385. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  9386. break
  9387. }
  9388. ent = *(*uintptr)(unsafe.Pointer(freezer + 1036 + uintptr(i)*4))
  9389. for {
  9390. if !(ent != 0) {
  9391. break
  9392. }
  9393. next = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  9394. libc.Xfree(tls, ent)
  9395. goto _2
  9396. _2:
  9397. ;
  9398. ent = next
  9399. }
  9400. goto _1
  9401. _1:
  9402. ;
  9403. i++
  9404. }
  9405. i = 0
  9406. for {
  9407. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  9408. break
  9409. }
  9410. ent1 = *(*uintptr)(unsafe.Pointer(freezer + 1304 + uintptr(i)*4))
  9411. for {
  9412. if !(ent1 != 0) {
  9413. break
  9414. }
  9415. next1 = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent1)).Fnext
  9416. libc.Xfree(tls, ent1)
  9417. goto _4
  9418. _4:
  9419. ;
  9420. ent1 = next1
  9421. }
  9422. goto _3
  9423. _3:
  9424. ;
  9425. i++
  9426. }
  9427. i = 0
  9428. for {
  9429. if !(i < (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count) {
  9430. break
  9431. }
  9432. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr(i)*4)))
  9433. goto _5
  9434. _5:
  9435. ;
  9436. i++
  9437. }
  9438. libc.Xfree(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks)
  9439. libc.Xfree(tls, freezer)
  9440. }
  9441. func XFcCharSetSerializeAlloc(tls *libc.TLS, serialize uintptr, cs uintptr) (r TFcBool) {
  9442. var i int32
  9443. var leaves, numbers uintptr
  9444. var v1 TFcBool
  9445. _, _, _, _ = i, leaves, numbers, v1
  9446. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  9447. goto _2
  9448. _2:
  9449. if !(v1 != 0) {
  9450. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  9451. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = XFcCharSetFreezerCreate(tls)
  9452. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  9453. return m_FcFalse
  9454. }
  9455. }
  9456. if _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs) != 0 {
  9457. return int32(m_FcTrue)
  9458. }
  9459. cs = XFcCharSetFreeze(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  9460. }
  9461. leaves = uintptr(int32(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  9462. numbers = uintptr(int32(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  9463. if !(XFcSerializeAlloc(tls, serialize, cs, int32(16)) != 0) {
  9464. return m_FcFalse
  9465. }
  9466. if !(XFcSerializeAlloc(tls, serialize, leaves, libc.Int32FromUint32(libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint32(4))) != 0) {
  9467. return m_FcFalse
  9468. }
  9469. if !(XFcSerializeAlloc(tls, serialize, numbers, libc.Int32FromUint32(libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint32(2))) != 0) {
  9470. return m_FcFalse
  9471. }
  9472. i = 0
  9473. for {
  9474. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  9475. break
  9476. }
  9477. 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) {
  9478. return m_FcFalse
  9479. }
  9480. goto _3
  9481. _3:
  9482. ;
  9483. i++
  9484. }
  9485. return int32(m_FcTrue)
  9486. }
  9487. func XFcCharSetSerialize(tls *libc.TLS, serialize uintptr, cs uintptr) (r uintptr) {
  9488. var cs_serialized, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized uintptr
  9489. var i int32
  9490. var v1 TFcBool
  9491. _, _, _, _, _, _, _, _, _ = cs_serialized, i, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized, v1
  9492. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  9493. goto _2
  9494. _2:
  9495. ;
  9496. if !(v1 != 0) && (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  9497. cs = _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  9498. if !(cs != 0) {
  9499. return libc.UintptrFromInt32(0)
  9500. }
  9501. }
  9502. cs_serialized = XFcSerializePtr(tls, serialize, cs)
  9503. if !(cs_serialized != 0) {
  9504. return libc.UintptrFromInt32(0)
  9505. }
  9506. (*TFcRef)(unsafe.Pointer(cs_serialized)).Fcount = -libc.Int32FromInt32(1)
  9507. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnum = (*TFcCharSet)(unsafe.Pointer(cs)).Fnum
  9508. if (*TFcCharSet)(unsafe.Pointer(cs)).Fnum != 0 {
  9509. leaves = uintptr(int32(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  9510. leaves_serialized = XFcSerializePtr(tls, serialize, leaves)
  9511. if !(leaves_serialized != 0) {
  9512. return libc.UintptrFromInt32(0)
  9513. }
  9514. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = int32(leaves_serialized) - int32(cs_serialized)
  9515. numbers = uintptr(int32(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  9516. numbers_serialized = XFcSerializePtr(tls, serialize, numbers)
  9517. if !(numbers != 0) {
  9518. return libc.UintptrFromInt32(0)
  9519. }
  9520. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = int32(numbers_serialized) - int32(cs_serialized)
  9521. i = 0
  9522. for {
  9523. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  9524. break
  9525. }
  9526. 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)))
  9527. leaf_serialized = XFcSerializePtr(tls, serialize, leaf)
  9528. if !(leaf_serialized != 0) {
  9529. return libc.UintptrFromInt32(0)
  9530. }
  9531. *(*TFcCharLeaf)(unsafe.Pointer(leaf_serialized)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  9532. *(*Tintptr_t)(unsafe.Pointer(leaves_serialized + uintptr(i)*4)) = int32(leaf_serialized) - int32(leaves_serialized)
  9533. *(*TFcChar16)(unsafe.Pointer(numbers_serialized + uintptr(i)*2)) = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2))
  9534. goto _3
  9535. _3:
  9536. ;
  9537. i++
  9538. }
  9539. } else {
  9540. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = 0
  9541. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = 0
  9542. }
  9543. return cs_serialized
  9544. }
  9545. const m_FC_O_BINARY = 0
  9546. const m_FC_O_CLOEXEC = "O_CLOEXEC"
  9547. const m_FC_O_LARGEFILE = "O_LARGEFILE"
  9548. const m_FC_O_NOINHERIT = 0
  9549. const m_FC_O_TEMPORARY = 0
  9550. const m_O_CLOEXEC1 = 524288
  9551. const m_O_LARGEFILE1 = 32768
  9552. const m_O_RDONLY1 = 00
  9553. const m_O_RDWR1 = 02
  9554. const m___DEC128_EPSILON__1 = 1e-33
  9555. const m___DEC128_MIN__1 = 1e-6143
  9556. const m___DEC128_SUBNORMAL_MIN__1 = 0.000000000000000000000000000000001e-6143
  9557. const m___DEC32_EPSILON__1 = 1e-6
  9558. const m___DEC32_MAX__1 = 9.999999e96
  9559. const m___DEC32_MIN__1 = 1e-95
  9560. const m___DEC32_SUBNORMAL_MIN__1 = 0.000001e-95
  9561. const m___DEC64_EPSILON__1 = 1e-15
  9562. const m___DEC64_MIN__1 = 1e-383
  9563. const m___DEC64_SUBNORMAL_MIN__1 = 0.000000000000001e-383
  9564. func XFcOpen(tls *libc.TLS, pathname uintptr, flags int32, va uintptr) (r int32) {
  9565. bp := tls.Alloc(16)
  9566. defer tls.Free(16)
  9567. var ap Tva_list
  9568. var fd int32
  9569. var mode Tmode_t
  9570. _, _, _ = ap, fd, mode
  9571. fd = -int32(1)
  9572. if flags&int32(m_O_CREAT) != 0 {
  9573. ap = va
  9574. mode = libc.Uint32FromInt32(libc.VaInt32(&ap))
  9575. _ = ap
  9576. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), libc.VaList(bp+8, mode))
  9577. } else {
  9578. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), 0)
  9579. }
  9580. return fd
  9581. }
  9582. func XFcMakeTempfile(tls *libc.TLS, template uintptr) (r int32) {
  9583. var fd int32
  9584. _ = fd
  9585. fd = -int32(1)
  9586. fd = libc.Xmkostemp(tls, template, int32(m_O_CLOEXEC1))
  9587. return fd
  9588. }
  9589. func XFcRandom(tls *libc.TLS) (r Tint32_t) {
  9590. bp := tls.Alloc(16)
  9591. defer tls.Free(16)
  9592. var _ /* result at bp+0 */ Tint32_t
  9593. if _initialized != int32(m_FcTrue) {
  9594. libc.Xinitstate_r(tls, libc.Uint32FromInt64(libc.Xtime(tls, libc.UintptrFromInt32(0))), uintptr(unsafe.Pointer(&_statebuf)), uint32(256), uintptr(unsafe.Pointer(&_fcrandbuf)))
  9595. _initialized = int32(m_FcTrue)
  9596. }
  9597. libc.Xrandom_r(tls, uintptr(unsafe.Pointer(&_fcrandbuf)), bp)
  9598. return *(*Tint32_t)(unsafe.Pointer(bp))
  9599. }
  9600. var _fcrandbuf int32
  9601. var _statebuf [256]int8
  9602. var _initialized TFcBool
  9603. func XFcMakeDirectory(tls *libc.TLS, dir uintptr) (r TFcBool) {
  9604. var parent uintptr
  9605. var ret TFcBool
  9606. _, _ = parent, ret
  9607. if libc.Xstrlen(tls, dir) == uint32(0) {
  9608. return m_FcFalse
  9609. }
  9610. parent = XIA__FcStrDirname(tls, dir)
  9611. if !(parent != 0) {
  9612. return m_FcFalse
  9613. }
  9614. if libc.Xaccess(tls, parent, m_F_OK) == 0 {
  9615. ret = libc.BoolInt32(libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  9616. } else {
  9617. if libc.Xaccess(tls, parent, m_F_OK) == -int32(1) {
  9618. ret = libc.BoolInt32(XFcMakeDirectory(tls, parent) != 0 && libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  9619. } else {
  9620. ret = m_FcFalse
  9621. }
  9622. }
  9623. XIA__FcStrFree(tls, parent)
  9624. return ret
  9625. }
  9626. func XFcReadLink(tls *libc.TLS, pathname uintptr, buf uintptr, bufsiz Tsize_t) (r Tssize_t) {
  9627. return libc.Xreadlink(tls, pathname, buf, bufsiz)
  9628. }
  9629. const m___DEC128_EPSILON__2 = 1e-33
  9630. const m___DEC128_MIN__2 = 1e-6143
  9631. const m___DEC128_SUBNORMAL_MIN__2 = 0.000000000000000000000000000000001e-6143
  9632. const m___DEC32_EPSILON__2 = 1e-6
  9633. const m___DEC32_MAX__2 = 9.999999e96
  9634. const m___DEC32_MIN__2 = 1e-95
  9635. const m___DEC32_SUBNORMAL_MIN__2 = 0.000001e-95
  9636. const m___DEC64_EPSILON__2 = 1e-15
  9637. const m___DEC64_MIN__2 = 1e-383
  9638. const m___DEC64_SUBNORMAL_MIN__2 = 0.000000000000001e-383
  9639. func __FcValuePrintFile(tls *libc.TLS, f uintptr, _v TFcValue) {
  9640. bp := tls.Alloc(64)
  9641. defer tls.Free(64)
  9642. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  9643. var v1, v2 uintptr
  9644. _, _ = v1, v2
  9645. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  9646. case int32(_FcTypeUnknown):
  9647. libc.Xfprintf(tls, f, __ccgo_ts+1907, 0)
  9648. case int32(_FcTypeVoid):
  9649. libc.Xfprintf(tls, f, __ccgo_ts+1917, 0)
  9650. case int32(_FcTypeInteger):
  9651. libc.Xfprintf(tls, f, __ccgo_ts+1924, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 4))))
  9652. case int32(_FcTypeDouble):
  9653. libc.Xfprintf(tls, f, __ccgo_ts+1930, libc.VaList(bp+24, *(*float64)(unsafe.Pointer(bp + 4))))
  9654. case int32(_FcTypeString):
  9655. libc.Xfprintf(tls, f, __ccgo_ts+1936, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 4))))
  9656. case int32(_FcTypeBool):
  9657. if *(*TFcBool)(unsafe.Pointer(bp + 4)) == int32(m_FcTrue) {
  9658. v1 = __ccgo_ts + 1941
  9659. } else {
  9660. if *(*TFcBool)(unsafe.Pointer(bp + 4)) == m_FcFalse {
  9661. v2 = __ccgo_ts + 1946
  9662. } else {
  9663. v2 = __ccgo_ts + 1952
  9664. }
  9665. v1 = v2
  9666. }
  9667. libc.Xfprintf(tls, f, v1, 0)
  9668. case int32(_FcTypeMatrix):
  9669. libc.Xfprintf(tls, f, __ccgo_ts+1961, libc.VaList(bp+24, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fyy))
  9670. case int32(_FcTypeCharSet): /* XXX */
  9671. if f == libc.Xstdout {
  9672. XFcCharSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  9673. }
  9674. case int32(_FcTypeLangSet):
  9675. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  9676. case int32(_FcTypeFTFace):
  9677. libc.Xfprintf(tls, f, __ccgo_ts+1976, 0)
  9678. case int32(_FcTypeRange):
  9679. libc.Xfprintf(tls, f, __ccgo_ts+1981, libc.VaList(bp+24, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fend))
  9680. break
  9681. }
  9682. }
  9683. func XFcValuePrintFile(tls *libc.TLS, f uintptr, v TFcValue) {
  9684. libc.Xfprintf(tls, f, __ccgo_ts+1989, 0)
  9685. __FcValuePrintFile(tls, f, v)
  9686. }
  9687. func XIA__FcValuePrint(tls *libc.TLS, v TFcValue) {
  9688. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  9689. __FcValuePrintFile(tls, libc.Xstdout, v)
  9690. }
  9691. var XFcValuePrint = XIA__FcValuePrint
  9692. func XFcValuePrintWithPosition(tls *libc.TLS, v TFcValue, show_pos_mark TFcBool) {
  9693. if show_pos_mark != 0 {
  9694. libc.Xprintf(tls, __ccgo_ts+1991, 0)
  9695. } else {
  9696. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  9697. }
  9698. __FcValuePrintFile(tls, libc.Xstdout, v)
  9699. }
  9700. func _FcValueBindingPrint(tls *libc.TLS, l TFcValueListPtr) {
  9701. switch (*T_FcValueList)(unsafe.Pointer(l)).Fbinding {
  9702. case int32(_FcValueBindingWeak):
  9703. libc.Xprintf(tls, __ccgo_ts+2002, 0)
  9704. case int32(_FcValueBindingStrong):
  9705. libc.Xprintf(tls, __ccgo_ts+2006, 0)
  9706. case int32(_FcValueBindingSame):
  9707. libc.Xprintf(tls, __ccgo_ts+2010, 0)
  9708. default:
  9709. /* shouldn't be reached */
  9710. libc.Xprintf(tls, __ccgo_ts+2014, 0)
  9711. break
  9712. }
  9713. }
  9714. func XFcValueListPrintWithPosition(tls *libc.TLS, l TFcValueListPtr, pos TFcValueListPtr) {
  9715. var v2 uintptr
  9716. _ = v2
  9717. for {
  9718. if !(l != libc.UintptrFromInt32(0)) {
  9719. break
  9720. }
  9721. XFcValuePrintWithPosition(tls, XFcValueCanonicalize(tls, l+4), libc.BoolInt32(pos != libc.UintptrFromInt32(0) && l == pos))
  9722. _FcValueBindingPrint(tls, l)
  9723. goto _1
  9724. _1:
  9725. ;
  9726. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  9727. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  9728. } else {
  9729. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  9730. }
  9731. l = v2
  9732. }
  9733. if !(pos != 0) {
  9734. libc.Xprintf(tls, __ccgo_ts+2018, 0)
  9735. }
  9736. }
  9737. func XFcValueListPrint(tls *libc.TLS, l TFcValueListPtr) {
  9738. var v2 uintptr
  9739. _ = v2
  9740. for {
  9741. if !(l != libc.UintptrFromInt32(0)) {
  9742. break
  9743. }
  9744. XIA__FcValuePrint(tls, XFcValueCanonicalize(tls, l+4))
  9745. _FcValueBindingPrint(tls, l)
  9746. goto _1
  9747. _1:
  9748. ;
  9749. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  9750. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  9751. } else {
  9752. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  9753. }
  9754. l = v2
  9755. }
  9756. }
  9757. func XFcLangSetPrint(tls *libc.TLS, ls uintptr) {
  9758. bp := tls.Alloc(1136)
  9759. defer tls.Free(1136)
  9760. var _ /* buf at bp+0 */ TFcStrBuf
  9761. var _ /* init_buf at bp+84 */ [1024]TFcChar8
  9762. XFcStrBufInit(tls, bp, bp+84, int32(1024))
  9763. if XFcNameUnparseLangSet(tls, bp, ls) != 0 && XFcStrBufChar(tls, bp, uint8('\000')) != 0 {
  9764. libc.Xprintf(tls, __ccgo_ts+2028, libc.VaList(bp+1120, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf))
  9765. } else {
  9766. libc.Xprintf(tls, __ccgo_ts+2031, 0)
  9767. }
  9768. XFcStrBufDestroy(tls, bp)
  9769. }
  9770. func XFcCharSetPrint(tls *libc.TLS, c uintptr) {
  9771. bp := tls.Alloc(16)
  9772. defer tls.Free(16)
  9773. var i, j int32
  9774. var leaf, leaves, numbers uintptr
  9775. var leaf_offset Tintptr_t
  9776. _, _, _, _, _, _ = i, j, leaf, leaf_offset, leaves, numbers
  9777. leaves = uintptr(int32(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fleaves_offset)
  9778. numbers = uintptr(int32(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fnumbers_offset)
  9779. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9780. i = 0
  9781. for {
  9782. if !(i < (*TFcCharSet)(unsafe.Pointer(c)).Fnum) {
  9783. break
  9784. }
  9785. leaf_offset = *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(i)*4))
  9786. leaf = uintptr(int32(leaves) + leaf_offset)
  9787. libc.Xprintf(tls, __ccgo_ts+2053, 0)
  9788. libc.Xprintf(tls, __ccgo_ts+2055, libc.VaList(bp+8, libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2)))))
  9789. j = 0
  9790. for {
  9791. if !(j < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9792. break
  9793. }
  9794. libc.Xprintf(tls, __ccgo_ts+2061, libc.VaList(bp+8, *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(j)*4))))
  9795. goto _2
  9796. _2:
  9797. ;
  9798. j++
  9799. }
  9800. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9801. goto _1
  9802. _1:
  9803. ;
  9804. i++
  9805. }
  9806. }
  9807. func XIA__FcPatternPrint(tls *libc.TLS, p uintptr) {
  9808. bp := tls.Alloc(32)
  9809. defer tls.Free(32)
  9810. var _ /* iter at bp+0 */ TFcPatternIter
  9811. if !(p != 0) {
  9812. libc.Xprintf(tls, __ccgo_ts+2067, 0)
  9813. return
  9814. }
  9815. libc.Xprintf(tls, __ccgo_ts+2081, libc.VaList(bp+16, XIA__FcPatternObjectCount(tls, p), (*TFcPattern)(unsafe.Pointer(p)).Fsize))
  9816. XIA__FcPatternIterStart(tls, p, bp)
  9817. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, p, bp) != 0 {
  9818. libc.Xprintf(tls, __ccgo_ts+2112, libc.VaList(bp+16, XIA__FcPatternIterGetObject(tls, p, bp)))
  9819. XFcValueListPrint(tls, XFcPatternIterGetValues(tls, p, bp))
  9820. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9821. }
  9822. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9823. }
  9824. var XFcPatternPrint = XIA__FcPatternPrint
  9825. func XFcPatternPrint2(tls *libc.TLS, pp1 uintptr, pp2 uintptr, os uintptr) {
  9826. bp := tls.Alloc(48)
  9827. defer tls.Free(48)
  9828. var e1, e2, p1, p2, v10, v5, v6, v7, v8 uintptr
  9829. var i, j, k, pos int32
  9830. _, _, _, _, _, _, _, _, _, _, _, _, _ = e1, e2, i, j, k, p1, p2, pos, v10, v5, v6, v7, v8
  9831. if os != 0 {
  9832. p1 = XIA__FcPatternFilter(tls, pp1, os)
  9833. p2 = XIA__FcPatternFilter(tls, pp2, os)
  9834. } else {
  9835. p1 = pp1
  9836. p2 = pp2
  9837. }
  9838. 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))
  9839. i = 0
  9840. j = libc.Int32FromInt32(0)
  9841. for {
  9842. if !(i < (*TFcPattern)(unsafe.Pointer(p1)).Fnum) {
  9843. break
  9844. }
  9845. e1 = uintptr(int32(p1)+(*TFcPattern)(unsafe.Pointer(p1)).Felts_offset) + uintptr(i)*8
  9846. e2 = uintptr(int32(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*8
  9847. if !(!(e2 != 0) || (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject != (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) {
  9848. goto _2
  9849. }
  9850. pos = XFcPatternPosition(tls, p2, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject))
  9851. if pos >= 0 {
  9852. k = j
  9853. for {
  9854. if !(k < pos) {
  9855. break
  9856. }
  9857. e2 = uintptr(int32(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*8
  9858. libc.Xprintf(tls, __ccgo_ts+2167, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9859. if int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int32(1) != 0 {
  9860. v5 = uintptr(int32(e2) + int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues) & ^libc.Int32FromInt32(1))
  9861. } else {
  9862. v5 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9863. }
  9864. XFcValueListPrint(tls, v5)
  9865. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9866. goto _4
  9867. _4:
  9868. ;
  9869. k++
  9870. }
  9871. j = pos
  9872. goto cont
  9873. } else {
  9874. libc.Xprintf(tls, __ccgo_ts+2112, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9875. if int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int32(1) != 0 {
  9876. v6 = uintptr(int32(e1) + int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues) & ^libc.Int32FromInt32(1))
  9877. } else {
  9878. v6 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9879. }
  9880. XFcValueListPrint(tls, v6)
  9881. libc.Xprintf(tls, __ccgo_ts+2183, 0)
  9882. }
  9883. goto _3
  9884. _2:
  9885. ;
  9886. goto cont
  9887. cont:
  9888. ;
  9889. libc.Xprintf(tls, __ccgo_ts+2112, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9890. if int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int32(1) != 0 {
  9891. v7 = uintptr(int32(e1) + int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues) & ^libc.Int32FromInt32(1))
  9892. } else {
  9893. v7 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9894. }
  9895. XFcValueListPrint(tls, v7)
  9896. libc.Xprintf(tls, __ccgo_ts+2195, 0)
  9897. e2 = uintptr(int32(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*8
  9898. if int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int32(1) != 0 {
  9899. v8 = uintptr(int32(e2) + int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues) & ^libc.Int32FromInt32(1))
  9900. } else {
  9901. v8 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9902. }
  9903. XFcValueListPrint(tls, v8)
  9904. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9905. j++
  9906. _3:
  9907. ;
  9908. goto _1
  9909. _1:
  9910. ;
  9911. i++
  9912. }
  9913. if j < (*TFcPattern)(unsafe.Pointer(p2)).Fnum {
  9914. k = j
  9915. for {
  9916. if !(k < (*TFcPattern)(unsafe.Pointer(p2)).Fnum) {
  9917. break
  9918. }
  9919. e2 = uintptr(int32(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*8
  9920. if XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) != 0 {
  9921. libc.Xprintf(tls, __ccgo_ts+2167, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9922. if int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int32(1) != 0 {
  9923. v10 = uintptr(int32(e2) + int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues) & ^libc.Int32FromInt32(1))
  9924. } else {
  9925. v10 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9926. }
  9927. XFcValueListPrint(tls, v10)
  9928. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  9929. }
  9930. goto _9
  9931. _9:
  9932. ;
  9933. k++
  9934. }
  9935. }
  9936. if p1 != pp1 {
  9937. XIA__FcPatternDestroy(tls, p1)
  9938. }
  9939. if p2 != pp2 {
  9940. XIA__FcPatternDestroy(tls, p2)
  9941. }
  9942. }
  9943. func XFcOpPrint(tls *libc.TLS, op_ TFcOp) {
  9944. var f, f1, f2 int32
  9945. var op TFcOp
  9946. _, _, _, _ = f, f1, f2, op
  9947. op = op_ & libc.Int32FromInt32(0xffff)
  9948. switch op {
  9949. case int32(_FcOpInteger):
  9950. libc.Xprintf(tls, __ccgo_ts+2200, 0)
  9951. case int32(_FcOpDouble):
  9952. libc.Xprintf(tls, __ccgo_ts+2208, 0)
  9953. case int32(_FcOpString):
  9954. libc.Xprintf(tls, __ccgo_ts+2215, 0)
  9955. case int32(_FcOpMatrix):
  9956. libc.Xprintf(tls, __ccgo_ts+2222, 0)
  9957. case int32(_FcOpRange):
  9958. libc.Xprintf(tls, __ccgo_ts+2229, 0)
  9959. case int32(_FcOpBool):
  9960. libc.Xprintf(tls, __ccgo_ts+2235, 0)
  9961. case int32(_FcOpCharSet):
  9962. libc.Xprintf(tls, __ccgo_ts+2240, 0)
  9963. case int32(_FcOpLangSet):
  9964. libc.Xprintf(tls, __ccgo_ts+2248, 0)
  9965. case int32(_FcOpField):
  9966. libc.Xprintf(tls, __ccgo_ts+2256, 0)
  9967. case int32(_FcOpConst):
  9968. libc.Xprintf(tls, __ccgo_ts+2262, 0)
  9969. case int32(_FcOpAssign):
  9970. libc.Xprintf(tls, __ccgo_ts+2268, 0)
  9971. case int32(_FcOpAssignReplace):
  9972. libc.Xprintf(tls, __ccgo_ts+2275, 0)
  9973. case int32(_FcOpPrepend):
  9974. libc.Xprintf(tls, __ccgo_ts+1319, 0)
  9975. case int32(_FcOpPrependFirst):
  9976. libc.Xprintf(tls, __ccgo_ts+2289, 0)
  9977. case int32(_FcOpAppend):
  9978. libc.Xprintf(tls, __ccgo_ts+1312, 0)
  9979. case int32(_FcOpAppendLast):
  9980. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  9981. case int32(_FcOpDelete):
  9982. libc.Xprintf(tls, __ccgo_ts+2313, 0)
  9983. case int32(_FcOpDeleteAll):
  9984. libc.Xprintf(tls, __ccgo_ts+2320, 0)
  9985. case int32(_FcOpQuest):
  9986. libc.Xprintf(tls, __ccgo_ts+2330, 0)
  9987. case int32(_FcOpOr):
  9988. libc.Xprintf(tls, __ccgo_ts+2336, 0)
  9989. case int32(_FcOpAnd):
  9990. libc.Xprintf(tls, __ccgo_ts+2339, 0)
  9991. case int32(_FcOpEqual):
  9992. libc.Xprintf(tls, __ccgo_ts+2343, 0)
  9993. f = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9994. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9995. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  9996. }
  9997. case int32(_FcOpNotEqual):
  9998. libc.Xprintf(tls, __ccgo_ts+2365, 0)
  9999. f1 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10000. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10001. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10002. }
  10003. case int32(_FcOpLess):
  10004. libc.Xprintf(tls, __ccgo_ts+2374, 0)
  10005. case int32(_FcOpLessEqual):
  10006. libc.Xprintf(tls, __ccgo_ts+2379, 0)
  10007. case int32(_FcOpMore):
  10008. libc.Xprintf(tls, __ccgo_ts+2389, 0)
  10009. case int32(_FcOpMoreEqual):
  10010. libc.Xprintf(tls, __ccgo_ts+2394, 0)
  10011. case int32(_FcOpContains):
  10012. libc.Xprintf(tls, __ccgo_ts+2404, 0)
  10013. case int32(_FcOpNotContains):
  10014. libc.Xprintf(tls, __ccgo_ts+2413, 0)
  10015. case int32(_FcOpPlus):
  10016. libc.Xprintf(tls, __ccgo_ts+2425, 0)
  10017. case int32(_FcOpMinus):
  10018. libc.Xprintf(tls, __ccgo_ts+2430, 0)
  10019. case int32(_FcOpTimes):
  10020. libc.Xprintf(tls, __ccgo_ts+2436, 0)
  10021. case int32(_FcOpDivide):
  10022. libc.Xprintf(tls, __ccgo_ts+2442, 0)
  10023. case int32(_FcOpNot):
  10024. libc.Xprintf(tls, __ccgo_ts+2449, 0)
  10025. case int32(_FcOpNil):
  10026. libc.Xprintf(tls, __ccgo_ts+2453, 0)
  10027. case int32(_FcOpComma):
  10028. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  10029. case int32(_FcOpFloor):
  10030. libc.Xprintf(tls, __ccgo_ts+2463, 0)
  10031. case int32(_FcOpCeil):
  10032. libc.Xprintf(tls, __ccgo_ts+2469, 0)
  10033. case int32(_FcOpRound):
  10034. libc.Xprintf(tls, __ccgo_ts+2474, 0)
  10035. case int32(_FcOpTrunc):
  10036. libc.Xprintf(tls, __ccgo_ts+2480, 0)
  10037. case int32(_FcOpListing):
  10038. libc.Xprintf(tls, __ccgo_ts+2486, 0)
  10039. f2 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10040. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10041. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10042. }
  10043. case int32(_FcOpInvalid):
  10044. libc.Xprintf(tls, __ccgo_ts+2494, 0)
  10045. break
  10046. }
  10047. }
  10048. func XFcExprPrint(tls *libc.TLS, expr uintptr) {
  10049. bp := tls.Alloc(32)
  10050. defer tls.Free(32)
  10051. var f, f1, f2 int32
  10052. var v1 uintptr
  10053. _, _, _, _ = f, f1, f2, v1
  10054. if !(expr != 0) {
  10055. libc.Xprintf(tls, __ccgo_ts+2502, 0)
  10056. } else {
  10057. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  10058. case int32(_FcOpInteger):
  10059. libc.Xprintf(tls, __ccgo_ts+2507, libc.VaList(bp+8, (*TFcExpr)(unsafe.Pointer(expr)).Fu.Fival))
  10060. case int32(_FcOpDouble):
  10061. libc.Xprintf(tls, __ccgo_ts+2510, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(expr + 4))))
  10062. case int32(_FcOpString):
  10063. libc.Xprintf(tls, __ccgo_ts+1936, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  10064. case int32(_FcOpMatrix):
  10065. libc.Xprintf(tls, __ccgo_ts+2513, 0)
  10066. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxx)
  10067. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10068. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxy)
  10069. libc.Xprintf(tls, __ccgo_ts+2515, 0)
  10070. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyx)
  10071. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10072. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyy)
  10073. libc.Xprintf(tls, __ccgo_ts+2518, 0)
  10074. case int32(_FcOpRange):
  10075. 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))
  10076. case int32(_FcOpBool):
  10077. if *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)) != 0 {
  10078. v1 = __ccgo_ts + 2529
  10079. } else {
  10080. v1 = __ccgo_ts + 2534
  10081. }
  10082. libc.Xprintf(tls, __ccgo_ts+2028, libc.VaList(bp+8, v1))
  10083. case int32(_FcOpCharSet):
  10084. libc.Xprintf(tls, __ccgo_ts+2540, 0)
  10085. case int32(_FcOpLangSet):
  10086. libc.Xprintf(tls, __ccgo_ts+2549, 0)
  10087. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  10088. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  10089. case int32(_FcOpNil):
  10090. libc.Xprintf(tls, __ccgo_ts+2558, 0)
  10091. case int32(_FcOpField):
  10092. libc.Xprintf(tls, __ccgo_ts+2563, libc.VaList(bp+8, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(expr + 4))).Fobject)))
  10093. switch (*(*TFcExprName)(unsafe.Pointer(expr + 4))).Fkind {
  10094. case int32(_FcMatchPattern):
  10095. libc.Xprintf(tls, __ccgo_ts+2567, 0)
  10096. case int32(_FcMatchFont):
  10097. libc.Xprintf(tls, __ccgo_ts+2578, 0)
  10098. break
  10099. }
  10100. case int32(_FcOpConst):
  10101. libc.Xprintf(tls, __ccgo_ts+2028, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  10102. case int32(_FcOpQuest):
  10103. XFcExprPrint(tls, (*(*struct {
  10104. Fleft uintptr
  10105. Fright uintptr
  10106. })(unsafe.Pointer(expr + 4))).Fleft)
  10107. libc.Xprintf(tls, __ccgo_ts+2586, 0)
  10108. XFcExprPrint(tls, (*(*struct {
  10109. Fleft uintptr
  10110. Fright uintptr
  10111. })(unsafe.Pointer((*(*struct {
  10112. Fleft uintptr
  10113. Fright uintptr
  10114. })(unsafe.Pointer(expr + 4))).Fright + 4))).Fleft)
  10115. libc.Xprintf(tls, __ccgo_ts+2594, 0)
  10116. XFcExprPrint(tls, (*(*struct {
  10117. Fleft uintptr
  10118. Fright uintptr
  10119. })(unsafe.Pointer((*(*struct {
  10120. Fleft uintptr
  10121. Fright uintptr
  10122. })(unsafe.Pointer(expr + 4))).Fright + 4))).Fright)
  10123. case int32(_FcOpAssign):
  10124. fallthrough
  10125. case int32(_FcOpAssignReplace):
  10126. fallthrough
  10127. case int32(_FcOpPrependFirst):
  10128. fallthrough
  10129. case int32(_FcOpPrepend):
  10130. fallthrough
  10131. case int32(_FcOpAppend):
  10132. fallthrough
  10133. case int32(_FcOpAppendLast):
  10134. fallthrough
  10135. case int32(_FcOpOr):
  10136. fallthrough
  10137. case int32(_FcOpAnd):
  10138. fallthrough
  10139. case int32(_FcOpEqual):
  10140. fallthrough
  10141. case int32(_FcOpNotEqual):
  10142. fallthrough
  10143. case int32(_FcOpLess):
  10144. fallthrough
  10145. case int32(_FcOpLessEqual):
  10146. fallthrough
  10147. case int32(_FcOpMore):
  10148. fallthrough
  10149. case int32(_FcOpMoreEqual):
  10150. fallthrough
  10151. case int32(_FcOpContains):
  10152. fallthrough
  10153. case int32(_FcOpListing):
  10154. fallthrough
  10155. case int32(_FcOpNotContains):
  10156. fallthrough
  10157. case int32(_FcOpPlus):
  10158. fallthrough
  10159. case int32(_FcOpMinus):
  10160. fallthrough
  10161. case int32(_FcOpTimes):
  10162. fallthrough
  10163. case int32(_FcOpDivide):
  10164. fallthrough
  10165. case int32(_FcOpComma):
  10166. XFcExprPrint(tls, (*(*struct {
  10167. Fleft uintptr
  10168. Fright uintptr
  10169. })(unsafe.Pointer(expr + 4))).Fleft)
  10170. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10171. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  10172. case int32(_FcOpAssign):
  10173. libc.Xprintf(tls, __ccgo_ts+2268, 0)
  10174. case int32(_FcOpAssignReplace):
  10175. libc.Xprintf(tls, __ccgo_ts+2275, 0)
  10176. case int32(_FcOpPrependFirst):
  10177. libc.Xprintf(tls, __ccgo_ts+2289, 0)
  10178. case int32(_FcOpPrepend):
  10179. libc.Xprintf(tls, __ccgo_ts+1319, 0)
  10180. case int32(_FcOpAppend):
  10181. libc.Xprintf(tls, __ccgo_ts+1312, 0)
  10182. case int32(_FcOpAppendLast):
  10183. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  10184. case int32(_FcOpOr):
  10185. libc.Xprintf(tls, __ccgo_ts+2336, 0)
  10186. case int32(_FcOpAnd):
  10187. libc.Xprintf(tls, __ccgo_ts+2339, 0)
  10188. case int32(_FcOpEqual):
  10189. libc.Xprintf(tls, __ccgo_ts+2343, 0)
  10190. f = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10191. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10192. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10193. }
  10194. case int32(_FcOpNotEqual):
  10195. libc.Xprintf(tls, __ccgo_ts+2365, 0)
  10196. f1 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10197. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10198. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10199. }
  10200. case int32(_FcOpLess):
  10201. libc.Xprintf(tls, __ccgo_ts+2374, 0)
  10202. case int32(_FcOpLessEqual):
  10203. libc.Xprintf(tls, __ccgo_ts+2379, 0)
  10204. case int32(_FcOpMore):
  10205. libc.Xprintf(tls, __ccgo_ts+2389, 0)
  10206. case int32(_FcOpMoreEqual):
  10207. libc.Xprintf(tls, __ccgo_ts+2394, 0)
  10208. case int32(_FcOpContains):
  10209. libc.Xprintf(tls, __ccgo_ts+2404, 0)
  10210. case int32(_FcOpListing):
  10211. libc.Xprintf(tls, __ccgo_ts+2486, 0)
  10212. f2 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10213. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10214. libc.Xprintf(tls, __ccgo_ts+2349, 0)
  10215. }
  10216. case int32(_FcOpNotContains):
  10217. libc.Xprintf(tls, __ccgo_ts+2413, 0)
  10218. case int32(_FcOpPlus):
  10219. libc.Xprintf(tls, __ccgo_ts+2425, 0)
  10220. case int32(_FcOpMinus):
  10221. libc.Xprintf(tls, __ccgo_ts+2430, 0)
  10222. case int32(_FcOpTimes):
  10223. libc.Xprintf(tls, __ccgo_ts+2436, 0)
  10224. case int32(_FcOpDivide):
  10225. libc.Xprintf(tls, __ccgo_ts+2442, 0)
  10226. case int32(_FcOpComma):
  10227. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  10228. default:
  10229. break
  10230. }
  10231. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10232. XFcExprPrint(tls, (*(*struct {
  10233. Fleft uintptr
  10234. Fright uintptr
  10235. })(unsafe.Pointer(expr + 4))).Fright)
  10236. case int32(_FcOpNot):
  10237. libc.Xprintf(tls, __ccgo_ts+2602, 0)
  10238. XFcExprPrint(tls, (*(*struct {
  10239. Fleft uintptr
  10240. Fright uintptr
  10241. })(unsafe.Pointer(expr + 4))).Fleft)
  10242. case int32(_FcOpFloor):
  10243. libc.Xprintf(tls, __ccgo_ts+2607, 0)
  10244. XFcExprPrint(tls, (*(*struct {
  10245. Fleft uintptr
  10246. Fright uintptr
  10247. })(unsafe.Pointer(expr + 4))).Fleft)
  10248. case int32(_FcOpCeil):
  10249. libc.Xprintf(tls, __ccgo_ts+2614, 0)
  10250. XFcExprPrint(tls, (*(*struct {
  10251. Fleft uintptr
  10252. Fright uintptr
  10253. })(unsafe.Pointer(expr + 4))).Fleft)
  10254. case int32(_FcOpRound):
  10255. libc.Xprintf(tls, __ccgo_ts+2620, 0)
  10256. XFcExprPrint(tls, (*(*struct {
  10257. Fleft uintptr
  10258. Fright uintptr
  10259. })(unsafe.Pointer(expr + 4))).Fleft)
  10260. case int32(_FcOpTrunc):
  10261. libc.Xprintf(tls, __ccgo_ts+2627, 0)
  10262. XFcExprPrint(tls, (*(*struct {
  10263. Fleft uintptr
  10264. Fright uintptr
  10265. })(unsafe.Pointer(expr + 4))).Fleft)
  10266. case int32(_FcOpInvalid):
  10267. libc.Xprintf(tls, __ccgo_ts+2494, 0)
  10268. break
  10269. }
  10270. }
  10271. }
  10272. func XFcTestPrint(tls *libc.TLS, test uintptr) {
  10273. bp := tls.Alloc(16)
  10274. defer tls.Free(16)
  10275. switch (*TFcTest)(unsafe.Pointer(test)).Fkind {
  10276. case int32(_FcMatchPattern):
  10277. libc.Xprintf(tls, __ccgo_ts+2634, 0)
  10278. case int32(_FcMatchFont):
  10279. libc.Xprintf(tls, __ccgo_ts+2643, 0)
  10280. case int32(_FcMatchScan):
  10281. libc.Xprintf(tls, __ccgo_ts+2649, 0)
  10282. case int32(_FcMatchKindEnd):
  10283. /* shouldn't be reached */
  10284. return
  10285. }
  10286. switch (*TFcTest)(unsafe.Pointer(test)).Fqual {
  10287. case int32(_FcQualAny):
  10288. libc.Xprintf(tls, __ccgo_ts+2655, 0)
  10289. case int32(_FcQualAll):
  10290. libc.Xprintf(tls, __ccgo_ts+2660, 0)
  10291. case int32(_FcQualFirst):
  10292. libc.Xprintf(tls, __ccgo_ts+2665, 0)
  10293. case int32(_FcQualNotFirst):
  10294. libc.Xprintf(tls, __ccgo_ts+2672, 0)
  10295. break
  10296. }
  10297. libc.Xprintf(tls, __ccgo_ts+2563, libc.VaList(bp+8, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject)))
  10298. XFcOpPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fop)
  10299. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10300. XFcExprPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  10301. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  10302. }
  10303. func XFcEditPrint(tls *libc.TLS, edit uintptr) {
  10304. bp := tls.Alloc(16)
  10305. defer tls.Free(16)
  10306. libc.Xprintf(tls, __ccgo_ts+2683, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fobject)))
  10307. XFcOpPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fop)
  10308. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  10309. XFcExprPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fexpr)
  10310. }
  10311. func XFcRulePrint(tls *libc.TLS, rule uintptr) {
  10312. var last_type TFcRuleType
  10313. var r uintptr
  10314. _, _ = last_type, r
  10315. last_type = int32(_FcRuleUnknown)
  10316. r = rule
  10317. for {
  10318. if !(r != 0) {
  10319. break
  10320. }
  10321. if last_type != (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10322. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10323. case int32(_FcRuleTest):
  10324. libc.Xprintf(tls, __ccgo_ts+2692, 0)
  10325. case int32(_FcRuleEdit):
  10326. libc.Xprintf(tls, __ccgo_ts+2700, 0)
  10327. default:
  10328. break
  10329. }
  10330. last_type = (*TFcRule)(unsafe.Pointer(r)).Ftype1
  10331. }
  10332. libc.Xprintf(tls, __ccgo_ts+2053, 0)
  10333. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10334. case int32(_FcRuleTest):
  10335. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 8)))
  10336. case int32(_FcRuleEdit):
  10337. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 8)))
  10338. libc.Xprintf(tls, __ccgo_ts+2708, 0)
  10339. default:
  10340. break
  10341. }
  10342. goto _1
  10343. _1:
  10344. ;
  10345. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  10346. }
  10347. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  10348. }
  10349. func XIA__FcFontSetPrint(tls *libc.TLS, s uintptr) {
  10350. bp := tls.Alloc(32)
  10351. defer tls.Free(32)
  10352. var i int32
  10353. _ = i
  10354. libc.Xprintf(tls, __ccgo_ts+2711, libc.VaList(bp+8, (*TFcFontSet)(unsafe.Pointer(s)).Fnfont, (*TFcFontSet)(unsafe.Pointer(s)).Fsfont))
  10355. i = 0
  10356. for {
  10357. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  10358. break
  10359. }
  10360. libc.Xprintf(tls, __ccgo_ts+2729, libc.VaList(bp+8, i))
  10361. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*4)))
  10362. goto _1
  10363. _1:
  10364. ;
  10365. i++
  10366. }
  10367. }
  10368. var XFcFontSetPrint = XIA__FcFontSetPrint
  10369. func XFcInitDebug(tls *libc.TLS) {
  10370. bp := tls.Alloc(16)
  10371. defer tls.Free(16)
  10372. var e uintptr
  10373. _ = e
  10374. if !(XFcDebugVal != 0) {
  10375. e = libc.Xgetenv(tls, __ccgo_ts+2738)
  10376. if e != 0 {
  10377. libc.Xprintf(tls, __ccgo_ts+2747, libc.VaList(bp+8, e))
  10378. XFcDebugVal = libc.Xatoi(tls, e)
  10379. if XFcDebugVal < 0 {
  10380. XFcDebugVal = 0
  10381. }
  10382. }
  10383. }
  10384. }
  10385. /* MT-safe */
  10386. var _FcBoolDefaults = [8]struct {
  10387. Ffield TFcObject
  10388. Fvalue TFcBool
  10389. }{
  10390. 0: {
  10391. Ffield: int32(_FC_HINTING_OBJECT),
  10392. Fvalue: int32(m_FcTrue),
  10393. },
  10394. 1: {
  10395. Ffield: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  10396. },
  10397. 2: {
  10398. Ffield: int32(_FC_AUTOHINT_OBJECT),
  10399. },
  10400. 3: {
  10401. Ffield: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  10402. Fvalue: int32(m_FcTrue),
  10403. },
  10404. 4: {
  10405. Ffield: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  10406. Fvalue: int32(m_FcTrue),
  10407. },
  10408. 5: {
  10409. Ffield: int32(_FC_DECORATIVE_OBJECT),
  10410. },
  10411. 6: {
  10412. Ffield: int32(_FC_SYMBOL_OBJECT),
  10413. },
  10414. 7: {
  10415. Ffield: int32(_FC_VARIABLE_OBJECT),
  10416. },
  10417. }
  10418. func XIA__FcGetDefaultLangs(tls *libc.TLS) (r uintptr) {
  10419. var langs, result uintptr
  10420. var v1 int32
  10421. _, _, _ = langs, result, v1
  10422. goto retry
  10423. retry:
  10424. ;
  10425. result = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  10426. if !(result != 0) {
  10427. result = XIA__FcStrSetCreate(tls)
  10428. langs = libc.Xgetenv(tls, __ccgo_ts+2760)
  10429. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  10430. langs = libc.Xgetenv(tls, __ccgo_ts+2768)
  10431. }
  10432. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  10433. langs = libc.Xgetenv(tls, __ccgo_ts+2775)
  10434. }
  10435. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  10436. langs = libc.Xgetenv(tls, __ccgo_ts+2784)
  10437. }
  10438. if langs != 0 && *(*int8)(unsafe.Pointer(langs)) != 0 {
  10439. if !(XFcStrSetAddLangs(tls, result, langs) != 0) {
  10440. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2789)
  10441. }
  10442. } else {
  10443. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2789)
  10444. }
  10445. (*TFcRef)(unsafe.Pointer(result)).Fcount = -libc.Int32FromInt32(1)
  10446. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == libc.UintptrFromInt32(0) {
  10447. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = result
  10448. v1 = libc.Int32FromInt32(m_FcTrue)
  10449. } else {
  10450. v1 = m_FcFalse
  10451. }
  10452. if !(v1 != 0) {
  10453. (*TFcRef)(unsafe.Pointer(result)).Fcount = int32(1)
  10454. XIA__FcStrSetDestroy(tls, result)
  10455. goto retry
  10456. }
  10457. }
  10458. return result
  10459. }
  10460. var XFcGetDefaultLangs = XIA__FcGetDefaultLangs
  10461. var _default_lang uintptr /* MT-safe */
  10462. func XFcGetDefaultLang(tls *libc.TLS) (r uintptr) {
  10463. var lang, langs uintptr
  10464. var v1 int32
  10465. _, _, _ = lang, langs, v1
  10466. goto retry
  10467. retry:
  10468. ;
  10469. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  10470. if !(lang != 0) {
  10471. langs = XIA__FcGetDefaultLangs(tls)
  10472. lang = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(langs)).Fstrs)))
  10473. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == libc.UintptrFromInt32(0) {
  10474. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = lang
  10475. v1 = libc.Int32FromInt32(m_FcTrue)
  10476. } else {
  10477. v1 = m_FcFalse
  10478. }
  10479. if !(v1 != 0) {
  10480. libc.Xfree(tls, lang)
  10481. goto retry
  10482. }
  10483. }
  10484. return lang
  10485. }
  10486. var _default_prgname uintptr
  10487. func XFcGetPrgname(tls *libc.TLS) (r1 uintptr) {
  10488. var buf, p, prgname, r uintptr
  10489. var len1 Tssize_t
  10490. var size Tsize_t
  10491. var v1 int32
  10492. _, _, _, _, _, _, _ = buf, len1, p, prgname, r, size, v1
  10493. goto retry
  10494. retry:
  10495. ;
  10496. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  10497. if !(prgname != 0) {
  10498. size = uint32(m_PATH_MAX)
  10499. p = libc.UintptrFromInt32(0)
  10500. for int32(1) != 0 {
  10501. buf = libc.Xmalloc(tls, size)
  10502. if !(buf != 0) {
  10503. break
  10504. }
  10505. len1 = libc.Xreadlink(tls, __ccgo_ts+2792, buf, size-uint32(1))
  10506. if len1 < 0 {
  10507. libc.Xfree(tls, buf)
  10508. break
  10509. }
  10510. if libc.Uint32FromInt32(len1) < size-uint32(1) {
  10511. *(*int8)(unsafe.Pointer(buf + uintptr(len1))) = 0
  10512. p = buf
  10513. break
  10514. }
  10515. libc.Xfree(tls, buf)
  10516. size *= uint32(2)
  10517. }
  10518. if p != 0 {
  10519. r = libc.Xstrrchr(tls, p, int32('/'))
  10520. if r != 0 {
  10521. r++
  10522. } else {
  10523. r = p
  10524. }
  10525. prgname = libc.Xstrdup(tls, r)
  10526. }
  10527. if !(prgname != 0) {
  10528. prgname = libc.Xstrdup(tls, __ccgo_ts+112)
  10529. }
  10530. if p != 0 {
  10531. libc.Xfree(tls, p)
  10532. }
  10533. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == libc.UintptrFromInt32(0) {
  10534. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = prgname
  10535. v1 = libc.Int32FromInt32(m_FcTrue)
  10536. } else {
  10537. v1 = m_FcFalse
  10538. }
  10539. if !(v1 != 0) {
  10540. libc.Xfree(tls, prgname)
  10541. goto retry
  10542. }
  10543. }
  10544. if prgname != 0 && !(*(*TFcChar8)(unsafe.Pointer(prgname)) != 0) {
  10545. return libc.UintptrFromInt32(0)
  10546. }
  10547. return prgname
  10548. }
  10549. func XFcDefaultFini(tls *libc.TLS) {
  10550. var lang, langs, prgname uintptr
  10551. var v1, v3, v5 int32
  10552. var v2, v4, v6 bool
  10553. _, _, _, _, _, _, _, _, _ = lang, langs, prgname, v1, v2, v3, v4, v5, v6
  10554. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  10555. if v2 = lang != 0; v2 {
  10556. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == lang {
  10557. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = libc.UintptrFromInt32(0)
  10558. v1 = libc.Int32FromInt32(m_FcTrue)
  10559. } else {
  10560. v1 = m_FcFalse
  10561. }
  10562. }
  10563. if v2 && v1 != 0 {
  10564. libc.Xfree(tls, lang)
  10565. }
  10566. langs = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  10567. if v4 = langs != 0; v4 {
  10568. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == langs {
  10569. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = libc.UintptrFromInt32(0)
  10570. v3 = libc.Int32FromInt32(m_FcTrue)
  10571. } else {
  10572. v3 = m_FcFalse
  10573. }
  10574. }
  10575. if v4 && v3 != 0 {
  10576. (*TFcRef)(unsafe.Pointer(langs)).Fcount = int32(1)
  10577. XIA__FcStrSetDestroy(tls, langs)
  10578. }
  10579. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  10580. if v6 = prgname != 0; v6 {
  10581. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == prgname {
  10582. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = libc.UintptrFromInt32(0)
  10583. v5 = libc.Int32FromInt32(m_FcTrue)
  10584. } else {
  10585. v5 = m_FcFalse
  10586. }
  10587. }
  10588. if v6 && v5 != 0 {
  10589. libc.Xfree(tls, prgname)
  10590. }
  10591. }
  10592. func XIA__FcDefaultSubstitute(tls *libc.TLS, pattern uintptr) {
  10593. bp := tls.Alloc(96)
  10594. defer tls.Free(96)
  10595. var i int32
  10596. var pixelsize float64
  10597. var prgname uintptr
  10598. var _ /* b at bp+80 */ float64
  10599. var _ /* dpi at bp+48 */ float64
  10600. var _ /* e at bp+88 */ float64
  10601. var _ /* iter at bp+0 */ TFcPatternIter
  10602. var _ /* namelang at bp+20 */ TFcValue
  10603. var _ /* r at bp+72 */ uintptr
  10604. var _ /* scale at bp+64 */ float64
  10605. var _ /* size at bp+56 */ float64
  10606. var _ /* v at bp+8 */ TFcValue
  10607. var _ /* v2 at bp+32 */ TFcValue
  10608. _, _, _ = i, pixelsize, prgname
  10609. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WEIGHT_OBJECT)) != 0) {
  10610. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WEIGHT_OBJECT), int32(m_FC_WEIGHT_REGULAR))
  10611. }
  10612. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_SLANT_OBJECT)) != 0) {
  10613. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_SLANT_OBJECT), m_FC_SLANT_ROMAN)
  10614. }
  10615. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WIDTH_OBJECT)) != 0) {
  10616. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WIDTH_OBJECT), int32(m_FC_WIDTH_NORMAL))
  10617. }
  10618. i = 0
  10619. for {
  10620. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(64)/libc.Uint32FromInt64(8))) {
  10621. break
  10622. }
  10623. if !(XFcPatternFindObjectIter(tls, pattern, bp, _FcBoolDefaults[i].Ffield) != 0) {
  10624. XFcPatternObjectAddBool(tls, pattern, _FcBoolDefaults[i].Ffield, _FcBoolDefaults[i].Fvalue)
  10625. }
  10626. goto _1
  10627. _1:
  10628. ;
  10629. i++
  10630. }
  10631. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+56) != int32(_FcResultMatch) {
  10632. if XFcPatternObjectGetRange(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+72) == int32(_FcResultMatch) && XIA__FcRangeGetDouble(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), bp+80, bp+88) != 0 {
  10633. *(*float64)(unsafe.Pointer(bp + 56)) = (*(*float64)(unsafe.Pointer(bp + 80)) + *(*float64)(unsafe.Pointer(bp + 88))) * float64(0.5)
  10634. } else {
  10635. *(*float64)(unsafe.Pointer(bp + 56)) = libc.Float64FromFloat64(12)
  10636. }
  10637. }
  10638. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SCALE_OBJECT), 0, bp+64) != int32(_FcResultMatch) {
  10639. *(*float64)(unsafe.Pointer(bp + 64)) = float64(1)
  10640. }
  10641. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_DPI_OBJECT), 0, bp+48) != int32(_FcResultMatch) {
  10642. *(*float64)(unsafe.Pointer(bp + 48)) = float64(75)
  10643. }
  10644. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_PIXEL_SIZE_OBJECT)) != 0) {
  10645. XFcPatternObjectDel(tls, pattern, int32(_FC_SCALE_OBJECT))
  10646. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SCALE_OBJECT), *(*float64)(unsafe.Pointer(bp + 64)))
  10647. pixelsize = *(*float64)(unsafe.Pointer(bp + 56)) * *(*float64)(unsafe.Pointer(bp + 64))
  10648. XFcPatternObjectDel(tls, pattern, int32(_FC_DPI_OBJECT))
  10649. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_DPI_OBJECT), *(*float64)(unsafe.Pointer(bp + 48)))
  10650. pixelsize *= *(*float64)(unsafe.Pointer(bp + 48)) / float64(72)
  10651. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_PIXEL_SIZE_OBJECT), pixelsize)
  10652. } else {
  10653. XIA__FcPatternIterGetValue(tls, pattern, bp, 0, bp+8, libc.UintptrFromInt32(0))
  10654. *(*float64)(unsafe.Pointer(bp + 56)) = *(*float64)(unsafe.Pointer(bp + 8 + 4))
  10655. *(*float64)(unsafe.Pointer(bp + 56)) = *(*float64)(unsafe.Pointer(bp + 56)) / *(*float64)(unsafe.Pointer(bp + 48)) * float64(72) / *(*float64)(unsafe.Pointer(bp + 64))
  10656. }
  10657. XFcPatternObjectDel(tls, pattern, int32(_FC_SIZE_OBJECT))
  10658. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SIZE_OBJECT), *(*float64)(unsafe.Pointer(bp + 56)))
  10659. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FONTVERSION_OBJECT)) != 0) {
  10660. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_FONTVERSION_OBJECT), int32(0x7fffffff))
  10661. }
  10662. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_HINT_STYLE_OBJECT)) != 0) {
  10663. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_HINT_STYLE_OBJECT), int32(m_FC_HINT_FULL))
  10664. }
  10665. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_NAMELANG_OBJECT)) != 0) {
  10666. XFcPatternObjectAddString(tls, pattern, int32(_FC_NAMELANG_OBJECT), XFcGetDefaultLang(tls))
  10667. }
  10668. /* shouldn't be failed. */
  10669. XFcPatternObjectGet(tls, pattern, int32(_FC_NAMELANG_OBJECT), 0, bp+20)
  10670. /* Add a fallback to ensure the english name when the requested language
  10671. * isn't available. this would helps for the fonts that have non-English
  10672. * name at the beginning.
  10673. */
  10674. /* Set "en-us" instead of "en" to avoid giving higher score to "en".
  10675. * This is a hack for the case that the orth is not like ll-cc, because,
  10676. * if no namelang isn't explicitly set, it will has something like ll-cc
  10677. * according to current locale. which may causes FcLangDifferentTerritory
  10678. * at FcLangCompare(). thus, the English name is selected so that
  10679. * exact matched "en" has higher score than ll-cc.
  10680. */
  10681. (*(*TFcValue)(unsafe.Pointer(bp + 32))).Ftype1 = int32(_FcTypeString)
  10682. *(*uintptr)(unsafe.Pointer(bp + 32 + 4)) = __ccgo_ts + 2807
  10683. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FAMILYLANG_OBJECT)) != 0) {
  10684. XFcPatternObjectAdd(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 20)), int32(m_FcTrue))
  10685. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10686. }
  10687. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_STYLELANG_OBJECT)) != 0) {
  10688. XFcPatternObjectAdd(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 20)), int32(m_FcTrue))
  10689. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10690. }
  10691. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FULLNAMELANG_OBJECT)) != 0) {
  10692. XFcPatternObjectAdd(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 20)), int32(m_FcTrue))
  10693. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10694. }
  10695. if XFcPatternObjectGet(tls, pattern, int32(_FC_PRGNAME_OBJECT), 0, bp+8) == int32(_FcResultNoMatch) {
  10696. prgname = XFcGetPrgname(tls)
  10697. if prgname != 0 {
  10698. XFcPatternObjectAddString(tls, pattern, int32(_FC_PRGNAME_OBJECT), prgname)
  10699. }
  10700. }
  10701. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_ORDER_OBJECT)) != 0) {
  10702. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_ORDER_OBJECT), 0)
  10703. }
  10704. }
  10705. var XFcDefaultSubstitute = XIA__FcDefaultSubstitute
  10706. const m_S_IFDIR1 = 16384
  10707. const m_S_IFLNK1 = 40960
  10708. const m_S_IFMT3 = 61440
  10709. const m_S_IFREG1 = 32768
  10710. func XIA__FcFileIsDir(tls *libc.TLS, file uintptr) (r TFcBool) {
  10711. bp := tls.Alloc(144)
  10712. defer tls.Free(144)
  10713. var _ /* statb at bp+0 */ Tstat
  10714. if XFcStat(tls, file, bp) != 0 {
  10715. return m_FcFalse
  10716. }
  10717. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFDIR1))
  10718. }
  10719. var XFcFileIsDir = XIA__FcFileIsDir
  10720. func XFcFileIsLink(tls *libc.TLS, file uintptr) (r TFcBool) {
  10721. bp := tls.Alloc(144)
  10722. defer tls.Free(144)
  10723. var _ /* statb at bp+0 */ Tstat
  10724. if libc.Xlstat(tls, file, bp) != 0 {
  10725. return m_FcFalse
  10726. }
  10727. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFLNK1))
  10728. }
  10729. func XFcFileIsFile(tls *libc.TLS, file uintptr) (r TFcBool) {
  10730. bp := tls.Alloc(144)
  10731. defer tls.Free(144)
  10732. var _ /* statb at bp+0 */ Tstat
  10733. if XFcStat(tls, file, bp) != 0 {
  10734. return m_FcFalse
  10735. }
  10736. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFREG1))
  10737. }
  10738. func _FcFileScanFontConfig(tls *libc.TLS, set uintptr, file uintptr, config uintptr) (r TFcBool) {
  10739. bp := tls.Alloc(32)
  10740. defer tls.Free(32)
  10741. var font, s, sysroot uintptr
  10742. var i, old_nfont int32
  10743. var len1 Tsize_t
  10744. var ret TFcBool
  10745. var _ /* f at bp+0 */ uintptr
  10746. _, _, _, _, _, _, _ = font, i, len1, old_nfont, ret, s, sysroot
  10747. ret = int32(m_FcTrue)
  10748. old_nfont = (*TFcFontSet)(unsafe.Pointer(set)).Fnfont
  10749. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10750. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10751. libc.Xprintf(tls, __ccgo_ts+2813, libc.VaList(bp+16, file))
  10752. libc.Xfflush(tls, libc.Xstdout)
  10753. }
  10754. if !(XIA__FcFreeTypeQueryAll(tls, file, libc.Uint32FromInt32(-libc.Int32FromInt32(1)), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), set) != 0) {
  10755. return m_FcFalse
  10756. }
  10757. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10758. libc.Xprintf(tls, __ccgo_ts+2834, 0)
  10759. }
  10760. i = old_nfont
  10761. for {
  10762. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  10763. break
  10764. }
  10765. font = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*4))
  10766. /*
  10767. * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
  10768. * and they should usually expect without sysroot.
  10769. */
  10770. if sysroot != 0 {
  10771. len1 = libc.Xstrlen(tls, sysroot)
  10772. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  10773. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) && libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(bp)), sysroot, len1) == 0 {
  10774. s = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp)))
  10775. XFcPatternObjectDel(tls, font, int32(_FC_FILE_OBJECT))
  10776. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1)))) != int32('/') {
  10777. len1--
  10778. } else {
  10779. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1+uint32(1))))) == int32('/') {
  10780. len1++
  10781. }
  10782. }
  10783. XFcPatternObjectAddString(tls, font, int32(_FC_FILE_OBJECT), s+uintptr(len1))
  10784. XIA__FcStrFree(tls, s)
  10785. }
  10786. }
  10787. /*
  10788. * Edit pattern with user-defined rules
  10789. */
  10790. if config != 0 && !(XIA__FcConfigSubstitute(tls, config, font, int32(_FcMatchScan)) != 0) {
  10791. ret = m_FcFalse
  10792. }
  10793. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  10794. libc.Xprintf(tls, __ccgo_ts+2840, 0)
  10795. XIA__FcPatternPrint(tls, font)
  10796. }
  10797. goto _1
  10798. _1:
  10799. ;
  10800. i++
  10801. }
  10802. return ret
  10803. }
  10804. func XFcFileScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, file uintptr, config uintptr) (r TFcBool) {
  10805. var d, sysroot uintptr
  10806. var len1 Tsize_t
  10807. _, _, _ = d, len1, sysroot
  10808. if XIA__FcFileIsDir(tls, file) != 0 {
  10809. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10810. d = file
  10811. if sysroot != 0 {
  10812. len1 = libc.Xstrlen(tls, sysroot)
  10813. if libc.Xstrncmp(tls, file, sysroot, len1) == 0 {
  10814. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1)))) != int32('/') {
  10815. len1--
  10816. } else {
  10817. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1+uint32(1))))) == int32('/') {
  10818. len1++
  10819. }
  10820. }
  10821. d = file + uintptr(len1)
  10822. }
  10823. }
  10824. return XIA__FcStrSetAdd(tls, dirs, d)
  10825. } else {
  10826. if set != 0 {
  10827. return _FcFileScanFontConfig(tls, set, file, config)
  10828. } else {
  10829. return int32(m_FcTrue)
  10830. }
  10831. }
  10832. return r
  10833. }
  10834. func XIA__FcFileScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, file uintptr, force TFcBool) (r TFcBool) {
  10835. var config uintptr
  10836. var ret TFcBool
  10837. _, _ = config, ret
  10838. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  10839. if !(config != 0) {
  10840. return m_FcFalse
  10841. }
  10842. ret = XFcFileScanConfig(tls, set, dirs, file, config)
  10843. XIA__FcConfigDestroy(tls, config)
  10844. return ret
  10845. }
  10846. var XFcFileScan = XIA__FcFileScan
  10847. // C documentation
  10848. //
  10849. // /*
  10850. // * Strcmp helper that takes pointers to pointers, copied from qsort(3) manpage
  10851. // */
  10852. func _cmpstringp(tls *libc.TLS, p1 uintptr, p2 uintptr) (r int32) {
  10853. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(p1)), *(*uintptr)(unsafe.Pointer(p2)))
  10854. }
  10855. func XFcDirScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  10856. bp := tls.Alloc(32)
  10857. defer tls.Free(32)
  10858. var base, d, e, file_prefix, files, s_dir, sysroot, v1 uintptr
  10859. var i int32
  10860. var ret TFcBool
  10861. _, _, _, _, _, _, _, _, _, _ = base, d, e, file_prefix, files, i, ret, s_dir, sysroot, v1
  10862. s_dir = libc.UintptrFromInt32(0)
  10863. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10864. ret = int32(m_FcTrue)
  10865. if !(force != 0) {
  10866. return m_FcFalse
  10867. }
  10868. if !(set != 0) && !(dirs != 0) {
  10869. return int32(m_FcTrue)
  10870. }
  10871. /* freed below */
  10872. file_prefix = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint32(1)+uint32(m_FC_MAX_FILE_LEN)+uint32(1))
  10873. if !(file_prefix != 0) {
  10874. ret = m_FcFalse
  10875. goto bail
  10876. }
  10877. libc.Xstrcpy(tls, file_prefix, dir)
  10878. libc.Xstrcat(tls, file_prefix, __ccgo_ts+1495)
  10879. base = file_prefix + uintptr(libc.Xstrlen(tls, file_prefix))
  10880. if sysroot != 0 {
  10881. s_dir = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  10882. } else {
  10883. s_dir = libc.Xstrdup(tls, dir)
  10884. }
  10885. if !(s_dir != 0) {
  10886. ret = m_FcFalse
  10887. goto bail
  10888. }
  10889. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10890. libc.Xprintf(tls, __ccgo_ts+2861, libc.VaList(bp+8, s_dir))
  10891. }
  10892. d = libc.Xopendir(tls, s_dir)
  10893. if !(d != 0) {
  10894. /* Don't complain about missing directories */
  10895. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(m_ENOENT) {
  10896. ret = m_FcFalse
  10897. }
  10898. goto bail
  10899. }
  10900. files = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  10901. if !(files != 0) {
  10902. ret = m_FcFalse
  10903. goto bail1
  10904. }
  10905. for {
  10906. v1 = libc.Xreaddir(tls, d)
  10907. e = v1
  10908. if !(v1 != 0) {
  10909. break
  10910. }
  10911. if int32(*(*int8)(unsafe.Pointer(e + 19))) != int32('.') && libc.Xstrlen(tls, e+19) < uint32(m_FC_MAX_FILE_LEN) {
  10912. libc.Xstrcpy(tls, base, e+19)
  10913. if !(XIA__FcStrSetAdd(tls, files, file_prefix) != 0) {
  10914. ret = m_FcFalse
  10915. goto bail2
  10916. }
  10917. }
  10918. }
  10919. /*
  10920. * Sort files to make things prettier
  10921. */
  10922. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint32(4), __ccgo_fp(_cmpstringp))
  10923. /*
  10924. * Scan file files to build font patterns
  10925. */
  10926. i = 0
  10927. for {
  10928. if !(i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  10929. break
  10930. }
  10931. XFcFileScanConfig(tls, set, dirs, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*4)), config)
  10932. goto _2
  10933. _2:
  10934. ;
  10935. i++
  10936. }
  10937. goto bail2
  10938. bail2:
  10939. ;
  10940. XIA__FcStrSetDestroy(tls, files)
  10941. goto bail1
  10942. bail1:
  10943. ;
  10944. libc.Xclosedir(tls, d)
  10945. goto bail
  10946. bail:
  10947. ;
  10948. if s_dir != 0 {
  10949. libc.Xfree(tls, s_dir)
  10950. }
  10951. if file_prefix != 0 {
  10952. libc.Xfree(tls, file_prefix)
  10953. }
  10954. return ret
  10955. }
  10956. func XIA__FcDirScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, dir uintptr, force TFcBool) (r TFcBool) {
  10957. var config uintptr
  10958. var ret TFcBool
  10959. _, _ = config, ret
  10960. if cache != 0 || !(force != 0) {
  10961. return m_FcFalse
  10962. }
  10963. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  10964. if !(config != 0) {
  10965. return m_FcFalse
  10966. }
  10967. ret = XFcDirScanConfig(tls, set, dirs, dir, force, config)
  10968. XIA__FcConfigDestroy(tls, config)
  10969. return ret
  10970. }
  10971. var XFcDirScan = XIA__FcDirScan
  10972. // C documentation
  10973. //
  10974. // /*
  10975. // * Scan the specified directory and construct a cache of its contents
  10976. // */
  10977. func XFcDirCacheScan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  10978. bp := tls.Alloc(176)
  10979. defer tls.Free(176)
  10980. var cache, d, dirs, set, sysroot uintptr
  10981. var fd int32
  10982. var _ /* dir_stat at bp+0 */ Tstat
  10983. _, _, _, _, _, _ = cache, d, dirs, fd, set, sysroot
  10984. cache = libc.UintptrFromInt32(0)
  10985. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10986. fd = -int32(1)
  10987. if sysroot != 0 {
  10988. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  10989. } else {
  10990. d = libc.Xstrdup(tls, dir)
  10991. }
  10992. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  10993. libc.Xprintf(tls, __ccgo_ts+2879, libc.VaList(bp+152, d))
  10994. }
  10995. if XFcStatChecksum(tls, d, bp) < 0 {
  10996. goto bail
  10997. }
  10998. set = XIA__FcFontSetCreate(tls)
  10999. if !(set != 0) {
  11000. goto bail
  11001. }
  11002. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  11003. if !(dirs != 0) {
  11004. goto bail1
  11005. }
  11006. fd = XFcDirCacheLock(tls, dir, config)
  11007. /*
  11008. * Scan the dir
  11009. */
  11010. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  11011. if !(XFcDirScanConfig(tls, set, dirs, dir, int32(m_FcTrue), config) != 0) {
  11012. goto bail2
  11013. }
  11014. /*
  11015. * Build the cache object
  11016. */
  11017. cache = XFcDirCacheBuild(tls, set, dir, bp, dirs)
  11018. if !(cache != 0) {
  11019. goto bail2
  11020. }
  11021. /*
  11022. * Write out the cache file, ignoring any troubles
  11023. */
  11024. XFcDirCacheWrite(tls, cache, config)
  11025. goto bail2
  11026. bail2:
  11027. ;
  11028. XFcDirCacheUnlock(tls, fd)
  11029. XIA__FcStrSetDestroy(tls, dirs)
  11030. goto bail1
  11031. bail1:
  11032. ;
  11033. XIA__FcFontSetDestroy(tls, set)
  11034. goto bail
  11035. bail:
  11036. ;
  11037. XIA__FcStrFree(tls, d)
  11038. return cache
  11039. }
  11040. func XIA__FcDirCacheRescan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  11041. bp := tls.Alloc(176)
  11042. defer tls.Free(176)
  11043. var cache, d, dirs, new1, sysroot uintptr
  11044. var fd int32
  11045. var _ /* dir_stat at bp+0 */ Tstat
  11046. _, _, _, _, _, _ = cache, d, dirs, fd, new1, sysroot
  11047. new1 = libc.UintptrFromInt32(0)
  11048. d = libc.UintptrFromInt32(0)
  11049. fd = -int32(1)
  11050. config = XIA__FcConfigReference(tls, config)
  11051. if !(config != 0) {
  11052. return libc.UintptrFromInt32(0)
  11053. }
  11054. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  11055. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  11056. if !(cache != 0) {
  11057. goto bail
  11058. }
  11059. if sysroot != 0 {
  11060. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  11061. } else {
  11062. d = libc.Xstrdup(tls, dir)
  11063. }
  11064. if XFcStatChecksum(tls, d, bp) < 0 {
  11065. goto bail
  11066. }
  11067. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  11068. if !(dirs != 0) {
  11069. goto bail
  11070. }
  11071. fd = XFcDirCacheLock(tls, dir, config)
  11072. /*
  11073. * Scan the dir
  11074. */
  11075. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  11076. if !(XFcDirScanConfig(tls, libc.UintptrFromInt32(0), dirs, dir, int32(m_FcTrue), config) != 0) {
  11077. goto bail1
  11078. }
  11079. /*
  11080. * Rebuild the cache object
  11081. */
  11082. new1 = XFcDirCacheRebuild(tls, cache, bp, dirs)
  11083. if !(new1 != 0) {
  11084. goto bail1
  11085. }
  11086. XIA__FcDirCacheUnload(tls, cache)
  11087. /*
  11088. * Write out the cache file, ignoring any troubles
  11089. */
  11090. XFcDirCacheWrite(tls, new1, config)
  11091. goto bail1
  11092. bail1:
  11093. ;
  11094. XFcDirCacheUnlock(tls, fd)
  11095. XIA__FcStrSetDestroy(tls, dirs)
  11096. goto bail
  11097. bail:
  11098. ;
  11099. if d != 0 {
  11100. XIA__FcStrFree(tls, d)
  11101. }
  11102. XIA__FcConfigDestroy(tls, config)
  11103. return new1
  11104. }
  11105. var XFcDirCacheRescan = XIA__FcDirCacheRescan
  11106. // C documentation
  11107. //
  11108. // /*
  11109. // * Read (or construct) the cache for a directory
  11110. // */
  11111. func XIA__FcDirCacheRead(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r uintptr) {
  11112. var cache uintptr
  11113. _ = cache
  11114. cache = libc.UintptrFromInt32(0)
  11115. config = XIA__FcConfigReference(tls, config)
  11116. /* Try to use existing cache file */
  11117. if !(force != 0) {
  11118. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  11119. }
  11120. /* Not using existing cache file, construct new cache */
  11121. if !(cache != 0) {
  11122. cache = XFcDirCacheScan(tls, dir, config)
  11123. }
  11124. XIA__FcConfigDestroy(tls, config)
  11125. return cache
  11126. }
  11127. var XFcDirCacheRead = XIA__FcDirCacheRead
  11128. func XIA__FcDirSave(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr) (r TFcBool) {
  11129. return m_FcFalse /* XXX deprecated */
  11130. }
  11131. var XFcDirSave = XIA__FcDirSave
  11132. const m_FCCAT_FORMAT = "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
  11133. const m_FCLIST_FORMAT = "%{?file{%{file}: }}%{-file{%{=unparse}}}"
  11134. const m_FCMATCH_FORMAT = "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
  11135. const m_PKGKIT_FORMAT = "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
  11136. const m_S_IFDIR2 = 0040000
  11137. const m_S_IFLNK2 = 0120000
  11138. const m_S_IFMT4 = 0170000
  11139. const m_S_IFREG2 = 0100000
  11140. /* The language is documented in doc/fcformat.fncs
  11141. * These are the features implemented:
  11142. *
  11143. * simple %{elt}
  11144. * width %width{elt}
  11145. * index %{elt[idx]}
  11146. * name= %{elt=}
  11147. * :name= %{:elt}
  11148. * default %{elt:-word}
  11149. * count %{#elt}
  11150. * subexpr %{{expr}}
  11151. * filter-out %{-elt1,elt2,elt3{expr}}
  11152. * filter-in %{+elt1,elt2,elt3{expr}}
  11153. * conditional %{?elt1,elt2,!elt3{}{}}
  11154. * enumerate %{[]elt1,elt2{expr}}
  11155. * langset langset enumeration using the same syntax
  11156. * builtin %{=blt}
  11157. * convert %{elt|conv1|conv2|conv3}
  11158. *
  11159. * converters:
  11160. * basename FcStrBasename
  11161. * dirname FcStrDirname
  11162. * downcase FcStrDowncase
  11163. * shescape
  11164. * cescape
  11165. * xmlescape
  11166. * delete delete chars
  11167. * escape escape chars
  11168. * translate translate chars
  11169. *
  11170. * builtins:
  11171. * unparse FcNameUnparse
  11172. * fcmatch fc-match default
  11173. * fclist fc-list default
  11174. * fccat fc-cat default
  11175. * pkgkit PackageKit package tag format
  11176. *
  11177. *
  11178. * Some ideas for future syntax extensions:
  11179. *
  11180. * - verbose builtin that is like FcPatternPrint
  11181. * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
  11182. * - allow indexing in +, -, ? filtering?
  11183. * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  11184. */
  11185. func _message(tls *libc.TLS, fmt uintptr, va uintptr) {
  11186. var args Tva_list
  11187. _ = args
  11188. args = va
  11189. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2898, 0)
  11190. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  11191. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2933, 0)
  11192. _ = args
  11193. }
  11194. type TFcFormatContext = struct {
  11195. Fformat_orig uintptr
  11196. Fformat uintptr
  11197. Fformat_len int32
  11198. Fword uintptr
  11199. Fword_allocated TFcBool
  11200. }
  11201. type T_FcFormatContext = TFcFormatContext
  11202. func _FcFormatContextInit(tls *libc.TLS, c uintptr, format uintptr, scratch uintptr, scratch_len int32) (r TFcBool) {
  11203. var v1 uintptr
  11204. _ = v1
  11205. v1 = format
  11206. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = v1
  11207. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig = v1
  11208. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len = libc.Int32FromUint32(libc.Xstrlen(tls, format))
  11209. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len < scratch_len {
  11210. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = scratch
  11211. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = m_FcFalse
  11212. } else {
  11213. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = libc.Xmalloc(tls, libc.Uint32FromInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len+int32(1)))
  11214. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = int32(m_FcTrue)
  11215. }
  11216. return libc.BoolInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fword != libc.UintptrFromInt32(0))
  11217. }
  11218. func _FcFormatContextDone(tls *libc.TLS, c uintptr) {
  11219. if c != 0 && (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated != 0 {
  11220. libc.Xfree(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11221. }
  11222. }
  11223. func _consume_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11224. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  11225. return m_FcFalse
  11226. }
  11227. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11228. return int32(m_FcTrue)
  11229. }
  11230. func _expect_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11231. bp := tls.Alloc(32)
  11232. defer tls.Free(32)
  11233. var res TFcBool
  11234. _ = res
  11235. res = _consume_char(tls, c, term)
  11236. if !(res != 0) {
  11237. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig+uintptr((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len) {
  11238. _message(tls, __ccgo_ts+2936, libc.VaList(bp+8, libc.Int32FromUint8(term)))
  11239. } else {
  11240. _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)))
  11241. }
  11242. }
  11243. return res
  11244. }
  11245. func _FcCharIsPunct(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  11246. if libc.Int32FromUint8(c) < int32('0') {
  11247. return int32(m_FcTrue)
  11248. }
  11249. if libc.Int32FromUint8(c) <= int32('9') {
  11250. return m_FcFalse
  11251. }
  11252. if libc.Int32FromUint8(c) < int32('A') {
  11253. return int32(m_FcTrue)
  11254. }
  11255. if libc.Int32FromUint8(c) <= int32('Z') {
  11256. return m_FcFalse
  11257. }
  11258. if libc.Int32FromUint8(c) < int32('a') {
  11259. return int32(m_FcTrue)
  11260. }
  11261. if libc.Int32FromUint8(c) <= int32('z') {
  11262. return m_FcFalse
  11263. }
  11264. if libc.Int32FromUint8(c) <= int32('~') {
  11265. return int32(m_FcTrue)
  11266. }
  11267. return m_FcFalse
  11268. }
  11269. func _escaped_char(tls *libc.TLS, ch int8) (r int8) {
  11270. switch int32(ch) {
  11271. case int32('a'):
  11272. return int8('\a')
  11273. case int32('b'):
  11274. return int8('\b')
  11275. case int32('f'):
  11276. return int8('\f')
  11277. case int32('n'):
  11278. return int8('\n')
  11279. case int32('r'):
  11280. return int8('\r')
  11281. case int32('t'):
  11282. return int8('\t')
  11283. case int32('v'):
  11284. return int8('\v')
  11285. default:
  11286. return ch
  11287. }
  11288. return r
  11289. }
  11290. func _read_word(tls *libc.TLS, c uintptr) (r TFcBool) {
  11291. bp := tls.Alloc(16)
  11292. defer tls.Free(16)
  11293. var p, v1, v2, v3, v4, v5, v6 uintptr
  11294. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  11295. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11296. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11297. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  11298. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11299. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11300. v1 = p
  11301. p++
  11302. v3 = c + 4
  11303. v2 = *(*uintptr)(unsafe.Pointer(v3))
  11304. *(*uintptr)(unsafe.Pointer(v3))++
  11305. *(*TFcChar8)(unsafe.Pointer(v1)) = libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))))
  11306. }
  11307. continue
  11308. } else {
  11309. if _FcCharIsPunct(tls, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != 0 {
  11310. break
  11311. }
  11312. }
  11313. v4 = p
  11314. p++
  11315. v6 = c + 4
  11316. v5 = *(*uintptr)(unsafe.Pointer(v6))
  11317. *(*uintptr)(unsafe.Pointer(v6))++
  11318. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  11319. }
  11320. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  11321. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  11322. _message(tls, __ccgo_ts+2990, libc.VaList(bp+8, int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int32(1)))
  11323. return m_FcFalse
  11324. }
  11325. return int32(m_FcTrue)
  11326. }
  11327. func _read_chars(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11328. bp := tls.Alloc(16)
  11329. defer tls.Free(16)
  11330. var p, v1, v2, v3, v4, v5, v6 uintptr
  11331. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  11332. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11333. 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) {
  11334. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  11335. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11336. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11337. v1 = p
  11338. p++
  11339. v3 = c + 4
  11340. v2 = *(*uintptr)(unsafe.Pointer(v3))
  11341. *(*uintptr)(unsafe.Pointer(v3))++
  11342. *(*TFcChar8)(unsafe.Pointer(v1)) = libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))))
  11343. }
  11344. continue
  11345. }
  11346. v4 = p
  11347. p++
  11348. v6 = c + 4
  11349. v5 = *(*uintptr)(unsafe.Pointer(v6))
  11350. *(*uintptr)(unsafe.Pointer(v6))++
  11351. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  11352. }
  11353. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  11354. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  11355. _message(tls, __ccgo_ts+3016, libc.VaList(bp+8, int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int32(1)))
  11356. return m_FcFalse
  11357. }
  11358. return int32(m_FcTrue)
  11359. }
  11360. func _interpret_builtin(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11361. bp := tls.Alloc(16)
  11362. defer tls.Free(16)
  11363. var new_str uintptr
  11364. var ret TFcBool
  11365. _, _ = new_str, ret
  11366. if !(_expect_char(tls, c, uint8('=')) != 0) || !(_read_word(tls, c) != 0) {
  11367. return m_FcFalse
  11368. }
  11369. /* try simple builtins first */
  11370. if 0 != 0 {
  11371. } else {
  11372. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3046) {
  11373. new_str = XIA__FcNameUnparse(tls, pat)
  11374. ret = int32(m_FcTrue)
  11375. } else {
  11376. ret = m_FcFalse
  11377. }
  11378. }
  11379. if ret != 0 {
  11380. if new_str != 0 {
  11381. XFcStrBufString(tls, buf, new_str)
  11382. XIA__FcStrFree(tls, new_str)
  11383. return int32(m_FcTrue)
  11384. } else {
  11385. return m_FcFalse
  11386. }
  11387. }
  11388. /* now try our custom formats */
  11389. if 0 != 0 {
  11390. } else {
  11391. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3054) {
  11392. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3060, buf)
  11393. } else {
  11394. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3128) {
  11395. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3136, buf)
  11396. } else {
  11397. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3238) {
  11398. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3245, buf)
  11399. } else {
  11400. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3286) {
  11401. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3293, buf)
  11402. } else {
  11403. ret = m_FcFalse
  11404. }
  11405. }
  11406. }
  11407. }
  11408. }
  11409. if !(ret != 0) {
  11410. _message(tls, __ccgo_ts+3397, libc.VaList(bp+8, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  11411. }
  11412. return ret
  11413. }
  11414. func _interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11415. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _interpret_expr(tls, c, pat, buf, uint8('}')) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  11416. }
  11417. func _maybe_interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11418. var v1 int32
  11419. _ = v1
  11420. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  11421. v1 = _interpret_subexpr(tls, c, pat, buf)
  11422. } else {
  11423. v1 = int32(m_FcTrue)
  11424. }
  11425. return v1
  11426. }
  11427. func _skip_percent(tls *libc.TLS, c uintptr) (r TFcBool) {
  11428. if !(_expect_char(tls, c, uint8('%')) != 0) {
  11429. return m_FcFalse
  11430. }
  11431. /* skip an optional width specifier */
  11432. if libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+4, int32(10)) != 0 {
  11433. /* don't care */
  11434. }
  11435. if !(_expect_char(tls, c, uint8('{')) != 0) {
  11436. return m_FcFalse
  11437. }
  11438. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  11439. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11440. case int32('\\'):
  11441. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  11442. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11443. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11444. }
  11445. continue
  11446. case int32('{'):
  11447. if !(_skip_subexpr(tls, c) != 0) {
  11448. return m_FcFalse
  11449. }
  11450. continue
  11451. }
  11452. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11453. }
  11454. return _expect_char(tls, c, uint8('}'))
  11455. }
  11456. func _skip_expr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11457. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  11458. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11459. case int32('\\'):
  11460. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  11461. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11462. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11463. }
  11464. continue
  11465. case int32('%'):
  11466. if !(_skip_percent(tls, c) != 0) {
  11467. return m_FcFalse
  11468. }
  11469. continue
  11470. }
  11471. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11472. }
  11473. return int32(m_FcTrue)
  11474. }
  11475. func _skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11476. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _skip_expr(tls, c) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  11477. }
  11478. func _maybe_skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11479. var v1 int32
  11480. _ = v1
  11481. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  11482. v1 = _skip_subexpr(tls, c)
  11483. } else {
  11484. v1 = int32(m_FcTrue)
  11485. }
  11486. return v1
  11487. }
  11488. func _interpret_filter_in(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11489. var os, subpat uintptr
  11490. _, _ = os, subpat
  11491. if !(_expect_char(tls, c, uint8('+')) != 0) {
  11492. return m_FcFalse
  11493. }
  11494. os = XIA__FcObjectSetCreate(tls)
  11495. if !(os != 0) {
  11496. return m_FcFalse
  11497. }
  11498. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11499. /* XXX binding */
  11500. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  11501. XIA__FcObjectSetDestroy(tls, os)
  11502. return m_FcFalse
  11503. }
  11504. }
  11505. subpat = XIA__FcPatternFilter(tls, pat, os)
  11506. XIA__FcObjectSetDestroy(tls, os)
  11507. if !(subpat != 0) || !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  11508. return m_FcFalse
  11509. }
  11510. XIA__FcPatternDestroy(tls, subpat)
  11511. return int32(m_FcTrue)
  11512. }
  11513. func _interpret_filter_out(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11514. var subpat uintptr
  11515. _ = subpat
  11516. if !(_expect_char(tls, c, uint8('-')) != 0) {
  11517. return m_FcFalse
  11518. }
  11519. subpat = XIA__FcPatternDuplicate(tls, pat)
  11520. if !(subpat != 0) {
  11521. return m_FcFalse
  11522. }
  11523. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11524. if !(_read_word(tls, c) != 0) {
  11525. XIA__FcPatternDestroy(tls, subpat)
  11526. return m_FcFalse
  11527. }
  11528. XIA__FcPatternDel(tls, subpat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11529. }
  11530. if !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  11531. return m_FcFalse
  11532. }
  11533. XIA__FcPatternDestroy(tls, subpat)
  11534. return int32(m_FcTrue)
  11535. }
  11536. func _interpret_cond(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11537. bp := tls.Alloc(16)
  11538. defer tls.Free(16)
  11539. var negate, pass TFcBool
  11540. var _ /* v at bp+0 */ TFcValue
  11541. _, _ = negate, pass
  11542. if !(_expect_char(tls, c, uint8('?')) != 0) {
  11543. return m_FcFalse
  11544. }
  11545. pass = int32(m_FcTrue)
  11546. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11547. negate = _consume_char(tls, c, uint8('!'))
  11548. if !(_read_word(tls, c) != 0) {
  11549. return m_FcFalse
  11550. }
  11551. pass = libc.BoolInt32(pass != 0 && negate^libc.BoolInt32(int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, 0, bp)) != 0)
  11552. }
  11553. if pass != 0 {
  11554. if !(_interpret_subexpr(tls, c, pat, buf) != 0) || !(_maybe_skip_subexpr(tls, c) != 0) {
  11555. return m_FcFalse
  11556. }
  11557. } else {
  11558. if !(_skip_subexpr(tls, c) != 0) || !(_maybe_interpret_subexpr(tls, c, pat, buf) != 0) {
  11559. return m_FcFalse
  11560. }
  11561. }
  11562. return int32(m_FcTrue)
  11563. }
  11564. func _interpret_count(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11565. bp := tls.Alloc(96)
  11566. defer tls.Free(96)
  11567. var count int32
  11568. var _ /* buf_static at bp+8 */ [64]TFcChar8
  11569. var _ /* iter at bp+0 */ TFcPatternIter
  11570. _ = count
  11571. if !(_expect_char(tls, c, uint8('#')) != 0) {
  11572. return m_FcFalse
  11573. }
  11574. if !(_read_word(tls, c) != 0) {
  11575. return m_FcFalse
  11576. }
  11577. count = 0
  11578. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 {
  11579. count = XIA__FcPatternIterValueCount(tls, pat, bp)
  11580. }
  11581. libc.X__builtin_snprintf(tls, bp+8, uint32(64), __ccgo_ts+2507, libc.VaList(bp+80, count))
  11582. XFcStrBufString(tls, buf, bp+8)
  11583. return int32(m_FcTrue)
  11584. }
  11585. func _interpret_enumerate(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11586. bp := tls.Alloc(16)
  11587. defer tls.Free(16)
  11588. var done, ret TFcBool
  11589. var format_save, lang, lang_strs, os, ss, subpat, v1, v2, v4 uintptr
  11590. var i, idx int32
  11591. var v3 bool
  11592. var _ /* langset at bp+0 */ uintptr
  11593. var _ /* v at bp+4 */ TFcValue
  11594. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = done, format_save, i, idx, lang, lang_strs, os, ret, ss, subpat, v1, v2, v3, v4
  11595. if !(_expect_char(tls, c, uint8('[')) != 0) || !(_expect_char(tls, c, uint8(']')) != 0) {
  11596. return m_FcFalse
  11597. }
  11598. os = XIA__FcObjectSetCreate(tls)
  11599. if !(os != 0) {
  11600. return m_FcFalse
  11601. }
  11602. ret = int32(m_FcTrue)
  11603. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11604. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  11605. XIA__FcObjectSetDestroy(tls, os)
  11606. return m_FcFalse
  11607. }
  11608. }
  11609. /* If we have one element and it's of type FcLangSet, we want
  11610. * to enumerate the languages in it. */
  11611. lang_strs = libc.UintptrFromInt32(0)
  11612. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == int32(1) {
  11613. if int32(_FcResultMatch) == XIA__FcPatternGetLangSet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), 0, bp) {
  11614. v1 = XIA__FcLangSetGetLangs(tls, *(*uintptr)(unsafe.Pointer(bp)))
  11615. ss = v1
  11616. if v3 = !(v1 != 0); !v3 {
  11617. v2 = XIA__FcStrListCreate(tls, ss)
  11618. lang_strs = v2
  11619. }
  11620. if v3 || !(v2 != 0) {
  11621. goto bail0
  11622. }
  11623. }
  11624. }
  11625. subpat = XIA__FcPatternDuplicate(tls, pat)
  11626. if !(subpat != 0) {
  11627. goto bail0
  11628. }
  11629. format_save = (*TFcFormatContext)(unsafe.Pointer(c)).Fformat
  11630. idx = 0
  11631. for cond := true; cond; cond = !(done != 0) {
  11632. done = int32(m_FcTrue)
  11633. if lang_strs != 0 {
  11634. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)))
  11635. v4 = XIA__FcStrListNext(tls, lang_strs)
  11636. lang = v4
  11637. if v4 != 0 {
  11638. /* XXX binding? */
  11639. XIA__FcPatternAddString(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), lang)
  11640. done = m_FcFalse
  11641. }
  11642. } else {
  11643. i = 0
  11644. for {
  11645. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  11646. break
  11647. }
  11648. /* XXX this can be optimized by accessing valuelist linked lists
  11649. * directly and remembering where we were. Most (all) value lists
  11650. * in normal uses are pretty short though (language tags are
  11651. * stored as a LangSet, not separate values.). */
  11652. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)))
  11653. if int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)), idx, bp+4) {
  11654. /* XXX binding */
  11655. XIA__FcPatternAdd(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)), *(*TFcValue)(unsafe.Pointer(bp + 4)), m_FcFalse)
  11656. done = m_FcFalse
  11657. }
  11658. goto _5
  11659. _5:
  11660. ;
  11661. i++
  11662. }
  11663. }
  11664. if !(done != 0) {
  11665. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = format_save
  11666. ret = _interpret_subexpr(tls, c, subpat, buf)
  11667. if !(ret != 0) {
  11668. goto bail
  11669. }
  11670. }
  11671. idx++
  11672. }
  11673. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == format_save {
  11674. _skip_subexpr(tls, c)
  11675. }
  11676. goto bail
  11677. bail:
  11678. ;
  11679. XIA__FcPatternDestroy(tls, subpat)
  11680. goto bail0
  11681. bail0:
  11682. ;
  11683. if lang_strs != 0 {
  11684. XIA__FcStrListDone(tls, lang_strs)
  11685. }
  11686. XIA__FcObjectSetDestroy(tls, os)
  11687. return ret
  11688. }
  11689. func _interpret_simple(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11690. bp := tls.Alloc(32)
  11691. defer tls.Free(32)
  11692. var add_colon, add_elt_name TFcBool
  11693. var else_string, orig, v3 uintptr
  11694. var idx int32
  11695. var l TFcValueListPtr
  11696. var _ /* iter at bp+0 */ TFcPatternIter
  11697. _, _, _, _, _, _, _ = add_colon, add_elt_name, else_string, idx, l, orig, v3
  11698. add_colon = m_FcFalse
  11699. add_elt_name = m_FcFalse
  11700. if _consume_char(tls, c, uint8(':')) != 0 {
  11701. add_colon = int32(m_FcTrue)
  11702. }
  11703. if !(_read_word(tls, c) != 0) {
  11704. return m_FcFalse
  11705. }
  11706. idx = -int32(1)
  11707. if _consume_char(tls, c, uint8('[')) != 0 {
  11708. idx = libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+4, int32(10))
  11709. if idx < 0 {
  11710. _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)))
  11711. return m_FcFalse
  11712. }
  11713. if !(_expect_char(tls, c, uint8(']')) != 0) {
  11714. return m_FcFalse
  11715. }
  11716. }
  11717. if _consume_char(tls, c, uint8('=')) != 0 {
  11718. add_elt_name = int32(m_FcTrue)
  11719. }
  11720. /* modifiers */
  11721. else_string = libc.UintptrFromInt32(0)
  11722. if _consume_char(tls, c, uint8(':')) != 0 {
  11723. /* divert the c->word for now */
  11724. orig = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11725. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = (*TFcFormatContext)(unsafe.Pointer(c)).Fword + uintptr(libc.Xstrlen(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)) + uintptr(1)
  11726. /* for now we just support 'default value' */
  11727. if !(_expect_char(tls, c, uint8('-')) != 0) || !(_read_chars(tls, c, uint8('|')) != 0) {
  11728. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  11729. return m_FcFalse
  11730. }
  11731. else_string = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11732. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  11733. }
  11734. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 || else_string != 0 {
  11735. l = libc.UintptrFromInt32(0)
  11736. if add_colon != 0 {
  11737. XFcStrBufChar(tls, buf, uint8(':'))
  11738. }
  11739. if add_elt_name != 0 {
  11740. XFcStrBufString(tls, buf, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11741. XFcStrBufChar(tls, buf, uint8('='))
  11742. }
  11743. l = XFcPatternIterGetValues(tls, pat, bp)
  11744. if !(idx != -int32(1)) {
  11745. goto _1
  11746. }
  11747. for l != 0 && idx > 0 {
  11748. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  11749. v3 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  11750. } else {
  11751. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  11752. }
  11753. l = v3
  11754. idx--
  11755. }
  11756. if l != 0 && idx == 0 {
  11757. if !(XFcNameUnparseValue(tls, buf, l+4, libc.UintptrFromInt32(0)) != 0) {
  11758. return m_FcFalse
  11759. }
  11760. } else {
  11761. goto notfound
  11762. }
  11763. goto _2
  11764. _1:
  11765. ;
  11766. if !(l != 0) {
  11767. goto _4
  11768. }
  11769. XFcNameUnparseValueList(tls, buf, l, libc.UintptrFromInt32(0))
  11770. goto _5
  11771. _4:
  11772. ;
  11773. goto notfound
  11774. notfound:
  11775. ;
  11776. if else_string != 0 {
  11777. XFcStrBufString(tls, buf, else_string)
  11778. }
  11779. _5:
  11780. ;
  11781. _2:
  11782. }
  11783. return int32(m_FcTrue)
  11784. }
  11785. func _cescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11786. var v1 uintptr
  11787. _ = v1
  11788. /* XXX escape \n etc? */
  11789. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11790. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  11791. case int32('\\'):
  11792. fallthrough
  11793. case int32('"'):
  11794. XFcStrBufChar(tls, buf, uint8('\\'))
  11795. break
  11796. }
  11797. v1 = str
  11798. str++
  11799. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v1)))
  11800. }
  11801. return int32(m_FcTrue)
  11802. }
  11803. func _shescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11804. XFcStrBufChar(tls, buf, uint8('\''))
  11805. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11806. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) == int32('\'') {
  11807. XFcStrBufString(tls, buf, __ccgo_ts+3453)
  11808. } else {
  11809. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11810. }
  11811. str++
  11812. }
  11813. XFcStrBufChar(tls, buf, uint8('\''))
  11814. return int32(m_FcTrue)
  11815. }
  11816. func _xmlescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11817. /* XXX escape \n etc? */
  11818. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11819. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  11820. case int32('&'):
  11821. XFcStrBufString(tls, buf, __ccgo_ts+3458)
  11822. case int32('<'):
  11823. XFcStrBufString(tls, buf, __ccgo_ts+3464)
  11824. case int32('>'):
  11825. XFcStrBufString(tls, buf, __ccgo_ts+3469)
  11826. default:
  11827. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11828. break
  11829. }
  11830. str++
  11831. }
  11832. return int32(m_FcTrue)
  11833. }
  11834. func _delete_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11835. var p uintptr
  11836. _ = p
  11837. /* XXX not UTF-8 aware */
  11838. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11839. return m_FcFalse
  11840. }
  11841. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11842. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11843. if p != 0 {
  11844. XFcStrBufData(tls, buf, str, int32(p)-int32(str))
  11845. str = p + uintptr(1)
  11846. } else {
  11847. XFcStrBufString(tls, buf, str)
  11848. break
  11849. }
  11850. }
  11851. return int32(m_FcTrue)
  11852. }
  11853. func _escape_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11854. var p uintptr
  11855. _ = p
  11856. /* XXX not UTF-8 aware */
  11857. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11858. return m_FcFalse
  11859. }
  11860. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11861. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11862. if p != 0 {
  11863. XFcStrBufData(tls, buf, str, int32(p)-int32(str))
  11864. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fword)))
  11865. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(p)))
  11866. str = p + uintptr(1)
  11867. } else {
  11868. XFcStrBufString(tls, buf, str)
  11869. break
  11870. }
  11871. }
  11872. return int32(m_FcTrue)
  11873. }
  11874. func _translate_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11875. var from, p, to uintptr
  11876. var from_len, i, to_len, v1 int32
  11877. var repeat int8
  11878. _, _, _, _, _, _, _, _ = from, from_len, i, p, repeat, to, to_len, v1
  11879. /* XXX not UTF-8 aware */
  11880. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(',')) != 0) || !(_expect_char(tls, c, uint8(',')) != 0) {
  11881. return m_FcFalse
  11882. }
  11883. from = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11884. from_len = libc.Int32FromUint32(libc.Xstrlen(tls, from))
  11885. to = from + uintptr(from_len) + uintptr(1)
  11886. /* hack: we temporarily divert c->word */
  11887. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = to
  11888. if !(_read_chars(tls, c, uint8(')')) != 0) {
  11889. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11890. return m_FcFalse
  11891. }
  11892. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11893. to_len = libc.Int32FromUint32(libc.Xstrlen(tls, to))
  11894. repeat = *(*int8)(unsafe.Pointer(to + uintptr(to_len-int32(1))))
  11895. if !(_expect_char(tls, c, uint8(')')) != 0) {
  11896. return m_FcFalse
  11897. }
  11898. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11899. p = libc.Xstrpbrk(tls, str, from)
  11900. if p != 0 {
  11901. XFcStrBufData(tls, buf, str, int32(p)-int32(str))
  11902. i = int32(libc.Xstrchr(tls, from, libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(p))))) - int32(from)
  11903. if i < to_len {
  11904. v1 = int32(*(*int8)(unsafe.Pointer(to + uintptr(i))))
  11905. } else {
  11906. v1 = int32(repeat)
  11907. }
  11908. XFcStrBufChar(tls, buf, libc.Uint8FromInt32(v1))
  11909. str = p + uintptr(1)
  11910. } else {
  11911. XFcStrBufString(tls, buf, str)
  11912. break
  11913. }
  11914. }
  11915. return int32(m_FcTrue)
  11916. }
  11917. func _interpret_convert(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  11918. bp := tls.Alloc(8304)
  11919. defer tls.Free(8304)
  11920. var new_str, str uintptr
  11921. var ret TFcBool
  11922. var _ /* buf_static at bp+84 */ [8192]TFcChar8
  11923. var _ /* new_buf at bp+0 */ TFcStrBuf
  11924. _, _, _ = new_str, ret, str
  11925. if !(_expect_char(tls, c, uint8('|')) != 0) || !(_read_word(tls, c) != 0) {
  11926. return m_FcFalse
  11927. }
  11928. /* prepare the buffer */
  11929. XFcStrBufChar(tls, buf, uint8('\000'))
  11930. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11931. return m_FcFalse
  11932. }
  11933. str = (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(start)
  11934. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = start
  11935. /* try simple converters first */
  11936. if 0 != 0 {
  11937. } else {
  11938. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3474) {
  11939. new_str = XIA__FcStrDowncase(tls, str)
  11940. ret = int32(m_FcTrue)
  11941. } else {
  11942. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3483) {
  11943. new_str = XIA__FcStrBasename(tls, str)
  11944. ret = int32(m_FcTrue)
  11945. } else {
  11946. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3492) {
  11947. new_str = XIA__FcStrDirname(tls, str)
  11948. ret = int32(m_FcTrue)
  11949. } else {
  11950. ret = m_FcFalse
  11951. }
  11952. }
  11953. }
  11954. }
  11955. if ret != 0 {
  11956. if new_str != 0 {
  11957. XFcStrBufString(tls, buf, new_str)
  11958. XIA__FcStrFree(tls, new_str)
  11959. return int32(m_FcTrue)
  11960. } else {
  11961. return m_FcFalse
  11962. }
  11963. }
  11964. XFcStrBufInit(tls, bp, bp+84, int32(8192))
  11965. /* now try our custom converters */
  11966. if 0 != 0 {
  11967. } else {
  11968. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3500) {
  11969. ret = _cescape(tls, c, str, bp)
  11970. } else {
  11971. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3508) {
  11972. ret = _shescape(tls, c, str, bp)
  11973. } else {
  11974. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3517) {
  11975. ret = _xmlescape(tls, c, str, bp)
  11976. } else {
  11977. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3527) {
  11978. ret = _delete_chars(tls, c, str, bp)
  11979. } else {
  11980. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3534) {
  11981. ret = _escape_chars(tls, c, str, bp)
  11982. } else {
  11983. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3541) {
  11984. ret = _translate_chars(tls, c, str, bp)
  11985. } else {
  11986. ret = m_FcFalse
  11987. }
  11988. }
  11989. }
  11990. }
  11991. }
  11992. }
  11993. }
  11994. if ret != 0 {
  11995. XFcStrBufChar(tls, bp, uint8('\000'))
  11996. XFcStrBufString(tls, buf, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf)
  11997. } else {
  11998. _message(tls, __ccgo_ts+3551, libc.VaList(bp+8288, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  11999. }
  12000. XFcStrBufDestroy(tls, bp)
  12001. return ret
  12002. }
  12003. func _maybe_interpret_converts(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  12004. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('|') {
  12005. if !(_interpret_convert(tls, c, buf, start) != 0) {
  12006. return m_FcFalse
  12007. }
  12008. }
  12009. return int32(m_FcTrue)
  12010. }
  12011. func _align_to_width(tls *libc.TLS, buf uintptr, start int32, width int32) (r TFcBool) {
  12012. var len1, old_len, v1, v2 int32
  12013. _, _, _, _ = len1, old_len, v1, v2
  12014. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  12015. return m_FcFalse
  12016. }
  12017. len1 = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 - start
  12018. if len1 < -width {
  12019. /* left align */
  12020. for {
  12021. v1 = len1
  12022. len1++
  12023. if !(v1 < -width) {
  12024. break
  12025. }
  12026. XFcStrBufChar(tls, buf, uint8(' '))
  12027. }
  12028. } else {
  12029. if len1 < width {
  12030. old_len = len1
  12031. /* right align */
  12032. for {
  12033. v2 = len1
  12034. len1++
  12035. if !(v2 < width) {
  12036. break
  12037. }
  12038. XFcStrBufChar(tls, buf, uint8(' '))
  12039. }
  12040. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  12041. return m_FcFalse
  12042. }
  12043. len1 = old_len
  12044. 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))
  12045. libc.Xmemset(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), int32(' '), libc.Uint32FromInt32(width-len1))
  12046. }
  12047. }
  12048. return libc.BoolInt32(!((*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0))
  12049. }
  12050. func _interpret_percent(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  12051. var ret TFcBool
  12052. var start, width int32
  12053. _, _, _ = ret, start, width
  12054. if !(_expect_char(tls, c, uint8('%')) != 0) {
  12055. return m_FcFalse
  12056. }
  12057. if _consume_char(tls, c, uint8('%')) != 0 { /* "%%" */
  12058. XFcStrBufChar(tls, buf, uint8('%'))
  12059. return int32(m_FcTrue)
  12060. }
  12061. /* parse an optional width specifier */
  12062. width = libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+4, int32(10))
  12063. if !(_expect_char(tls, c, uint8('{')) != 0) {
  12064. return m_FcFalse
  12065. }
  12066. start = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1
  12067. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  12068. case int32('='):
  12069. ret = _interpret_builtin(tls, c, pat, buf)
  12070. case int32('{'):
  12071. ret = _interpret_subexpr(tls, c, pat, buf)
  12072. case int32('+'):
  12073. ret = _interpret_filter_in(tls, c, pat, buf)
  12074. case int32('-'):
  12075. ret = _interpret_filter_out(tls, c, pat, buf)
  12076. case int32('?'):
  12077. ret = _interpret_cond(tls, c, pat, buf)
  12078. case int32('#'):
  12079. ret = _interpret_count(tls, c, pat, buf)
  12080. case int32('['):
  12081. ret = _interpret_enumerate(tls, c, pat, buf)
  12082. default:
  12083. ret = _interpret_simple(tls, c, pat, buf)
  12084. break
  12085. }
  12086. 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)
  12087. }
  12088. func _interpret_expr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr, term TFcChar8) (r TFcBool) {
  12089. var v1, v2, v3, v4 uintptr
  12090. _, _, _, _ = v1, v2, v3, v4
  12091. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  12092. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  12093. case int32('\\'):
  12094. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  12095. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  12096. v2 = c + 4
  12097. v1 = *(*uintptr)(unsafe.Pointer(v2))
  12098. *(*uintptr)(unsafe.Pointer(v2))++
  12099. XFcStrBufChar(tls, buf, libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))))))
  12100. }
  12101. continue
  12102. case int32('%'):
  12103. if !(_interpret_percent(tls, c, pat, buf) != 0) {
  12104. return m_FcFalse
  12105. }
  12106. continue
  12107. }
  12108. v4 = c + 4
  12109. v3 = *(*uintptr)(unsafe.Pointer(v4))
  12110. *(*uintptr)(unsafe.Pointer(v4))++
  12111. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v3)))
  12112. }
  12113. return int32(m_FcTrue)
  12114. }
  12115. func _FcPatternFormatToBuf(tls *libc.TLS, pat uintptr, format uintptr, buf uintptr) (r TFcBool) {
  12116. bp := tls.Alloc(1056)
  12117. defer tls.Free(1056)
  12118. var ret TFcBool
  12119. var _ /* c at bp+0 */ TFcFormatContext
  12120. var _ /* word_static at bp+20 */ [1024]TFcChar8
  12121. _ = ret
  12122. if !(_FcFormatContextInit(tls, bp, format, bp+20, int32(1024)) != 0) {
  12123. return m_FcFalse
  12124. }
  12125. ret = _interpret_expr(tls, bp, pat, buf, uint8('\000'))
  12126. _FcFormatContextDone(tls, bp)
  12127. return ret
  12128. }
  12129. func XIA__FcPatternFormat(tls *libc.TLS, pat uintptr, format uintptr) (r uintptr) {
  12130. bp := tls.Alloc(7264)
  12131. defer tls.Free(7264)
  12132. var alloced, v1 uintptr
  12133. var ret TFcBool
  12134. var _ /* buf at bp+0 */ TFcStrBuf
  12135. var _ /* buf_static at bp+84 */ [7168]TFcChar8
  12136. _, _, _ = alloced, ret, v1
  12137. alloced = libc.UintptrFromInt32(0)
  12138. if !(pat != 0) {
  12139. v1 = XIA__FcPatternCreate(tls)
  12140. pat = v1
  12141. alloced = v1
  12142. }
  12143. XFcStrBufInit(tls, bp, bp+84, int32(7168))
  12144. ret = _FcPatternFormatToBuf(tls, pat, format, bp)
  12145. if alloced != 0 {
  12146. XIA__FcPatternDestroy(tls, alloced)
  12147. }
  12148. if ret != 0 {
  12149. return XFcStrBufDone(tls, bp)
  12150. } else {
  12151. XFcStrBufDestroy(tls, bp)
  12152. return libc.UintptrFromInt32(0)
  12153. }
  12154. return r
  12155. }
  12156. var XFcPatternFormat = XIA__FcPatternFormat
  12157. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 = 500
  12158. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 = 1000
  12159. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 = 1667
  12160. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 = 2333
  12161. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 = 400
  12162. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 = 275
  12163. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 = 275
  12164. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 = 0
  12165. const m_FC_ENCODING_MAC_ROMAN = "MACINTOSH"
  12166. const m_FREETYPE_MAJOR = 2
  12167. const m_FREETYPE_MINOR = 12
  12168. const m_FREETYPE_PATCH = 1
  12169. const m_FT_ADVANCE_FLAG_FAST_ONLY = 0x20000000
  12170. const m_FT_AUTOHINTER_H = "FT_DRIVER_H"
  12171. const m_FT_CACHE_CHARMAP_H = "FT_CACHE_H"
  12172. const m_FT_CACHE_IMAGE_H = "FT_CACHE_H"
  12173. const m_FT_CACHE_INTERNAL_CACHE_H = "FT_CACHE_H"
  12174. const m_FT_CACHE_INTERNAL_GLYPH_H = "FT_CACHE_H"
  12175. const m_FT_CACHE_INTERNAL_IMAGE_H = "FT_CACHE_H"
  12176. const m_FT_CACHE_INTERNAL_MANAGER_H = "FT_CACHE_H"
  12177. const m_FT_CACHE_INTERNAL_MRU_H = "FT_CACHE_H"
  12178. const m_FT_CACHE_INTERNAL_SBITS_H = "FT_CACHE_H"
  12179. const m_FT_CACHE_MANAGER_H = "FT_CACHE_H"
  12180. const m_FT_CACHE_SMALL_BITMAPS_H = "FT_CACHE_H"
  12181. const m_FT_CFF_DRIVER_H = "FT_DRIVER_H"
  12182. const m_FT_CHAR_BIT = "CHAR_BIT"
  12183. const m_FT_CURVE_TAG_CONIC = 0x00
  12184. const m_FT_CURVE_TAG_CUBIC = 0x02
  12185. const m_FT_CURVE_TAG_HAS_SCANMODE = 0x04
  12186. const m_FT_CURVE_TAG_ON = 0x01
  12187. const m_FT_CURVE_TAG_TOUCH_X = 0x08
  12188. const m_FT_CURVE_TAG_TOUCH_Y = 0x10
  12189. const m_FT_Curve_Tag_Conic = "FT_CURVE_TAG_CONIC"
  12190. const m_FT_Curve_Tag_Cubic = "FT_CURVE_TAG_CUBIC"
  12191. const m_FT_Curve_Tag_On = "FT_CURVE_TAG_ON"
  12192. const m_FT_Curve_Tag_Touch_X = "FT_CURVE_TAG_TOUCH_X"
  12193. const m_FT_Curve_Tag_Touch_Y = "FT_CURVE_TAG_TOUCH_Y"
  12194. const m_FT_DEBUG_HOOK_TRUETYPE = 0
  12195. const m_FT_FILE = "FILE"
  12196. const m_FT_FSTYPE_BITMAP_EMBEDDING_ONLY = 0x0200
  12197. const m_FT_FSTYPE_EDITABLE_EMBEDDING = 0x0008
  12198. const m_FT_FSTYPE_INSTALLABLE_EMBEDDING = 0x0000
  12199. const m_FT_FSTYPE_NO_SUBSETTING = 0x0100
  12200. const m_FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING = 0x0004
  12201. const m_FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING = 0x0002
  12202. const m_FT_INT_MAX = "INT_MAX"
  12203. const m_FT_INT_MIN = "INT_MIN"
  12204. const m_FT_LLONG_MAX = "LLONG_MAX"
  12205. const m_FT_LLONG_MIN = "LLONG_MIN"
  12206. const m_FT_LOAD_DEFAULT = 0x0
  12207. const m_FT_LONG_MAX = "LONG_MAX"
  12208. const m_FT_LONG_MIN = "LONG_MIN"
  12209. const m_FT_MAX_MODULES = 32
  12210. const m_FT_MODULE_DRIVER_HAS_HINTER = 0x400
  12211. const m_FT_MODULE_DRIVER_HINTS_LIGHTLY = 0x800
  12212. const m_FT_MODULE_DRIVER_NO_OUTLINES = 0x200
  12213. const m_FT_MODULE_DRIVER_SCALABLE = 0x100
  12214. const m_FT_MODULE_FONT_DRIVER = 1
  12215. const m_FT_MODULE_HINTER = 4
  12216. const m_FT_MODULE_RENDERER = 2
  12217. const m_FT_MODULE_STYLER = 8
  12218. const m_FT_OPEN_DRIVER = 0x8
  12219. const m_FT_OPEN_MEMORY = 0x1
  12220. const m_FT_OPEN_PARAMS = 0x10
  12221. const m_FT_OPEN_PATHNAME = 0x4
  12222. const m_FT_OPEN_STREAM = 0x2
  12223. const m_FT_OUTLINE_CONTOURS_MAX = "SHRT_MAX"
  12224. const m_FT_OUTLINE_EVEN_ODD_FILL = 0x2
  12225. const m_FT_OUTLINE_HIGH_PRECISION = 0x100
  12226. const m_FT_OUTLINE_IGNORE_DROPOUTS = 0x8
  12227. const m_FT_OUTLINE_INCLUDE_STUBS = 0x20
  12228. const m_FT_OUTLINE_NONE = 0x0
  12229. const m_FT_OUTLINE_OVERLAP = 0x40
  12230. const m_FT_OUTLINE_OWNER = 0x1
  12231. const m_FT_OUTLINE_POINTS_MAX = "SHRT_MAX"
  12232. const m_FT_OUTLINE_REVERSE_FILL = 0x4
  12233. const m_FT_OUTLINE_SINGLE_PASS = 0x200
  12234. const m_FT_OUTLINE_SMART_DROPOUTS = 0x10
  12235. const m_FT_Outline_ConicTo_Func = "FT_Outline_ConicToFunc"
  12236. const m_FT_Outline_CubicTo_Func = "FT_Outline_CubicToFunc"
  12237. const m_FT_Outline_LineTo_Func = "FT_Outline_LineToFunc"
  12238. const m_FT_Outline_MoveTo_Func = "FT_Outline_MoveToFunc"
  12239. const m_FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY"
  12240. const m_FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY"
  12241. const m_FT_PCF_DRIVER_H = "FT_DRIVER_H"
  12242. const m_FT_RASTER_FLAG_AA = 0x1
  12243. const m_FT_RASTER_FLAG_CLIP = 0x4
  12244. const m_FT_RASTER_FLAG_DEFAULT = 0x0
  12245. const m_FT_RASTER_FLAG_DIRECT = 0x2
  12246. const m_FT_RASTER_FLAG_SDF = 0x8
  12247. const m_FT_RENDER_POOL_SIZE = 16384
  12248. const m_FT_Raster_Done_Func = "FT_Raster_DoneFunc"
  12249. const m_FT_Raster_New_Func = "FT_Raster_NewFunc"
  12250. const m_FT_Raster_Render_Func = "FT_Raster_RenderFunc"
  12251. const m_FT_Raster_Reset_Func = "FT_Raster_ResetFunc"
  12252. const m_FT_Raster_Set_Mode_Func = "FT_Raster_SetModeFunc"
  12253. const m_FT_Raster_Span_Func = "FT_SpanFunc"
  12254. const m_FT_SUBGLYPH_FLAG_2X2 = 0x80
  12255. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS = 1
  12256. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES = 2
  12257. const m_FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID = 4
  12258. const m_FT_SUBGLYPH_FLAG_SCALE = 8
  12259. const m_FT_SUBGLYPH_FLAG_USE_MY_METRICS = 0x200
  12260. const m_FT_SUBGLYPH_FLAG_XY_SCALE = 0x40
  12261. const m_FT_TRUETYPE_DRIVER_H = "FT_DRIVER_H"
  12262. const m_FT_UINT_MAX = "UINT_MAX"
  12263. const m_FT_ULLONG_MAX = "ULLONG_MAX"
  12264. const m_FT_ULONG_MAX = "ULONG_MAX"
  12265. const m_FT_USHORT_MAX = "USHRT_MAX"
  12266. const m_FT_VAR_AXIS_FLAG_HIDDEN = 1
  12267. const m_FT_XFREE86_H = "FT_FONT_FORMATS_H"
  12268. const m_FcPatternAddFTFace = "IA__FcPatternAddFTFace"
  12269. const m_FcPatternGetFTFace = "IA__FcPatternGetFTFace"
  12270. const m_OTLAYOUT_HEAD = "otlayout:"
  12271. const m_OTLAYOUT_HEAD_LEN = 9
  12272. const m_OTLAYOUT_ID_LEN = 4
  12273. const m_T1_MAX_CHARSTRINGS_OPERANDS = 256
  12274. const m_T1_MAX_DICT_DEPTH = 5
  12275. const m_T1_MAX_MM_AXIS = 4
  12276. const m_T1_MAX_MM_DESIGNS = 16
  12277. const m_T1_MAX_MM_MAP_POINTS = 20
  12278. const m_T1_MAX_SUBRS_CALLS = 16
  12279. const m_TT_ADOBE_ID_CUSTOM = 2
  12280. const m_TT_ADOBE_ID_EXPERT = 1
  12281. const m_TT_ADOBE_ID_LATIN_1 = 3
  12282. const m_TT_ADOBE_ID_STANDARD = 0
  12283. const m_TT_APPLE_ID_DEFAULT = 0
  12284. const m_TT_APPLE_ID_FULL_UNICODE = 6
  12285. const m_TT_APPLE_ID_ISO_10646 = 2
  12286. const m_TT_APPLE_ID_UNICODE_1_1 = 1
  12287. const m_TT_APPLE_ID_UNICODE_2_0 = 3
  12288. const m_TT_APPLE_ID_UNICODE_32 = 4
  12289. const m_TT_APPLE_ID_VARIANT_SELECTOR = 5
  12290. const m_TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES = 1000000
  12291. const m_TT_CONFIG_OPTION_SUBPIXEL_HINTING = 2
  12292. const m_TT_ENCODING_DONT_CARE = 65535
  12293. const m_TT_ISO_ID_10646 = 1
  12294. const m_TT_ISO_ID_7BIT_ASCII = 0
  12295. const m_TT_ISO_ID_8859_1 = 2
  12296. const m_TT_LANGUAGE_DONT_CARE = 65535
  12297. const m_TT_MAC_ID_ARABIC = 4
  12298. const m_TT_MAC_ID_ARMENIAN = 24
  12299. const m_TT_MAC_ID_BENGALI = 13
  12300. const m_TT_MAC_ID_BURMESE = 19
  12301. const m_TT_MAC_ID_DEVANAGARI = 9
  12302. const m_TT_MAC_ID_GEEZ = 28
  12303. const m_TT_MAC_ID_GEORGIAN = 23
  12304. const m_TT_MAC_ID_GREEK = 6
  12305. const m_TT_MAC_ID_GUJARATI = 11
  12306. const m_TT_MAC_ID_GURMUKHI = 10
  12307. const m_TT_MAC_ID_HEBREW = 5
  12308. const m_TT_MAC_ID_JAPANESE = 1
  12309. const m_TT_MAC_ID_KANNADA = 16
  12310. const m_TT_MAC_ID_KHMER = 20
  12311. const m_TT_MAC_ID_KOREAN = 3
  12312. const m_TT_MAC_ID_LAOTIAN = 22
  12313. const m_TT_MAC_ID_MALAYALAM = 17
  12314. const m_TT_MAC_ID_MALDIVIAN = 25
  12315. const m_TT_MAC_ID_MONGOLIAN = 27
  12316. const m_TT_MAC_ID_ORIYA = 12
  12317. const m_TT_MAC_ID_ROMAN = 0
  12318. const m_TT_MAC_ID_RSYMBOL = 8
  12319. const m_TT_MAC_ID_RUSSIAN = 7
  12320. const m_TT_MAC_ID_SIMPLIFIED_CHINESE = 25
  12321. const m_TT_MAC_ID_SINDHI = 31
  12322. const m_TT_MAC_ID_SINHALESE = 18
  12323. const m_TT_MAC_ID_SLAVIC = 29
  12324. const m_TT_MAC_ID_TAMIL = 14
  12325. const m_TT_MAC_ID_TELUGU = 15
  12326. const m_TT_MAC_ID_THAI = 21
  12327. const m_TT_MAC_ID_TIBETAN = 26
  12328. const m_TT_MAC_ID_TRADITIONAL_CHINESE = 2
  12329. const m_TT_MAC_ID_UNINTERP = 32
  12330. const m_TT_MAC_ID_VIETNAMESE = 30
  12331. const m_TT_MAC_LANGID_AFRIKAANS = 141
  12332. const m_TT_MAC_LANGID_ALBANIAN = 36
  12333. const m_TT_MAC_LANGID_AMHARIC = 85
  12334. const m_TT_MAC_LANGID_ARABIC = 12
  12335. const m_TT_MAC_LANGID_ARMENIAN = 51
  12336. const m_TT_MAC_LANGID_ASSAMESE = 68
  12337. const m_TT_MAC_LANGID_AYMARA = 134
  12338. const m_TT_MAC_LANGID_AZERBAIJANI = 49
  12339. const m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50
  12340. const m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49
  12341. const m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150
  12342. const m_TT_MAC_LANGID_BASQUE = 129
  12343. const m_TT_MAC_LANGID_BENGALI = 67
  12344. const m_TT_MAC_LANGID_BRETON = 142
  12345. const m_TT_MAC_LANGID_BULGARIAN = 44
  12346. const m_TT_MAC_LANGID_BURMESE = 77
  12347. const m_TT_MAC_LANGID_BYELORUSSIAN = 46
  12348. const m_TT_MAC_LANGID_CATALAN = 130
  12349. const m_TT_MAC_LANGID_CHEWA = 92
  12350. const m_TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33
  12351. const m_TT_MAC_LANGID_CHINESE_TRADITIONAL = 19
  12352. const m_TT_MAC_LANGID_CROATIAN = 18
  12353. const m_TT_MAC_LANGID_CZECH = 38
  12354. const m_TT_MAC_LANGID_DANISH = 7
  12355. const m_TT_MAC_LANGID_DUTCH = 4
  12356. const m_TT_MAC_LANGID_DZONGKHA = 137
  12357. const m_TT_MAC_LANGID_ENGLISH = 0
  12358. const m_TT_MAC_LANGID_ESPERANTO = 94
  12359. const m_TT_MAC_LANGID_ESTONIAN = 27
  12360. const m_TT_MAC_LANGID_FAEROESE = 30
  12361. const m_TT_MAC_LANGID_FARSI = 31
  12362. const m_TT_MAC_LANGID_FINNISH = 13
  12363. const m_TT_MAC_LANGID_FLEMISH = 34
  12364. const m_TT_MAC_LANGID_FRENCH = 1
  12365. const m_TT_MAC_LANGID_GALICIAN = 140
  12366. const m_TT_MAC_LANGID_GALLA = 87
  12367. const m_TT_MAC_LANGID_GEORGIAN = 52
  12368. const m_TT_MAC_LANGID_GERMAN = 2
  12369. const m_TT_MAC_LANGID_GREEK = 14
  12370. const m_TT_MAC_LANGID_GREEK_POLYTONIC = 148
  12371. const m_TT_MAC_LANGID_GREELANDIC = 149
  12372. const m_TT_MAC_LANGID_GUARANI = 133
  12373. const m_TT_MAC_LANGID_GUJARATI = 69
  12374. const m_TT_MAC_LANGID_HEBREW = 10
  12375. const m_TT_MAC_LANGID_HINDI = 21
  12376. const m_TT_MAC_LANGID_HUNGARIAN = 26
  12377. const m_TT_MAC_LANGID_ICELANDIC = 15
  12378. const m_TT_MAC_LANGID_INDONESIAN = 81
  12379. const m_TT_MAC_LANGID_INUKTITUT = 143
  12380. const m_TT_MAC_LANGID_IRISH = 35
  12381. const m_TT_MAC_LANGID_IRISH_GAELIC = 146
  12382. const m_TT_MAC_LANGID_ITALIAN = 3
  12383. const m_TT_MAC_LANGID_JAPANESE = 11
  12384. const m_TT_MAC_LANGID_JAVANESE = 138
  12385. const m_TT_MAC_LANGID_KANNADA = 73
  12386. const m_TT_MAC_LANGID_KASHMIRI = 61
  12387. const m_TT_MAC_LANGID_KAZAKH = 48
  12388. const m_TT_MAC_LANGID_KHMER = 78
  12389. const m_TT_MAC_LANGID_KIRGHIZ = 54
  12390. const m_TT_MAC_LANGID_KOREAN = 23
  12391. const m_TT_MAC_LANGID_KURDISH = 60
  12392. const m_TT_MAC_LANGID_LAO = 79
  12393. const m_TT_MAC_LANGID_LATIN = 131
  12394. const m_TT_MAC_LANGID_LETTISH = 28
  12395. const m_TT_MAC_LANGID_LITHUANIAN = 24
  12396. const m_TT_MAC_LANGID_MACEDONIAN = 43
  12397. const m_TT_MAC_LANGID_MALAGASY = 93
  12398. const m_TT_MAC_LANGID_MALAYALAM = 72
  12399. const m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84
  12400. const m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83
  12401. const m_TT_MAC_LANGID_MALTESE = 16
  12402. const m_TT_MAC_LANGID_MANX_GAELIC = 145
  12403. const m_TT_MAC_LANGID_MARATHI = 66
  12404. const m_TT_MAC_LANGID_MOLDAVIAN = 53
  12405. const m_TT_MAC_LANGID_MONGOLIAN = 57
  12406. const m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58
  12407. const m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57
  12408. const m_TT_MAC_LANGID_NEPALI = 64
  12409. const m_TT_MAC_LANGID_NORWEGIAN = 9
  12410. const m_TT_MAC_LANGID_ORIYA = 71
  12411. const m_TT_MAC_LANGID_PASHTO = 59
  12412. const m_TT_MAC_LANGID_POLISH = 25
  12413. const m_TT_MAC_LANGID_PORTUGUESE = 8
  12414. const m_TT_MAC_LANGID_PUNJABI = 70
  12415. const m_TT_MAC_LANGID_QUECHUA = 132
  12416. const m_TT_MAC_LANGID_ROMANIAN = 37
  12417. const m_TT_MAC_LANGID_RUANDA = 90
  12418. const m_TT_MAC_LANGID_RUNDI = 91
  12419. const m_TT_MAC_LANGID_RUSSIAN = 32
  12420. const m_TT_MAC_LANGID_SAAMISK = 29
  12421. const m_TT_MAC_LANGID_SANSKRIT = 65
  12422. const m_TT_MAC_LANGID_SCOTTISH_GAELIC = 144
  12423. const m_TT_MAC_LANGID_SERBIAN = 42
  12424. const m_TT_MAC_LANGID_SINDHI = 62
  12425. const m_TT_MAC_LANGID_SINHALESE = 76
  12426. const m_TT_MAC_LANGID_SLOVAK = 39
  12427. const m_TT_MAC_LANGID_SLOVENIAN = 40
  12428. const m_TT_MAC_LANGID_SOMALI = 88
  12429. const m_TT_MAC_LANGID_SPANISH = 6
  12430. const m_TT_MAC_LANGID_SUNDANESE = 139
  12431. const m_TT_MAC_LANGID_SWAHILI = 89
  12432. const m_TT_MAC_LANGID_SWEDISH = 5
  12433. const m_TT_MAC_LANGID_TAGALOG = 82
  12434. const m_TT_MAC_LANGID_TAJIKI = 55
  12435. const m_TT_MAC_LANGID_TAMIL = 74
  12436. const m_TT_MAC_LANGID_TATAR = 135
  12437. const m_TT_MAC_LANGID_TELUGU = 75
  12438. const m_TT_MAC_LANGID_THAI = 22
  12439. const m_TT_MAC_LANGID_TIBETAN = 63
  12440. const m_TT_MAC_LANGID_TIGRINYA = 86
  12441. const m_TT_MAC_LANGID_TONGAN = 147
  12442. const m_TT_MAC_LANGID_TURKISH = 17
  12443. const m_TT_MAC_LANGID_TURKMEN = 56
  12444. const m_TT_MAC_LANGID_UIGHUR = 136
  12445. const m_TT_MAC_LANGID_UKRAINIAN = 45
  12446. const m_TT_MAC_LANGID_URDU = 20
  12447. const m_TT_MAC_LANGID_UZBEK = 47
  12448. const m_TT_MAC_LANGID_VIETNAMESE = 80
  12449. const m_TT_MAC_LANGID_WELSH = 128
  12450. const m_TT_MAC_LANGID_YIDDISH = 41
  12451. const m_TT_MS_ID_BIG_5 = 4
  12452. const m_TT_MS_ID_GB2312 = "TT_MS_ID_PRC"
  12453. const m_TT_MS_ID_JOHAB = 6
  12454. const m_TT_MS_ID_PRC = 3
  12455. const m_TT_MS_ID_SJIS = 2
  12456. const m_TT_MS_ID_SYMBOL_CS = 0
  12457. const m_TT_MS_ID_UCS_4 = 10
  12458. const m_TT_MS_ID_UNICODE_CS = 1
  12459. const m_TT_MS_ID_WANSUNG = 5
  12460. const m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 1078
  12461. const m_TT_MS_LANGID_ALBANIAN_ALBANIA = 1052
  12462. const m_TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484
  12463. const m_TT_MS_LANGID_AMHARIC_ETHIOPIA = 1118
  12464. const m_TT_MS_LANGID_ARABIC_ALGERIA = 5121
  12465. const m_TT_MS_LANGID_ARABIC_BAHRAIN = 15361
  12466. const m_TT_MS_LANGID_ARABIC_EGYPT = 3073
  12467. const m_TT_MS_LANGID_ARABIC_GENERAL = 1
  12468. const m_TT_MS_LANGID_ARABIC_IRAQ = 2049
  12469. const m_TT_MS_LANGID_ARABIC_JORDAN = 11265
  12470. const m_TT_MS_LANGID_ARABIC_KUWAIT = 13313
  12471. const m_TT_MS_LANGID_ARABIC_LEBANON = 12289
  12472. const m_TT_MS_LANGID_ARABIC_LIBYA = 4097
  12473. const m_TT_MS_LANGID_ARABIC_MOROCCO = 6145
  12474. const m_TT_MS_LANGID_ARABIC_OMAN = 8193
  12475. const m_TT_MS_LANGID_ARABIC_QATAR = 16385
  12476. const m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 1025
  12477. const m_TT_MS_LANGID_ARABIC_SYRIA = 10241
  12478. const m_TT_MS_LANGID_ARABIC_TUNISIA = 7169
  12479. const m_TT_MS_LANGID_ARABIC_UAE = 14337
  12480. const m_TT_MS_LANGID_ARABIC_YEMEN = 9217
  12481. const m_TT_MS_LANGID_ARMENIAN_ARMENIA = 1067
  12482. const m_TT_MS_LANGID_ASSAMESE_INDIA = 1101
  12483. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 2092
  12484. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 1068
  12485. const m_TT_MS_LANGID_BASHKIR_RUSSIA = 0x046D
  12486. const m_TT_MS_LANGID_BASQUE_BASQUE = 1069
  12487. const m_TT_MS_LANGID_BASQUE_SPAIN = "TT_MS_LANGID_BASQUE_BASQUE"
  12488. const m_TT_MS_LANGID_BELARUSIAN_BELARUS = 1059
  12489. const m_TT_MS_LANGID_BENGALI_BANGLADESH = 2117
  12490. const m_TT_MS_LANGID_BENGALI_INDIA = 1093
  12491. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 5146
  12492. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC = 0x201A
  12493. const m_TT_MS_LANGID_BRETON_FRANCE = 0x047E
  12494. const m_TT_MS_LANGID_BULGARIAN_BULGARIA = 1026
  12495. const m_TT_MS_LANGID_BURMESE_MYANMAR = 1109
  12496. const m_TT_MS_LANGID_CATALAN_CATALAN = 1027
  12497. const m_TT_MS_LANGID_CATALAN_SPAIN = "TT_MS_LANGID_CATALAN_CATALAN"
  12498. const m_TT_MS_LANGID_CHEROKEE_UNITED_STATES = 1116
  12499. const m_TT_MS_LANGID_CHINESE_GENERAL = 4
  12500. const m_TT_MS_LANGID_CHINESE_HONG_KONG = 3076
  12501. const m_TT_MS_LANGID_CHINESE_MACAO = 5124
  12502. const m_TT_MS_LANGID_CHINESE_MACAU = "TT_MS_LANGID_CHINESE_MACAO"
  12503. const m_TT_MS_LANGID_CHINESE_PRC = 2052
  12504. const m_TT_MS_LANGID_CHINESE_SINGAPORE = 4100
  12505. const m_TT_MS_LANGID_CHINESE_TAIWAN = 1028
  12506. const m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 2087
  12507. const m_TT_MS_LANGID_CORSICAN_FRANCE = 0x0483
  12508. const m_TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101A
  12509. const m_TT_MS_LANGID_CROATIAN_CROATIA = 1050
  12510. const m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 1029
  12511. const m_TT_MS_LANGID_DANISH_DENMARK = 1030
  12512. const m_TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C
  12513. const m_TT_MS_LANGID_DHIVEHI_MALDIVES = 1125
  12514. const m_TT_MS_LANGID_DIVEHI_MALDIVES = "TT_MS_LANGID_DHIVEHI_MALDIVES"
  12515. const m_TT_MS_LANGID_DUTCH_BELGIUM = 2067
  12516. const m_TT_MS_LANGID_DUTCH_NETHERLANDS = 1043
  12517. const m_TT_MS_LANGID_DZONGHKA_BHUTAN = 2129
  12518. const m_TT_MS_LANGID_EDO_NIGERIA = 0x0466
  12519. const m_TT_MS_LANGID_ENGLISH_AUSTRALIA = 3081
  12520. const m_TT_MS_LANGID_ENGLISH_BELIZE = 10249
  12521. const m_TT_MS_LANGID_ENGLISH_CANADA = 4105
  12522. const m_TT_MS_LANGID_ENGLISH_CARIBBEAN = 9225
  12523. const m_TT_MS_LANGID_ENGLISH_GENERAL = 9
  12524. const m_TT_MS_LANGID_ENGLISH_HONG_KONG = 15369
  12525. const m_TT_MS_LANGID_ENGLISH_INDIA = 16393
  12526. const m_TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809
  12527. const m_TT_MS_LANGID_ENGLISH_IRELAND = 6153
  12528. const m_TT_MS_LANGID_ENGLISH_JAMAICA = 8201
  12529. const m_TT_MS_LANGID_ENGLISH_MALAYSIA = 17417
  12530. const m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 5129
  12531. const m_TT_MS_LANGID_ENGLISH_PHILIPPINES = 13321
  12532. const m_TT_MS_LANGID_ENGLISH_SINGAPORE = 18441
  12533. const m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 7177
  12534. const m_TT_MS_LANGID_ENGLISH_TRINIDAD = 11273
  12535. const m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 2057
  12536. const m_TT_MS_LANGID_ENGLISH_UNITED_STATES = 1033
  12537. const m_TT_MS_LANGID_ENGLISH_ZIMBABWE = 12297
  12538. const m_TT_MS_LANGID_ESTONIAN_ESTONIA = 1061
  12539. const m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 1080
  12540. const m_TT_MS_LANGID_FARSI_IRAN = 1065
  12541. const m_TT_MS_LANGID_FILIPINO_PHILIPPINES = 1124
  12542. const m_TT_MS_LANGID_FINNISH_FINLAND = 1035
  12543. const m_TT_MS_LANGID_FRENCH_BELGIUM = 2060
  12544. const m_TT_MS_LANGID_FRENCH_CAMEROON = 11276
  12545. const m_TT_MS_LANGID_FRENCH_CANADA = 3084
  12546. const m_TT_MS_LANGID_FRENCH_CONGO = 9228
  12547. const m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 12300
  12548. const m_TT_MS_LANGID_FRENCH_FRANCE = 1036
  12549. const m_TT_MS_LANGID_FRENCH_HAITI = 15372
  12550. const m_TT_MS_LANGID_FRENCH_LUXEMBOURG = 5132
  12551. const m_TT_MS_LANGID_FRENCH_MALI = 13324
  12552. const m_TT_MS_LANGID_FRENCH_MONACO = 6156
  12553. const m_TT_MS_LANGID_FRENCH_MOROCCO = 14348
  12554. const m_TT_MS_LANGID_FRENCH_NORTH_AFRICA = 58380
  12555. const m_TT_MS_LANGID_FRENCH_REUNION = 8204
  12556. const m_TT_MS_LANGID_FRENCH_SENEGAL = 10252
  12557. const m_TT_MS_LANGID_FRENCH_SWITZERLAND = 4108
  12558. const m_TT_MS_LANGID_FRENCH_WEST_INDIES = 7180
  12559. const m_TT_MS_LANGID_FRENCH_ZAIRE = "TT_MS_LANGID_FRENCH_CONGO"
  12560. const m_TT_MS_LANGID_FRISIAN_NETHERLANDS = 1122
  12561. const m_TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467
  12562. const m_TT_MS_LANGID_GALICIAN_GALICIAN = 1110
  12563. const m_TT_MS_LANGID_GALICIAN_SPAIN = "TT_MS_LANGID_GALICIAN_GALICIAN"
  12564. const m_TT_MS_LANGID_GEORGIAN_GEORGIA = 1079
  12565. const m_TT_MS_LANGID_GERMAN_AUSTRIA = 3079
  12566. const m_TT_MS_LANGID_GERMAN_GERMANY = 1031
  12567. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEI = "TT_MS_LANGID_GERMAN_LIECHTENSTEIN"
  12568. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 5127
  12569. const m_TT_MS_LANGID_GERMAN_LUXEMBOURG = 4103
  12570. const m_TT_MS_LANGID_GERMAN_SWITZERLAND = 2055
  12571. const m_TT_MS_LANGID_GREEK_GREECE = 1032
  12572. const m_TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046F
  12573. const m_TT_MS_LANGID_GUARANI_PARAGUAY = 1140
  12574. const m_TT_MS_LANGID_GUJARATI_INDIA = 1095
  12575. const m_TT_MS_LANGID_HAUSA_NIGERIA = 1128
  12576. const m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 1141
  12577. const m_TT_MS_LANGID_HEBREW_ISRAEL = 1037
  12578. const m_TT_MS_LANGID_HINDI_INDIA = 1081
  12579. const m_TT_MS_LANGID_HUNGARIAN_HUNGARY = 1038
  12580. const m_TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469
  12581. const m_TT_MS_LANGID_ICELANDIC_ICELAND = 1039
  12582. const m_TT_MS_LANGID_IGBO_NIGERIA = 1136
  12583. const m_TT_MS_LANGID_INDONESIAN_INDONESIA = 1057
  12584. const m_TT_MS_LANGID_INUKTITUT_CANADA = 1117
  12585. const m_TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085D
  12586. const m_TT_MS_LANGID_IRISH_GAELIC_IRELAND = 1084
  12587. const m_TT_MS_LANGID_IRISH_IRELAND = 0x083C
  12588. const m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 1076
  12589. const m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 1077
  12590. const m_TT_MS_LANGID_ITALIAN_ITALY = 1040
  12591. const m_TT_MS_LANGID_ITALIAN_SWITZERLAND = 2064
  12592. const m_TT_MS_LANGID_JAPANESE_JAPAN = 1041
  12593. const m_TT_MS_LANGID_KANNADA_INDIA = 1099
  12594. const m_TT_MS_LANGID_KANURI_NIGERIA = 1137
  12595. const m_TT_MS_LANGID_KASHMIRI_INDIA = "TT_MS_LANGID_KASHMIRI_SASIA"
  12596. const m_TT_MS_LANGID_KASHMIRI_PAKISTAN = 1120
  12597. const m_TT_MS_LANGID_KASHMIRI_SASIA = 2144
  12598. const m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 1087
  12599. const m_TT_MS_LANGID_KAZAK_KAZAKSTAN = "TT_MS_LANGID_KAZAKH_KAZAKHSTAN"
  12600. const m_TT_MS_LANGID_KHMER_CAMBODIA = 1107
  12601. const m_TT_MS_LANGID_KICHE_GUATEMALA = 0x0486
  12602. const m_TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487
  12603. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  12604. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  12605. const m_TT_MS_LANGID_KISWAHILI_KENYA = 1089
  12606. const m_TT_MS_LANGID_KONKANI_INDIA = 1111
  12607. const m_TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = "TT_MS_LANGID_KOREAN_KOREA"
  12608. const m_TT_MS_LANGID_KOREAN_JOHAB_KOREA = 2066
  12609. const m_TT_MS_LANGID_KOREAN_KOREA = 1042
  12610. const m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN = 1088
  12611. const m_TT_MS_LANGID_LAO_LAOS = 1108
  12612. const m_TT_MS_LANGID_LATIN = 1142
  12613. const m_TT_MS_LANGID_LATVIAN_LATVIA = 1062
  12614. const m_TT_MS_LANGID_LITHUANIAN_LITHUANIA = 1063
  12615. const m_TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082E
  12616. const m_TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046E
  12617. const m_TT_MS_LANGID_MACEDONIAN_MACEDONIA = 1071
  12618. const m_TT_MS_LANGID_MALAYALAM_INDIA = 1100
  12619. const m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 2110
  12620. const m_TT_MS_LANGID_MALAY_MALAYSIA = 1086
  12621. const m_TT_MS_LANGID_MALTESE_MALTA = 1082
  12622. const m_TT_MS_LANGID_MANIPURI_INDIA = 1112
  12623. const m_TT_MS_LANGID_MAORI_NEW_ZEALAND = 1153
  12624. const m_TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A
  12625. const m_TT_MS_LANGID_MARATHI_INDIA = 1102
  12626. const m_TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C
  12627. const m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 2072
  12628. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA = 1104
  12629. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = "TT_MS_LANGID_MONGOLIAN_PRC"
  12630. const m_TT_MS_LANGID_MONGOLIAN_PRC = 2128
  12631. const m_TT_MS_LANGID_NEPALI_INDIA = 2145
  12632. const m_TT_MS_LANGID_NEPALI_NEPAL = 1121
  12633. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 1044
  12634. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 2068
  12635. const m_TT_MS_LANGID_OCCITAN_FRANCE = 0x0482
  12636. const m_TT_MS_LANGID_ODIA_INDIA = 1096
  12637. const m_TT_MS_LANGID_ORIYA_INDIA = "TT_MS_LANGID_ODIA_INDIA"
  12638. const m_TT_MS_LANGID_OROMO_ETHIOPIA = 1138
  12639. const m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 1145
  12640. const m_TT_MS_LANGID_PASHTO_AFGHANISTAN = 1123
  12641. const m_TT_MS_LANGID_POLISH_POLAND = 1045
  12642. const m_TT_MS_LANGID_PORTUGUESE_BRAZIL = 1046
  12643. const m_TT_MS_LANGID_PORTUGUESE_PORTUGAL = 2070
  12644. const m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 2118
  12645. const m_TT_MS_LANGID_PUNJABI_INDIA = 1094
  12646. const m_TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046B
  12647. const m_TT_MS_LANGID_QUECHUA_ECUADOR = 0x086B
  12648. const m_TT_MS_LANGID_QUECHUA_PERU = 0x0C6B
  12649. const m_TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = "TT_MS_LANGID_ROMANSH_SWITZERLAND"
  12650. const m_TT_MS_LANGID_ROMANIAN_ROMANIA = 1048
  12651. const m_TT_MS_LANGID_ROMANSH_SWITZERLAND = 1047
  12652. const m_TT_MS_LANGID_RUSSIAN_MOLDAVIA = 2073
  12653. const m_TT_MS_LANGID_RUSSIAN_RUSSIA = 1049
  12654. const m_TT_MS_LANGID_SAAMI_LAPONIA = 1083
  12655. const m_TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243B
  12656. const m_TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103B
  12657. const m_TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143B
  12658. const m_TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3B
  12659. const m_TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043B
  12660. const m_TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083B
  12661. const m_TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203B
  12662. const m_TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183B
  12663. const m_TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3B
  12664. const m_TT_MS_LANGID_SANSKRIT_INDIA = 1103
  12665. const m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 2108
  12666. const m_TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  12667. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x1C1A
  12668. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x181A
  12669. const m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 3098
  12670. const m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 2074
  12671. const m_TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046C
  12672. const m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 1074
  12673. const m_TT_MS_LANGID_SINDHI_INDIA = 1113
  12674. const m_TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859
  12675. const m_TT_MS_LANGID_SINHALA_SRI_LANKA = 1115
  12676. const m_TT_MS_LANGID_SINHALESE_SRI_LANKA = "TT_MS_LANGID_SINHALA_SRI_LANKA"
  12677. const m_TT_MS_LANGID_SLOVAK_SLOVAKIA = 1051
  12678. const m_TT_MS_LANGID_SLOVENE_SLOVENIA = "TT_MS_LANGID_SLOVENIAN_SLOVENIA"
  12679. const m_TT_MS_LANGID_SLOVENIAN_SLOVENIA = 1060
  12680. const m_TT_MS_LANGID_SOMALI_SOMALIA = 1143
  12681. const m_TT_MS_LANGID_SORBIAN_GERMANY = "TT_MS_LANGID_UPPER_SORBIAN_GERMANY"
  12682. const m_TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  12683. const m_TT_MS_LANGID_SPANISH_ARGENTINA = 11274
  12684. const m_TT_MS_LANGID_SPANISH_BOLIVIA = 16394
  12685. const m_TT_MS_LANGID_SPANISH_CHILE = 13322
  12686. const m_TT_MS_LANGID_SPANISH_COLOMBIA = 9226
  12687. const m_TT_MS_LANGID_SPANISH_COSTA_RICA = 5130
  12688. const m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 7178
  12689. const m_TT_MS_LANGID_SPANISH_ECUADOR = 12298
  12690. const m_TT_MS_LANGID_SPANISH_EL_SALVADOR = 17418
  12691. const m_TT_MS_LANGID_SPANISH_GUATEMALA = 4106
  12692. const m_TT_MS_LANGID_SPANISH_HONDURAS = 18442
  12693. const m_TT_MS_LANGID_SPANISH_LATIN_AMERICA = 58378
  12694. const m_TT_MS_LANGID_SPANISH_MEXICO = 2058
  12695. const m_TT_MS_LANGID_SPANISH_NICARAGUA = 19466
  12696. const m_TT_MS_LANGID_SPANISH_PANAMA = 6154
  12697. const m_TT_MS_LANGID_SPANISH_PARAGUAY = 15370
  12698. const m_TT_MS_LANGID_SPANISH_PERU = 10250
  12699. const m_TT_MS_LANGID_SPANISH_PUERTO_RICO = 20490
  12700. const m_TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = "TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT"
  12701. const m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 3082
  12702. const m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 1034
  12703. const m_TT_MS_LANGID_SPANISH_UNITED_STATES = 21514
  12704. const m_TT_MS_LANGID_SPANISH_URUGUAY = 14346
  12705. const m_TT_MS_LANGID_SPANISH_VENEZUELA = 8202
  12706. const m_TT_MS_LANGID_SUTU_SOUTH_AFRICA = 1072
  12707. const m_TT_MS_LANGID_SWAHILI_KENYA = "TT_MS_LANGID_KISWAHILI_KENYA"
  12708. const m_TT_MS_LANGID_SWEDISH_FINLAND = 2077
  12709. const m_TT_MS_LANGID_SWEDISH_SWEDEN = 1053
  12710. const m_TT_MS_LANGID_SYRIAC_SYRIA = 1114
  12711. const m_TT_MS_LANGID_TAJIK_TAJIKISTAN = 1064
  12712. const m_TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085F
  12713. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045F
  12714. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = "TT_MS_LANGID_TAMAZIGHT_ALGERIA"
  12715. const m_TT_MS_LANGID_TAMIL_INDIA = 1097
  12716. const m_TT_MS_LANGID_TATAR_RUSSIA = 1092
  12717. const m_TT_MS_LANGID_TATAR_TATARSTAN = "TT_MS_LANGID_TATAR_RUSSIA"
  12718. const m_TT_MS_LANGID_TELUGU_INDIA = 1098
  12719. const m_TT_MS_LANGID_THAI_THAILAND = 1054
  12720. const m_TT_MS_LANGID_TIBETAN_BHUTAN = "TT_MS_LANGID_DZONGHKA_BHUTAN"
  12721. const m_TT_MS_LANGID_TIBETAN_CHINA = "TT_MS_LANGID_TIBETAN_PRC"
  12722. const m_TT_MS_LANGID_TIBETAN_PRC = 1105
  12723. const m_TT_MS_LANGID_TIGRIGNA_ERYTHREA = 2163
  12724. const m_TT_MS_LANGID_TIGRIGNA_ERYTREA = "TT_MS_LANGID_TIGRIGNA_ERYTHREA"
  12725. const m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 1139
  12726. const m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 1073
  12727. const m_TT_MS_LANGID_TSWANA_SOUTH_AFRICA = "TT_MS_LANGID_SETSWANA_SOUTH_AFRICA"
  12728. const m_TT_MS_LANGID_TURKISH_TURKEY = 1055
  12729. const m_TT_MS_LANGID_TURKMEN_TURKMENISTAN = 1090
  12730. const m_TT_MS_LANGID_UIGHUR_CHINA = "TT_MS_LANGID_UIGHUR_PRC"
  12731. const m_TT_MS_LANGID_UIGHUR_PRC = 0x0480
  12732. const m_TT_MS_LANGID_UKRAINIAN_UKRAINE = 1058
  12733. const m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 1070
  12734. const m_TT_MS_LANGID_URDU_INDIA = 2080
  12735. const m_TT_MS_LANGID_URDU_PAKISTAN = 1056
  12736. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 2115
  12737. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 1091
  12738. const m_TT_MS_LANGID_VENDA_SOUTH_AFRICA = 1075
  12739. const m_TT_MS_LANGID_VIETNAMESE_VIET_NAM = 1066
  12740. const m_TT_MS_LANGID_WELSH_UNITED_KINGDOM = 1106
  12741. const m_TT_MS_LANGID_WELSH_WALES = "TT_MS_LANGID_WELSH_UNITED_KINGDOM"
  12742. const m_TT_MS_LANGID_WOLOF_SENEGAL = 0x0488
  12743. const m_TT_MS_LANGID_XHOSA_SOUTH_AFRICA = "TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA"
  12744. const m_TT_MS_LANGID_YAKUT_RUSSIA = 0x0485
  12745. const m_TT_MS_LANGID_YIDDISH_GERMANY = 1085
  12746. const m_TT_MS_LANGID_YI_CHINA = "TT_MS_LANGID_YI_PRC"
  12747. const m_TT_MS_LANGID_YI_PRC = 0x0478
  12748. const m_TT_MS_LANGID_YORUBA_NIGERIA = 1130
  12749. const m_TT_MS_LANGID_ZULU_SOUTH_AFRICA = "TT_MS_LANGID_ISIZULU_SOUTH_AFRICA"
  12750. const m_TT_NAME_ID_CID_FINDFONT_NAME = 20
  12751. const m_TT_NAME_ID_COPYRIGHT = 0
  12752. const m_TT_NAME_ID_DARK_BACKGROUND = 24
  12753. const m_TT_NAME_ID_DESCRIPTION = 10
  12754. const m_TT_NAME_ID_DESIGNER = 9
  12755. const m_TT_NAME_ID_DESIGNER_URL = 12
  12756. const m_TT_NAME_ID_FONT_FAMILY = 1
  12757. const m_TT_NAME_ID_FONT_SUBFAMILY = 2
  12758. const m_TT_NAME_ID_FULL_NAME = 4
  12759. const m_TT_NAME_ID_LICENSE = 13
  12760. const m_TT_NAME_ID_LICENSE_URL = 14
  12761. const m_TT_NAME_ID_LIGHT_BACKGROUND = 23
  12762. const m_TT_NAME_ID_MAC_FULL_NAME = 18
  12763. const m_TT_NAME_ID_MANUFACTURER = 8
  12764. const m_TT_NAME_ID_PREFERRED_FAMILY = "TT_NAME_ID_TYPOGRAPHIC_FAMILY"
  12765. const m_TT_NAME_ID_PREFERRED_SUBFAMILY = "TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
  12766. const m_TT_NAME_ID_PS_NAME = 6
  12767. const m_TT_NAME_ID_SAMPLE_TEXT = 19
  12768. const m_TT_NAME_ID_TRADEMARK = 7
  12769. const m_TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16
  12770. const m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17
  12771. const m_TT_NAME_ID_UNIQUE_ID = 3
  12772. const m_TT_NAME_ID_VARIATIONS_PREFIX = 25
  12773. const m_TT_NAME_ID_VENDOR_URL = 11
  12774. const m_TT_NAME_ID_VERSION_STRING = 5
  12775. const m_TT_NAME_ID_WWS_FAMILY = 21
  12776. const m_TT_NAME_ID_WWS_SUBFAMILY = 22
  12777. const m_TT_PLATFORM_ADOBE = 7
  12778. const m_TT_PLATFORM_APPLE_UNICODE = 0
  12779. const m_TT_PLATFORM_CUSTOM = 4
  12780. const m_TT_PLATFORM_ISO = 2
  12781. const m_TT_PLATFORM_MACINTOSH = 1
  12782. const m_TT_PLATFORM_MICROSOFT = 3
  12783. const m_TT_UCR_ARABIC_PRESENTATION_A = "TT_UCR_ARABIC_PRESENTATION_FORMS_A"
  12784. const m_TT_UCR_ARABIC_PRESENTATION_B = "TT_UCR_ARABIC_PRESENTATION_FORMS_B"
  12785. const m_TT_UCR_COMBINING_DIACRITICS = "TT_UCR_COMBINING_DIACRITICAL_MARKS"
  12786. const m_TT_UCR_COMBINING_DIACRITICS_SYMB = "TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB"
  12787. const m_TT_UCR_KANBUN = "TT_UCR_CJK_MISC"
  12788. const m_TT_UCR_NON_PLANE_0 = "TT_UCR_SURROGATES"
  12789. const m_ft_encoding_adobe_custom = "FT_ENCODING_ADOBE_CUSTOM"
  12790. const m_ft_encoding_adobe_expert = "FT_ENCODING_ADOBE_EXPERT"
  12791. const m_ft_encoding_adobe_standard = "FT_ENCODING_ADOBE_STANDARD"
  12792. const m_ft_encoding_apple_roman = "FT_ENCODING_APPLE_ROMAN"
  12793. const m_ft_encoding_big5 = "FT_ENCODING_BIG5"
  12794. const m_ft_encoding_gb2312 = "FT_ENCODING_PRC"
  12795. const m_ft_encoding_johab = "FT_ENCODING_JOHAB"
  12796. const m_ft_encoding_latin_1 = "FT_ENCODING_ADOBE_LATIN_1"
  12797. const m_ft_encoding_latin_2 = "FT_ENCODING_OLD_LATIN_2"
  12798. const m_ft_encoding_none = "FT_ENCODING_NONE"
  12799. const m_ft_encoding_sjis = "FT_ENCODING_SJIS"
  12800. const m_ft_encoding_symbol = "FT_ENCODING_MS_SYMBOL"
  12801. const m_ft_encoding_unicode = "FT_ENCODING_UNICODE"
  12802. const m_ft_encoding_wansung = "FT_ENCODING_WANSUNG"
  12803. const m_ft_fclose = "fclose"
  12804. const m_ft_fopen = "fopen"
  12805. const m_ft_fread = "fread"
  12806. const m_ft_fseek = "fseek"
  12807. const m_ft_ftell = "ftell"
  12808. const m_ft_getenv = "getenv"
  12809. const m_ft_glyph_format_bitmap = "FT_GLYPH_FORMAT_BITMAP"
  12810. const m_ft_glyph_format_composite = "FT_GLYPH_FORMAT_COMPOSITE"
  12811. const m_ft_glyph_format_none = "FT_GLYPH_FORMAT_NONE"
  12812. const m_ft_glyph_format_outline = "FT_GLYPH_FORMAT_OUTLINE"
  12813. const m_ft_glyph_format_plotter = "FT_GLYPH_FORMAT_PLOTTER"
  12814. const m_ft_jmp_buf = "jmp_buf"
  12815. const m_ft_kerning_default = "FT_KERNING_DEFAULT"
  12816. const m_ft_kerning_unfitted = "FT_KERNING_UNFITTED"
  12817. const m_ft_kerning_unscaled = "FT_KERNING_UNSCALED"
  12818. const m_ft_longjmp = "longjmp"
  12819. const m_ft_memchr = "memchr"
  12820. const m_ft_memcmp = "memcmp"
  12821. const m_ft_memcpy = "memcpy"
  12822. const m_ft_memmove = "memmove"
  12823. const m_ft_memset = "memset"
  12824. const m_ft_module_driver_has_hinter = "FT_MODULE_DRIVER_HAS_HINTER"
  12825. const m_ft_module_driver_hints_lightly = "FT_MODULE_DRIVER_HINTS_LIGHTLY"
  12826. const m_ft_module_driver_no_outlines = "FT_MODULE_DRIVER_NO_OUTLINES"
  12827. const m_ft_module_driver_scalable = "FT_MODULE_DRIVER_SCALABLE"
  12828. const m_ft_module_font_driver = "FT_MODULE_FONT_DRIVER"
  12829. const m_ft_module_hinter = "FT_MODULE_HINTER"
  12830. const m_ft_module_renderer = "FT_MODULE_RENDERER"
  12831. const m_ft_module_styler = "FT_MODULE_STYLER"
  12832. const m_ft_open_driver = "FT_OPEN_DRIVER"
  12833. const m_ft_open_memory = "FT_OPEN_MEMORY"
  12834. const m_ft_open_params = "FT_OPEN_PARAMS"
  12835. const m_ft_open_pathname = "FT_OPEN_PATHNAME"
  12836. const m_ft_open_stream = "FT_OPEN_STREAM"
  12837. const m_ft_outline_even_odd_fill = "FT_OUTLINE_EVEN_ODD_FILL"
  12838. const m_ft_outline_high_precision = "FT_OUTLINE_HIGH_PRECISION"
  12839. const m_ft_outline_ignore_dropouts = "FT_OUTLINE_IGNORE_DROPOUTS"
  12840. const m_ft_outline_none = "FT_OUTLINE_NONE"
  12841. const m_ft_outline_owner = "FT_OUTLINE_OWNER"
  12842. const m_ft_outline_reverse_fill = "FT_OUTLINE_REVERSE_FILL"
  12843. const m_ft_outline_single_pass = "FT_OUTLINE_SINGLE_PASS"
  12844. const m_ft_pixel_mode_grays = "FT_PIXEL_MODE_GRAY"
  12845. const m_ft_pixel_mode_mono = "FT_PIXEL_MODE_MONO"
  12846. const m_ft_pixel_mode_none = "FT_PIXEL_MODE_NONE"
  12847. const m_ft_pixel_mode_pal2 = "FT_PIXEL_MODE_GRAY2"
  12848. const m_ft_pixel_mode_pal4 = "FT_PIXEL_MODE_GRAY4"
  12849. const m_ft_ptrdiff_t = "ptrdiff_t"
  12850. const m_ft_qsort = "qsort"
  12851. const m_ft_raster_flag_aa = "FT_RASTER_FLAG_AA"
  12852. const m_ft_raster_flag_clip = "FT_RASTER_FLAG_CLIP"
  12853. const m_ft_raster_flag_default = "FT_RASTER_FLAG_DEFAULT"
  12854. const m_ft_raster_flag_direct = "FT_RASTER_FLAG_DIRECT"
  12855. const m_ft_render_mode_mono = "FT_RENDER_MODE_MONO"
  12856. const m_ft_render_mode_normal = "FT_RENDER_MODE_NORMAL"
  12857. const m_ft_scalloc = "calloc"
  12858. const m_ft_sfnt_head = 0
  12859. const m_ft_sfnt_hhea = "FT_SFNT_HHEA"
  12860. const m_ft_sfnt_maxp = "FT_SFNT_MAXP"
  12861. const m_ft_sfnt_os2 = "FT_SFNT_OS2"
  12862. const m_ft_sfnt_pclt = "FT_SFNT_PCLT"
  12863. const m_ft_sfnt_post = "FT_SFNT_POST"
  12864. const m_ft_sfnt_vhea = "FT_SFNT_VHEA"
  12865. const m_ft_sfree = "free"
  12866. const m_ft_smalloc = "malloc"
  12867. const m_ft_sprintf = "sprintf"
  12868. const m_ft_srealloc = "realloc"
  12869. const m_ft_strcat = "strcat"
  12870. const m_ft_strcmp = "strcmp"
  12871. const m_ft_strcpy = "strcpy"
  12872. const m_ft_strlen = "strlen"
  12873. const m_ft_strncmp = "strncmp"
  12874. const m_ft_strncpy = "strncpy"
  12875. const m_ft_strrchr = "strrchr"
  12876. const m_ft_strstr = "strstr"
  12877. const m_ft_strtol = "strtol"
  12878. const m_t1_blend_blue_scale = "T1_BLEND_BLUE_SCALE"
  12879. const m_t1_blend_blue_shift = "T1_BLEND_BLUE_SHIFT"
  12880. const m_t1_blend_blue_values = "T1_BLEND_BLUE_VALUES"
  12881. const m_t1_blend_family_blues = "T1_BLEND_FAMILY_BLUES"
  12882. const m_t1_blend_family_other_blues = "T1_BLEND_FAMILY_OTHER_BLUES"
  12883. const m_t1_blend_force_bold = "T1_BLEND_FORCE_BOLD"
  12884. const m_t1_blend_italic_angle = "T1_BLEND_ITALIC_ANGLE"
  12885. const m_t1_blend_max = "T1_BLEND_MAX"
  12886. const m_t1_blend_other_blues = "T1_BLEND_OTHER_BLUES"
  12887. const m_t1_blend_standard_height = "T1_BLEND_STANDARD_HEIGHT"
  12888. const m_t1_blend_standard_widths = "T1_BLEND_STANDARD_WIDTH"
  12889. const m_t1_blend_stem_snap_heights = "T1_BLEND_STEM_SNAP_HEIGHTS"
  12890. const m_t1_blend_stem_snap_widths = "T1_BLEND_STEM_SNAP_WIDTHS"
  12891. const m_t1_blend_underline_position = "T1_BLEND_UNDERLINE_POSITION"
  12892. const m_t1_blend_underline_thickness = "T1_BLEND_UNDERLINE_THICKNESS"
  12893. type t__jmp_buf = [6]uint32
  12894. type Tjmp_buf = [1]t__jmp_buf_tag
  12895. type t__jmp_buf_tag = struct {
  12896. F__jb t__jmp_buf
  12897. F__fl uint32
  12898. F__ss [32]uint32
  12899. }
  12900. type Tsigjmp_buf = [1]t__jmp_buf_tag
  12901. type TFT_Int16 = int16
  12902. type TFT_UInt16 = uint16
  12903. type TFT_Int32 = int32
  12904. type TFT_UInt32 = uint32
  12905. type TFT_Fast = int32
  12906. type TFT_UFast = uint32
  12907. type TFT_Int64 = int64
  12908. type TFT_UInt64 = uint64
  12909. type TFT_Memory = uintptr
  12910. type TFT_MemoryRec_ = struct {
  12911. Fuser uintptr
  12912. Falloc TFT_Alloc_Func
  12913. Ffree TFT_Free_Func
  12914. Frealloc TFT_Realloc_Func
  12915. }
  12916. type TFT_Alloc_Func = uintptr
  12917. type TFT_Free_Func = uintptr
  12918. type TFT_Realloc_Func = uintptr
  12919. type TFT_Stream = uintptr
  12920. type TFT_StreamRec_ = struct {
  12921. Fbase uintptr
  12922. Fsize uint32
  12923. Fpos uint32
  12924. Fdescriptor TFT_StreamDesc
  12925. Fpathname TFT_StreamDesc
  12926. Fread TFT_Stream_IoFunc
  12927. Fclose1 TFT_Stream_CloseFunc
  12928. Fmemory TFT_Memory
  12929. Fcursor uintptr
  12930. Flimit uintptr
  12931. }
  12932. type TFT_StreamDesc = struct {
  12933. Fpointer [0]uintptr
  12934. Fvalue int32
  12935. }
  12936. type TFT_StreamDesc_ = TFT_StreamDesc
  12937. type TFT_Stream_IoFunc = uintptr
  12938. type TFT_Stream_CloseFunc = uintptr
  12939. type TFT_StreamRec = struct {
  12940. Fbase uintptr
  12941. Fsize uint32
  12942. Fpos uint32
  12943. Fdescriptor TFT_StreamDesc
  12944. Fpathname TFT_StreamDesc
  12945. Fread TFT_Stream_IoFunc
  12946. Fclose1 TFT_Stream_CloseFunc
  12947. Fmemory TFT_Memory
  12948. Fcursor uintptr
  12949. Flimit uintptr
  12950. }
  12951. type TFT_Pos = int32
  12952. type TFT_Vector = struct {
  12953. Fx TFT_Pos
  12954. Fy TFT_Pos
  12955. }
  12956. type TFT_Vector_ = TFT_Vector
  12957. type TFT_BBox = struct {
  12958. FxMin TFT_Pos
  12959. FyMin TFT_Pos
  12960. FxMax TFT_Pos
  12961. FyMax TFT_Pos
  12962. }
  12963. type TFT_BBox_ = TFT_BBox
  12964. type TFT_Pixel_Mode = int32
  12965. type _FT_Pixel_Mode_ = int32
  12966. const _FT_PIXEL_MODE_NONE = 0
  12967. const _FT_PIXEL_MODE_MONO = 1
  12968. const _FT_PIXEL_MODE_GRAY = 2
  12969. const _FT_PIXEL_MODE_GRAY2 = 3
  12970. const _FT_PIXEL_MODE_GRAY4 = 4
  12971. const _FT_PIXEL_MODE_LCD = 5
  12972. const _FT_PIXEL_MODE_LCD_V = 6
  12973. const _FT_PIXEL_MODE_BGRA = 7
  12974. const _FT_PIXEL_MODE_MAX = 8
  12975. type TFT_Bitmap = struct {
  12976. Frows uint32
  12977. Fwidth uint32
  12978. Fpitch int32
  12979. Fbuffer uintptr
  12980. Fnum_grays uint16
  12981. Fpixel_mode uint8
  12982. Fpalette_mode uint8
  12983. Fpalette uintptr
  12984. }
  12985. type TFT_Bitmap_ = TFT_Bitmap
  12986. type TFT_Outline = struct {
  12987. Fn_contours int16
  12988. Fn_points int16
  12989. Fpoints uintptr
  12990. Ftags uintptr
  12991. Fcontours uintptr
  12992. Fflags int32
  12993. }
  12994. type TFT_Outline_ = TFT_Outline
  12995. type TFT_Outline_MoveToFunc = uintptr
  12996. type TFT_Outline_LineToFunc = uintptr
  12997. type TFT_Outline_ConicToFunc = uintptr
  12998. type TFT_Outline_CubicToFunc = uintptr
  12999. type TFT_Outline_Funcs = struct {
  13000. Fmove_to TFT_Outline_MoveToFunc
  13001. Fline_to TFT_Outline_LineToFunc
  13002. Fconic_to TFT_Outline_ConicToFunc
  13003. Fcubic_to TFT_Outline_CubicToFunc
  13004. Fshift int32
  13005. Fdelta TFT_Pos
  13006. }
  13007. type TFT_Outline_Funcs_ = TFT_Outline_Funcs
  13008. type TFT_Glyph_Format = int32
  13009. type _FT_Glyph_Format_ = int32
  13010. const _FT_GLYPH_FORMAT_NONE = 0
  13011. const _FT_GLYPH_FORMAT_COMPOSITE = 1668246896
  13012. const _FT_GLYPH_FORMAT_BITMAP = 1651078259
  13013. const _FT_GLYPH_FORMAT_OUTLINE = 1869968492
  13014. const _FT_GLYPH_FORMAT_PLOTTER = 1886154612
  13015. const _FT_GLYPH_FORMAT_SVG = 1398163232
  13016. type TFT_Span = struct {
  13017. Fx int16
  13018. Flen1 uint16
  13019. Fcoverage uint8
  13020. }
  13021. type TFT_Span_ = TFT_Span
  13022. type TFT_SpanFunc = uintptr
  13023. type TFT_Raster_BitTest_Func = uintptr
  13024. type TFT_Raster_BitSet_Func = uintptr
  13025. type TFT_Raster_Params = struct {
  13026. Ftarget uintptr
  13027. Fsource uintptr
  13028. Fflags int32
  13029. Fgray_spans TFT_SpanFunc
  13030. Fblack_spans TFT_SpanFunc
  13031. Fbit_test TFT_Raster_BitTest_Func
  13032. Fbit_set TFT_Raster_BitSet_Func
  13033. Fuser uintptr
  13034. Fclip_box TFT_BBox
  13035. }
  13036. type TFT_Raster_Params_ = TFT_Raster_Params
  13037. type TFT_Raster = uintptr
  13038. type TFT_Raster_NewFunc = uintptr
  13039. type TFT_Raster_DoneFunc = uintptr
  13040. type TFT_Raster_ResetFunc = uintptr
  13041. type TFT_Raster_SetModeFunc = uintptr
  13042. type TFT_Raster_RenderFunc = uintptr
  13043. type TFT_Raster_Funcs = struct {
  13044. Fglyph_format TFT_Glyph_Format
  13045. Fraster_new TFT_Raster_NewFunc
  13046. Fraster_reset TFT_Raster_ResetFunc
  13047. Fraster_set_mode TFT_Raster_SetModeFunc
  13048. Fraster_render TFT_Raster_RenderFunc
  13049. Fraster_done TFT_Raster_DoneFunc
  13050. }
  13051. type TFT_Raster_Funcs_ = TFT_Raster_Funcs
  13052. type TFT_Bool = uint8
  13053. type TFT_FWord = int16
  13054. type TFT_UFWord = uint16
  13055. type TFT_Char = int8
  13056. type TFT_Byte = uint8
  13057. type TFT_Bytes = uintptr
  13058. type TFT_Tag = uint32
  13059. type TFT_String = int8
  13060. type TFT_Short = int16
  13061. type TFT_UShort = uint16
  13062. type TFT_Int = int32
  13063. type TFT_UInt = uint32
  13064. type TFT_Long = int32
  13065. type TFT_ULong = uint32
  13066. type TFT_F2Dot14 = int16
  13067. type TFT_F26Dot6 = int32
  13068. type TFT_Fixed = int32
  13069. type TFT_Error = int32
  13070. type TFT_Pointer = uintptr
  13071. type TFT_Offset = uint32
  13072. type TFT_PtrDist = int32
  13073. type TFT_UnitVector = struct {
  13074. Fx TFT_F2Dot14
  13075. Fy TFT_F2Dot14
  13076. }
  13077. type TFT_UnitVector_ = TFT_UnitVector
  13078. type TFT_Matrix = struct {
  13079. Fxx TFT_Fixed
  13080. Fxy TFT_Fixed
  13081. Fyx TFT_Fixed
  13082. Fyy TFT_Fixed
  13083. }
  13084. type TFT_Matrix_ = TFT_Matrix
  13085. type TFT_Data = struct {
  13086. Fpointer uintptr
  13087. Flength TFT_UInt
  13088. }
  13089. type TFT_Data_ = TFT_Data
  13090. type TFT_Generic_Finalizer = uintptr
  13091. type TFT_Generic = struct {
  13092. Fdata uintptr
  13093. Ffinalizer TFT_Generic_Finalizer
  13094. }
  13095. type TFT_Generic_ = TFT_Generic
  13096. type TFT_ListNode = uintptr
  13097. type TFT_ListNodeRec_ = struct {
  13098. Fprev TFT_ListNode
  13099. Fnext TFT_ListNode
  13100. Fdata uintptr
  13101. }
  13102. type TFT_List = uintptr
  13103. type TFT_ListRec_ = struct {
  13104. Fhead TFT_ListNode
  13105. Ftail TFT_ListNode
  13106. }
  13107. type TFT_ListNodeRec = struct {
  13108. Fprev TFT_ListNode
  13109. Fnext TFT_ListNode
  13110. Fdata uintptr
  13111. }
  13112. type TFT_ListRec = struct {
  13113. Fhead TFT_ListNode
  13114. Ftail TFT_ListNode
  13115. }
  13116. const _FT_Mod_Err_Base = 0
  13117. const _FT_Mod_Err_Autofit = 0
  13118. const _FT_Mod_Err_BDF = 0
  13119. const _FT_Mod_Err_Bzip2 = 0
  13120. const _FT_Mod_Err_Cache = 0
  13121. const _FT_Mod_Err_CFF = 0
  13122. const _FT_Mod_Err_CID = 0
  13123. const _FT_Mod_Err_Gzip = 0
  13124. const _FT_Mod_Err_LZW = 0
  13125. const _FT_Mod_Err_OTvalid = 0
  13126. const _FT_Mod_Err_PCF = 0
  13127. const _FT_Mod_Err_PFR = 0
  13128. const _FT_Mod_Err_PSaux = 0
  13129. const _FT_Mod_Err_PShinter = 0
  13130. const _FT_Mod_Err_PSnames = 0
  13131. const _FT_Mod_Err_Raster = 0
  13132. const _FT_Mod_Err_SFNT = 0
  13133. const _FT_Mod_Err_Smooth = 0
  13134. const _FT_Mod_Err_TrueType = 0
  13135. const _FT_Mod_Err_Type1 = 0
  13136. const _FT_Mod_Err_Type42 = 0
  13137. const _FT_Mod_Err_Winfonts = 0
  13138. const _FT_Mod_Err_GXvalid = 0
  13139. const _FT_Mod_Err_Sdf = 0
  13140. const _FT_Mod_Err_Max = 1
  13141. const _FT_Err_Ok = 0
  13142. const _FT_Err_Cannot_Open_Resource = 1
  13143. const _FT_Err_Unknown_File_Format = 2
  13144. const _FT_Err_Invalid_File_Format = 3
  13145. const _FT_Err_Invalid_Version = 4
  13146. const _FT_Err_Lower_Module_Version = 5
  13147. const _FT_Err_Invalid_Argument = 6
  13148. const _FT_Err_Unimplemented_Feature = 7
  13149. const _FT_Err_Invalid_Table = 8
  13150. const _FT_Err_Invalid_Offset = 9
  13151. const _FT_Err_Array_Too_Large = 10
  13152. const _FT_Err_Missing_Module = 11
  13153. const _FT_Err_Missing_Property = 12
  13154. const _FT_Err_Invalid_Glyph_Index = 16
  13155. const _FT_Err_Invalid_Character_Code = 17
  13156. const _FT_Err_Invalid_Glyph_Format = 18
  13157. const _FT_Err_Cannot_Render_Glyph = 19
  13158. const _FT_Err_Invalid_Outline = 20
  13159. const _FT_Err_Invalid_Composite = 21
  13160. const _FT_Err_Too_Many_Hints = 22
  13161. const _FT_Err_Invalid_Pixel_Size = 23
  13162. const _FT_Err_Invalid_SVG_Document = 24
  13163. const _FT_Err_Invalid_Handle = 32
  13164. const _FT_Err_Invalid_Library_Handle = 33
  13165. const _FT_Err_Invalid_Driver_Handle = 34
  13166. const _FT_Err_Invalid_Face_Handle = 35
  13167. const _FT_Err_Invalid_Size_Handle = 36
  13168. const _FT_Err_Invalid_Slot_Handle = 37
  13169. const _FT_Err_Invalid_CharMap_Handle = 38
  13170. const _FT_Err_Invalid_Cache_Handle = 39
  13171. const _FT_Err_Invalid_Stream_Handle = 40
  13172. const _FT_Err_Too_Many_Drivers = 48
  13173. const _FT_Err_Too_Many_Extensions = 49
  13174. const _FT_Err_Out_Of_Memory = 64
  13175. const _FT_Err_Unlisted_Object = 65
  13176. const _FT_Err_Cannot_Open_Stream = 81
  13177. const _FT_Err_Invalid_Stream_Seek = 82
  13178. const _FT_Err_Invalid_Stream_Skip = 83
  13179. const _FT_Err_Invalid_Stream_Read = 84
  13180. const _FT_Err_Invalid_Stream_Operation = 85
  13181. const _FT_Err_Invalid_Frame_Operation = 86
  13182. const _FT_Err_Nested_Frame_Access = 87
  13183. const _FT_Err_Invalid_Frame_Read = 88
  13184. const _FT_Err_Raster_Uninitialized = 96
  13185. const _FT_Err_Raster_Corrupted = 97
  13186. const _FT_Err_Raster_Overflow = 98
  13187. const _FT_Err_Raster_Negative_Height = 99
  13188. const _FT_Err_Too_Many_Caches = 112
  13189. const _FT_Err_Invalid_Opcode = 128
  13190. const _FT_Err_Too_Few_Arguments = 129
  13191. const _FT_Err_Stack_Overflow = 130
  13192. const _FT_Err_Code_Overflow = 131
  13193. const _FT_Err_Bad_Argument = 132
  13194. const _FT_Err_Divide_By_Zero = 133
  13195. const _FT_Err_Invalid_Reference = 134
  13196. const _FT_Err_Debug_OpCode = 135
  13197. const _FT_Err_ENDF_In_Exec_Stream = 136
  13198. const _FT_Err_Nested_DEFS = 137
  13199. const _FT_Err_Invalid_CodeRange = 138
  13200. const _FT_Err_Execution_Too_Long = 139
  13201. const _FT_Err_Too_Many_Function_Defs = 140
  13202. const _FT_Err_Too_Many_Instruction_Defs = 141
  13203. const _FT_Err_Table_Missing = 142
  13204. const _FT_Err_Horiz_Header_Missing = 143
  13205. const _FT_Err_Locations_Missing = 144
  13206. const _FT_Err_Name_Table_Missing = 145
  13207. const _FT_Err_CMap_Table_Missing = 146
  13208. const _FT_Err_Hmtx_Table_Missing = 147
  13209. const _FT_Err_Post_Table_Missing = 148
  13210. const _FT_Err_Invalid_Horiz_Metrics = 149
  13211. const _FT_Err_Invalid_CharMap_Format = 150
  13212. const _FT_Err_Invalid_PPem = 151
  13213. const _FT_Err_Invalid_Vert_Metrics = 152
  13214. const _FT_Err_Could_Not_Find_Context = 153
  13215. const _FT_Err_Invalid_Post_Table_Format = 154
  13216. const _FT_Err_Invalid_Post_Table = 155
  13217. const _FT_Err_DEF_In_Glyf_Bytecode = 156
  13218. const _FT_Err_Missing_Bitmap = 157
  13219. const _FT_Err_Missing_SVG_Hooks = 158
  13220. const _FT_Err_Syntax_Error = 160
  13221. const _FT_Err_Stack_Underflow = 161
  13222. const _FT_Err_Ignore = 162
  13223. const _FT_Err_No_Unicode_Glyph_Name = 163
  13224. const _FT_Err_Glyph_Too_Big = 164
  13225. const _FT_Err_Missing_Startfont_Field = 176
  13226. const _FT_Err_Missing_Font_Field = 177
  13227. const _FT_Err_Missing_Size_Field = 178
  13228. const _FT_Err_Missing_Fontboundingbox_Field = 179
  13229. const _FT_Err_Missing_Chars_Field = 180
  13230. const _FT_Err_Missing_Startchar_Field = 181
  13231. const _FT_Err_Missing_Encoding_Field = 182
  13232. const _FT_Err_Missing_Bbx_Field = 183
  13233. const _FT_Err_Bbx_Too_Big = 184
  13234. const _FT_Err_Corrupted_Font_Header = 185
  13235. const _FT_Err_Corrupted_Font_Glyphs = 186
  13236. const _FT_Err_Max = 187
  13237. type TFT_Glyph_Metrics = struct {
  13238. Fwidth TFT_Pos
  13239. Fheight TFT_Pos
  13240. FhoriBearingX TFT_Pos
  13241. FhoriBearingY TFT_Pos
  13242. FhoriAdvance TFT_Pos
  13243. FvertBearingX TFT_Pos
  13244. FvertBearingY TFT_Pos
  13245. FvertAdvance TFT_Pos
  13246. }
  13247. type TFT_Glyph_Metrics_ = TFT_Glyph_Metrics
  13248. type TFT_Bitmap_Size = struct {
  13249. Fheight TFT_Short
  13250. Fwidth TFT_Short
  13251. Fsize TFT_Pos
  13252. Fx_ppem TFT_Pos
  13253. Fy_ppem TFT_Pos
  13254. }
  13255. type TFT_Bitmap_Size_ = TFT_Bitmap_Size
  13256. type TFT_Library = uintptr
  13257. type TFT_Module = uintptr
  13258. type TFT_Driver = uintptr
  13259. type TFT_Renderer = uintptr
  13260. type TFT_Face = uintptr
  13261. type TFT_FaceRec_ = struct {
  13262. Fnum_faces TFT_Long
  13263. Fface_index TFT_Long
  13264. Fface_flags TFT_Long
  13265. Fstyle_flags TFT_Long
  13266. Fnum_glyphs TFT_Long
  13267. Ffamily_name uintptr
  13268. Fstyle_name uintptr
  13269. Fnum_fixed_sizes TFT_Int
  13270. Favailable_sizes uintptr
  13271. Fnum_charmaps TFT_Int
  13272. Fcharmaps uintptr
  13273. Fgeneric TFT_Generic
  13274. Fbbox TFT_BBox
  13275. Funits_per_EM TFT_UShort
  13276. Fascender TFT_Short
  13277. Fdescender TFT_Short
  13278. Fheight TFT_Short
  13279. Fmax_advance_width TFT_Short
  13280. Fmax_advance_height TFT_Short
  13281. Funderline_position TFT_Short
  13282. Funderline_thickness TFT_Short
  13283. Fglyph TFT_GlyphSlot
  13284. Fsize TFT_Size
  13285. Fcharmap TFT_CharMap
  13286. Fdriver TFT_Driver
  13287. Fmemory TFT_Memory
  13288. Fstream TFT_Stream
  13289. Fsizes_list TFT_ListRec
  13290. Fautohint TFT_Generic
  13291. Fextensions uintptr
  13292. Finternal TFT_Face_Internal
  13293. }
  13294. type TFT_Size = uintptr
  13295. type TFT_SizeRec_ = struct {
  13296. Fface TFT_Face
  13297. Fgeneric TFT_Generic
  13298. Fmetrics TFT_Size_Metrics
  13299. Finternal TFT_Size_Internal
  13300. }
  13301. type TFT_GlyphSlot = uintptr
  13302. type TFT_GlyphSlotRec_ = struct {
  13303. Flibrary TFT_Library
  13304. Fface TFT_Face
  13305. Fnext TFT_GlyphSlot
  13306. Fglyph_index TFT_UInt
  13307. Fgeneric TFT_Generic
  13308. Fmetrics TFT_Glyph_Metrics
  13309. FlinearHoriAdvance TFT_Fixed
  13310. FlinearVertAdvance TFT_Fixed
  13311. Fadvance TFT_Vector
  13312. Fformat TFT_Glyph_Format
  13313. Fbitmap TFT_Bitmap
  13314. Fbitmap_left TFT_Int
  13315. Fbitmap_top TFT_Int
  13316. Foutline TFT_Outline
  13317. Fnum_subglyphs TFT_UInt
  13318. Fsubglyphs TFT_SubGlyph
  13319. Fcontrol_data uintptr
  13320. Fcontrol_len int32
  13321. Flsb_delta TFT_Pos
  13322. Frsb_delta TFT_Pos
  13323. Fother uintptr
  13324. Finternal TFT_Slot_Internal
  13325. }
  13326. type TFT_CharMap = uintptr
  13327. type TFT_CharMapRec_ = struct {
  13328. Fface TFT_Face
  13329. Fencoding TFT_Encoding
  13330. Fplatform_id TFT_UShort
  13331. Fencoding_id TFT_UShort
  13332. }
  13333. type _FT_Encoding_ = int32
  13334. const _FT_ENCODING_NONE = 0
  13335. const _FT_ENCODING_MS_SYMBOL = 1937337698
  13336. const _FT_ENCODING_UNICODE = 1970170211
  13337. const _FT_ENCODING_SJIS = 1936353651
  13338. const _FT_ENCODING_PRC = 1734484000
  13339. const _FT_ENCODING_BIG5 = 1651074869
  13340. const _FT_ENCODING_WANSUNG = 2002873971
  13341. const _FT_ENCODING_JOHAB = 1785686113
  13342. const _FT_ENCODING_GB2312 = 1734484000
  13343. const _FT_ENCODING_MS_SJIS = 1936353651
  13344. const _FT_ENCODING_MS_GB2312 = 1734484000
  13345. const _FT_ENCODING_MS_BIG5 = 1651074869
  13346. const _FT_ENCODING_MS_WANSUNG = 2002873971
  13347. const _FT_ENCODING_MS_JOHAB = 1785686113
  13348. const _FT_ENCODING_ADOBE_STANDARD = 1094995778
  13349. const _FT_ENCODING_ADOBE_EXPERT = 1094992453
  13350. const _FT_ENCODING_ADOBE_CUSTOM = 1094992451
  13351. const _FT_ENCODING_ADOBE_LATIN_1 = 1818326065
  13352. const _FT_ENCODING_OLD_LATIN_2 = 1818326066
  13353. const _FT_ENCODING_APPLE_ROMAN = 1634889070
  13354. type TFT_Encoding = int32
  13355. type TFT_CharMapRec = struct {
  13356. Fface TFT_Face
  13357. Fencoding TFT_Encoding
  13358. Fplatform_id TFT_UShort
  13359. Fencoding_id TFT_UShort
  13360. }
  13361. type TFT_Face_Internal = uintptr
  13362. type TFT_FaceRec = struct {
  13363. Fnum_faces TFT_Long
  13364. Fface_index TFT_Long
  13365. Fface_flags TFT_Long
  13366. Fstyle_flags TFT_Long
  13367. Fnum_glyphs TFT_Long
  13368. Ffamily_name uintptr
  13369. Fstyle_name uintptr
  13370. Fnum_fixed_sizes TFT_Int
  13371. Favailable_sizes uintptr
  13372. Fnum_charmaps TFT_Int
  13373. Fcharmaps uintptr
  13374. Fgeneric TFT_Generic
  13375. Fbbox TFT_BBox
  13376. Funits_per_EM TFT_UShort
  13377. Fascender TFT_Short
  13378. Fdescender TFT_Short
  13379. Fheight TFT_Short
  13380. Fmax_advance_width TFT_Short
  13381. Fmax_advance_height TFT_Short
  13382. Funderline_position TFT_Short
  13383. Funderline_thickness TFT_Short
  13384. Fglyph TFT_GlyphSlot
  13385. Fsize TFT_Size
  13386. Fcharmap TFT_CharMap
  13387. Fdriver TFT_Driver
  13388. Fmemory TFT_Memory
  13389. Fstream TFT_Stream
  13390. Fsizes_list TFT_ListRec
  13391. Fautohint TFT_Generic
  13392. Fextensions uintptr
  13393. Finternal TFT_Face_Internal
  13394. }
  13395. type TFT_Size_Internal = uintptr
  13396. type TFT_Size_Metrics = struct {
  13397. Fx_ppem TFT_UShort
  13398. Fy_ppem TFT_UShort
  13399. Fx_scale TFT_Fixed
  13400. Fy_scale TFT_Fixed
  13401. Fascender TFT_Pos
  13402. Fdescender TFT_Pos
  13403. Fheight TFT_Pos
  13404. Fmax_advance TFT_Pos
  13405. }
  13406. type TFT_Size_Metrics_ = TFT_Size_Metrics
  13407. type TFT_SizeRec = struct {
  13408. Fface TFT_Face
  13409. Fgeneric TFT_Generic
  13410. Fmetrics TFT_Size_Metrics
  13411. Finternal TFT_Size_Internal
  13412. }
  13413. type TFT_SubGlyph = uintptr
  13414. type TFT_Slot_Internal = uintptr
  13415. type TFT_GlyphSlotRec = struct {
  13416. Flibrary TFT_Library
  13417. Fface TFT_Face
  13418. Fnext TFT_GlyphSlot
  13419. Fglyph_index TFT_UInt
  13420. Fgeneric TFT_Generic
  13421. Fmetrics TFT_Glyph_Metrics
  13422. FlinearHoriAdvance TFT_Fixed
  13423. FlinearVertAdvance TFT_Fixed
  13424. Fadvance TFT_Vector
  13425. Fformat TFT_Glyph_Format
  13426. Fbitmap TFT_Bitmap
  13427. Fbitmap_left TFT_Int
  13428. Fbitmap_top TFT_Int
  13429. Foutline TFT_Outline
  13430. Fnum_subglyphs TFT_UInt
  13431. Fsubglyphs TFT_SubGlyph
  13432. Fcontrol_data uintptr
  13433. Fcontrol_len int32
  13434. Flsb_delta TFT_Pos
  13435. Frsb_delta TFT_Pos
  13436. Fother uintptr
  13437. Finternal TFT_Slot_Internal
  13438. }
  13439. type TFT_Parameter = struct {
  13440. Ftag TFT_ULong
  13441. Fdata TFT_Pointer
  13442. }
  13443. type TFT_Parameter_ = TFT_Parameter
  13444. type TFT_Open_Args = struct {
  13445. Fflags TFT_UInt
  13446. Fmemory_base uintptr
  13447. Fmemory_size TFT_Long
  13448. Fpathname uintptr
  13449. Fstream TFT_Stream
  13450. Fdriver TFT_Module
  13451. Fnum_params TFT_Int
  13452. Fparams uintptr
  13453. }
  13454. type TFT_Open_Args_ = TFT_Open_Args
  13455. type TFT_Size_Request_Type = int32
  13456. type _FT_Size_Request_Type_ = int32
  13457. const _FT_SIZE_REQUEST_TYPE_NOMINAL = 0
  13458. const _FT_SIZE_REQUEST_TYPE_REAL_DIM = 1
  13459. const _FT_SIZE_REQUEST_TYPE_BBOX = 2
  13460. const _FT_SIZE_REQUEST_TYPE_CELL = 3
  13461. const _FT_SIZE_REQUEST_TYPE_SCALES = 4
  13462. const _FT_SIZE_REQUEST_TYPE_MAX = 5
  13463. type TFT_Size_RequestRec = struct {
  13464. Ftype1 TFT_Size_Request_Type
  13465. Fwidth TFT_Long
  13466. Fheight TFT_Long
  13467. FhoriResolution TFT_UInt
  13468. FvertResolution TFT_UInt
  13469. }
  13470. type TFT_Size_RequestRec_ = TFT_Size_RequestRec
  13471. type TFT_Size_Request = uintptr
  13472. type TFT_Render_Mode = int32
  13473. type _FT_Render_Mode_ = int32
  13474. const _FT_RENDER_MODE_NORMAL = 0
  13475. const _FT_RENDER_MODE_LIGHT = 1
  13476. const _FT_RENDER_MODE_MONO = 2
  13477. const _FT_RENDER_MODE_LCD = 3
  13478. const _FT_RENDER_MODE_LCD_V = 4
  13479. const _FT_RENDER_MODE_SDF = 5
  13480. const _FT_RENDER_MODE_MAX = 6
  13481. type TFT_Kerning_Mode = int32
  13482. type _FT_Kerning_Mode_ = int32
  13483. const _FT_KERNING_DEFAULT = 0
  13484. const _FT_KERNING_UNFITTED = 1
  13485. const _FT_KERNING_UNSCALED = 2
  13486. type TTT_Header = struct {
  13487. FTable_Version TFT_Fixed
  13488. FFont_Revision TFT_Fixed
  13489. FCheckSum_Adjust TFT_Long
  13490. FMagic_Number TFT_Long
  13491. FFlags TFT_UShort
  13492. FUnits_Per_EM TFT_UShort
  13493. FCreated [2]TFT_ULong
  13494. FModified [2]TFT_ULong
  13495. FxMin TFT_Short
  13496. FyMin TFT_Short
  13497. FxMax TFT_Short
  13498. FyMax TFT_Short
  13499. FMac_Style TFT_UShort
  13500. FLowest_Rec_PPEM TFT_UShort
  13501. FFont_Direction TFT_Short
  13502. FIndex_To_Loc_Format TFT_Short
  13503. FGlyph_Data_Format TFT_Short
  13504. }
  13505. type TTT_Header_ = TTT_Header
  13506. type TTT_HoriHeader = struct {
  13507. FVersion TFT_Fixed
  13508. FAscender TFT_Short
  13509. FDescender TFT_Short
  13510. FLine_Gap TFT_Short
  13511. Fadvance_Width_Max TFT_UShort
  13512. Fmin_Left_Side_Bearing TFT_Short
  13513. Fmin_Right_Side_Bearing TFT_Short
  13514. FxMax_Extent TFT_Short
  13515. Fcaret_Slope_Rise TFT_Short
  13516. Fcaret_Slope_Run TFT_Short
  13517. Fcaret_Offset TFT_Short
  13518. FReserved [4]TFT_Short
  13519. Fmetric_Data_Format TFT_Short
  13520. Fnumber_Of_HMetrics TFT_UShort
  13521. Flong_metrics uintptr
  13522. Fshort_metrics uintptr
  13523. }
  13524. type TTT_HoriHeader_ = TTT_HoriHeader
  13525. type TTT_VertHeader = struct {
  13526. FVersion TFT_Fixed
  13527. FAscender TFT_Short
  13528. FDescender TFT_Short
  13529. FLine_Gap TFT_Short
  13530. Fadvance_Height_Max TFT_UShort
  13531. Fmin_Top_Side_Bearing TFT_Short
  13532. Fmin_Bottom_Side_Bearing TFT_Short
  13533. FyMax_Extent TFT_Short
  13534. Fcaret_Slope_Rise TFT_Short
  13535. Fcaret_Slope_Run TFT_Short
  13536. Fcaret_Offset TFT_Short
  13537. FReserved [4]TFT_Short
  13538. Fmetric_Data_Format TFT_Short
  13539. Fnumber_Of_VMetrics TFT_UShort
  13540. Flong_metrics uintptr
  13541. Fshort_metrics uintptr
  13542. }
  13543. type TTT_VertHeader_ = TTT_VertHeader
  13544. type TTT_OS2 = struct {
  13545. Fversion TFT_UShort
  13546. FxAvgCharWidth TFT_Short
  13547. FusWeightClass TFT_UShort
  13548. FusWidthClass TFT_UShort
  13549. FfsType TFT_UShort
  13550. FySubscriptXSize TFT_Short
  13551. FySubscriptYSize TFT_Short
  13552. FySubscriptXOffset TFT_Short
  13553. FySubscriptYOffset TFT_Short
  13554. FySuperscriptXSize TFT_Short
  13555. FySuperscriptYSize TFT_Short
  13556. FySuperscriptXOffset TFT_Short
  13557. FySuperscriptYOffset TFT_Short
  13558. FyStrikeoutSize TFT_Short
  13559. FyStrikeoutPosition TFT_Short
  13560. FsFamilyClass TFT_Short
  13561. Fpanose [10]TFT_Byte
  13562. FulUnicodeRange1 TFT_ULong
  13563. FulUnicodeRange2 TFT_ULong
  13564. FulUnicodeRange3 TFT_ULong
  13565. FulUnicodeRange4 TFT_ULong
  13566. FachVendID [4]TFT_Char
  13567. FfsSelection TFT_UShort
  13568. FusFirstCharIndex TFT_UShort
  13569. FusLastCharIndex TFT_UShort
  13570. FsTypoAscender TFT_Short
  13571. FsTypoDescender TFT_Short
  13572. FsTypoLineGap TFT_Short
  13573. FusWinAscent TFT_UShort
  13574. FusWinDescent TFT_UShort
  13575. FulCodePageRange1 TFT_ULong
  13576. FulCodePageRange2 TFT_ULong
  13577. FsxHeight TFT_Short
  13578. FsCapHeight TFT_Short
  13579. FusDefaultChar TFT_UShort
  13580. FusBreakChar TFT_UShort
  13581. FusMaxContext TFT_UShort
  13582. FusLowerOpticalPointSize TFT_UShort
  13583. FusUpperOpticalPointSize TFT_UShort
  13584. }
  13585. type TTT_OS2_ = TTT_OS2
  13586. type TTT_Postscript = struct {
  13587. FFormatType TFT_Fixed
  13588. FitalicAngle TFT_Fixed
  13589. FunderlinePosition TFT_Short
  13590. FunderlineThickness TFT_Short
  13591. FisFixedPitch TFT_ULong
  13592. FminMemType42 TFT_ULong
  13593. FmaxMemType42 TFT_ULong
  13594. FminMemType1 TFT_ULong
  13595. FmaxMemType1 TFT_ULong
  13596. }
  13597. type TTT_Postscript_ = TTT_Postscript
  13598. type TTT_PCLT = struct {
  13599. FVersion TFT_Fixed
  13600. FFontNumber TFT_ULong
  13601. FPitch TFT_UShort
  13602. FxHeight TFT_UShort
  13603. FStyle TFT_UShort
  13604. FTypeFamily TFT_UShort
  13605. FCapHeight TFT_UShort
  13606. FSymbolSet TFT_UShort
  13607. FTypeFace [16]TFT_Char
  13608. FCharacterComplement [8]TFT_Char
  13609. FFileName [6]TFT_Char
  13610. FStrokeWeight TFT_Char
  13611. FWidthType TFT_Char
  13612. FSerifStyle TFT_Byte
  13613. FReserved TFT_Byte
  13614. }
  13615. type TTT_PCLT_ = TTT_PCLT
  13616. type TTT_MaxProfile = struct {
  13617. Fversion TFT_Fixed
  13618. FnumGlyphs TFT_UShort
  13619. FmaxPoints TFT_UShort
  13620. FmaxContours TFT_UShort
  13621. FmaxCompositePoints TFT_UShort
  13622. FmaxCompositeContours TFT_UShort
  13623. FmaxZones TFT_UShort
  13624. FmaxTwilightPoints TFT_UShort
  13625. FmaxStorage TFT_UShort
  13626. FmaxFunctionDefs TFT_UShort
  13627. FmaxInstructionDefs TFT_UShort
  13628. FmaxStackElements TFT_UShort
  13629. FmaxSizeOfInstructions TFT_UShort
  13630. FmaxComponentElements TFT_UShort
  13631. FmaxComponentDepth TFT_UShort
  13632. }
  13633. type TTT_MaxProfile_ = TTT_MaxProfile
  13634. type TFT_Sfnt_Tag = int32
  13635. type _FT_Sfnt_Tag_ = int32
  13636. const _FT_SFNT_HEAD = 0
  13637. const _FT_SFNT_MAXP = 1
  13638. const _FT_SFNT_OS2 = 2
  13639. const _FT_SFNT_HHEA = 3
  13640. const _FT_SFNT_VHEA = 4
  13641. const _FT_SFNT_POST = 5
  13642. const _FT_SFNT_PCLT = 6
  13643. const _FT_SFNT_MAX = 7
  13644. type TFT_SfntName = struct {
  13645. Fplatform_id TFT_UShort
  13646. Fencoding_id TFT_UShort
  13647. Flanguage_id TFT_UShort
  13648. Fname_id TFT_UShort
  13649. Fstring1 uintptr
  13650. Fstring_len TFT_UInt
  13651. }
  13652. type TFT_SfntName_ = TFT_SfntName
  13653. type TFT_SfntLangTag = struct {
  13654. Fstring1 uintptr
  13655. Fstring_len TFT_UInt
  13656. }
  13657. type TFT_SfntLangTag_ = TFT_SfntLangTag
  13658. type TPS_FontInfoRec = struct {
  13659. Fversion uintptr
  13660. Fnotice uintptr
  13661. Ffull_name uintptr
  13662. Ffamily_name uintptr
  13663. Fweight uintptr
  13664. Fitalic_angle TFT_Long
  13665. Fis_fixed_pitch TFT_Bool
  13666. Funderline_position TFT_Short
  13667. Funderline_thickness TFT_UShort
  13668. }
  13669. type TPS_FontInfoRec_ = TPS_FontInfoRec
  13670. type TPS_FontInfo = uintptr
  13671. type TT1_FontInfo = struct {
  13672. Fversion uintptr
  13673. Fnotice uintptr
  13674. Ffull_name uintptr
  13675. Ffamily_name uintptr
  13676. Fweight uintptr
  13677. Fitalic_angle TFT_Long
  13678. Fis_fixed_pitch TFT_Bool
  13679. Funderline_position TFT_Short
  13680. Funderline_thickness TFT_UShort
  13681. }
  13682. type TPS_PrivateRec = struct {
  13683. Funique_id TFT_Int
  13684. FlenIV TFT_Int
  13685. Fnum_blue_values TFT_Byte
  13686. Fnum_other_blues TFT_Byte
  13687. Fnum_family_blues TFT_Byte
  13688. Fnum_family_other_blues TFT_Byte
  13689. Fblue_values [14]TFT_Short
  13690. Fother_blues [10]TFT_Short
  13691. Ffamily_blues [14]TFT_Short
  13692. Ffamily_other_blues [10]TFT_Short
  13693. Fblue_scale TFT_Fixed
  13694. Fblue_shift TFT_Int
  13695. Fblue_fuzz TFT_Int
  13696. Fstandard_width [1]TFT_UShort
  13697. Fstandard_height [1]TFT_UShort
  13698. Fnum_snap_widths TFT_Byte
  13699. Fnum_snap_heights TFT_Byte
  13700. Fforce_bold TFT_Bool
  13701. Fround_stem_up TFT_Bool
  13702. Fsnap_widths [13]TFT_Short
  13703. Fsnap_heights [13]TFT_Short
  13704. Fexpansion_factor TFT_Fixed
  13705. Flanguage_group TFT_Long
  13706. Fpassword TFT_Long
  13707. Fmin_feature [2]TFT_Short
  13708. }
  13709. type TPS_PrivateRec_ = TPS_PrivateRec
  13710. type TPS_Private = uintptr
  13711. type TT1_Private = struct {
  13712. Funique_id TFT_Int
  13713. FlenIV TFT_Int
  13714. Fnum_blue_values TFT_Byte
  13715. Fnum_other_blues TFT_Byte
  13716. Fnum_family_blues TFT_Byte
  13717. Fnum_family_other_blues TFT_Byte
  13718. Fblue_values [14]TFT_Short
  13719. Fother_blues [10]TFT_Short
  13720. Ffamily_blues [14]TFT_Short
  13721. Ffamily_other_blues [10]TFT_Short
  13722. Fblue_scale TFT_Fixed
  13723. Fblue_shift TFT_Int
  13724. Fblue_fuzz TFT_Int
  13725. Fstandard_width [1]TFT_UShort
  13726. Fstandard_height [1]TFT_UShort
  13727. Fnum_snap_widths TFT_Byte
  13728. Fnum_snap_heights TFT_Byte
  13729. Fforce_bold TFT_Bool
  13730. Fround_stem_up TFT_Bool
  13731. Fsnap_widths [13]TFT_Short
  13732. Fsnap_heights [13]TFT_Short
  13733. Fexpansion_factor TFT_Fixed
  13734. Flanguage_group TFT_Long
  13735. Fpassword TFT_Long
  13736. Fmin_feature [2]TFT_Short
  13737. }
  13738. type TT1_Blend_Flags = int32
  13739. type _T1_Blend_Flags_ = int32
  13740. const _T1_BLEND_UNDERLINE_POSITION = 0
  13741. const _T1_BLEND_UNDERLINE_THICKNESS = 1
  13742. const _T1_BLEND_ITALIC_ANGLE = 2
  13743. const _T1_BLEND_BLUE_VALUES = 3
  13744. const _T1_BLEND_OTHER_BLUES = 4
  13745. const _T1_BLEND_STANDARD_WIDTH = 5
  13746. const _T1_BLEND_STANDARD_HEIGHT = 6
  13747. const _T1_BLEND_STEM_SNAP_WIDTHS = 7
  13748. const _T1_BLEND_STEM_SNAP_HEIGHTS = 8
  13749. const _T1_BLEND_BLUE_SCALE = 9
  13750. const _T1_BLEND_BLUE_SHIFT = 10
  13751. const _T1_BLEND_FAMILY_BLUES = 11
  13752. const _T1_BLEND_FAMILY_OTHER_BLUES = 12
  13753. const _T1_BLEND_FORCE_BOLD = 13
  13754. const _T1_BLEND_MAX = 14
  13755. type TPS_DesignMapRec = struct {
  13756. Fnum_points TFT_Byte
  13757. Fdesign_points uintptr
  13758. Fblend_points uintptr
  13759. }
  13760. type TPS_DesignMap_ = TPS_DesignMapRec
  13761. type TPS_DesignMap = uintptr
  13762. type TT1_DesignMap = struct {
  13763. Fnum_points TFT_Byte
  13764. Fdesign_points uintptr
  13765. Fblend_points uintptr
  13766. }
  13767. type TPS_BlendRec = struct {
  13768. Fnum_designs TFT_UInt
  13769. Fnum_axis TFT_UInt
  13770. Faxis_names [4]uintptr
  13771. Fdesign_pos [16]uintptr
  13772. Fdesign_map [4]TPS_DesignMapRec
  13773. Fweight_vector uintptr
  13774. Fdefault_weight_vector uintptr
  13775. Ffont_infos [17]TPS_FontInfo
  13776. Fprivates [17]TPS_Private
  13777. Fblend_bitflags TFT_ULong
  13778. Fbboxes [17]uintptr
  13779. Fdefault_design_vector [16]TFT_UInt
  13780. Fnum_default_design_vector TFT_UInt
  13781. }
  13782. type TPS_BlendRec_ = TPS_BlendRec
  13783. type TPS_Blend = uintptr
  13784. type TT1_Blend = struct {
  13785. Fnum_designs TFT_UInt
  13786. Fnum_axis TFT_UInt
  13787. Faxis_names [4]uintptr
  13788. Fdesign_pos [16]uintptr
  13789. Fdesign_map [4]TPS_DesignMapRec
  13790. Fweight_vector uintptr
  13791. Fdefault_weight_vector uintptr
  13792. Ffont_infos [17]TPS_FontInfo
  13793. Fprivates [17]TPS_Private
  13794. Fblend_bitflags TFT_ULong
  13795. Fbboxes [17]uintptr
  13796. Fdefault_design_vector [16]TFT_UInt
  13797. Fnum_default_design_vector TFT_UInt
  13798. }
  13799. type TCID_FaceDictRec = struct {
  13800. Fprivate_dict TPS_PrivateRec
  13801. Flen_buildchar TFT_UInt
  13802. Fforcebold_threshold TFT_Fixed
  13803. Fstroke_width TFT_Pos
  13804. Fexpansion_factor TFT_Fixed
  13805. Fpaint_type TFT_Byte
  13806. Ffont_type TFT_Byte
  13807. Ffont_matrix TFT_Matrix
  13808. Ffont_offset TFT_Vector
  13809. Fnum_subrs TFT_UInt
  13810. Fsubrmap_offset TFT_ULong
  13811. Fsd_bytes TFT_UInt
  13812. }
  13813. type TCID_FaceDictRec_ = TCID_FaceDictRec
  13814. type TCID_FaceDict = uintptr
  13815. type TCID_FontDict = struct {
  13816. Fprivate_dict TPS_PrivateRec
  13817. Flen_buildchar TFT_UInt
  13818. Fforcebold_threshold TFT_Fixed
  13819. Fstroke_width TFT_Pos
  13820. Fexpansion_factor TFT_Fixed
  13821. Fpaint_type TFT_Byte
  13822. Ffont_type TFT_Byte
  13823. Ffont_matrix TFT_Matrix
  13824. Ffont_offset TFT_Vector
  13825. Fnum_subrs TFT_UInt
  13826. Fsubrmap_offset TFT_ULong
  13827. Fsd_bytes TFT_UInt
  13828. }
  13829. type TCID_FaceInfoRec = struct {
  13830. Fcid_font_name uintptr
  13831. Fcid_version TFT_Fixed
  13832. Fcid_font_type TFT_Int
  13833. Fregistry uintptr
  13834. Fordering uintptr
  13835. Fsupplement TFT_Int
  13836. Ffont_info TPS_FontInfoRec
  13837. Ffont_bbox TFT_BBox
  13838. Fuid_base TFT_ULong
  13839. Fnum_xuid TFT_Int
  13840. Fxuid [16]TFT_ULong
  13841. Fcidmap_offset TFT_ULong
  13842. Ffd_bytes TFT_UInt
  13843. Fgd_bytes TFT_UInt
  13844. Fcid_count TFT_ULong
  13845. Fnum_dicts TFT_UInt
  13846. Ffont_dicts TCID_FaceDict
  13847. Fdata_offset TFT_ULong
  13848. }
  13849. type TCID_FaceInfoRec_ = TCID_FaceInfoRec
  13850. type TCID_FaceInfo = uintptr
  13851. type TCID_Info = struct {
  13852. Fcid_font_name uintptr
  13853. Fcid_version TFT_Fixed
  13854. Fcid_font_type TFT_Int
  13855. Fregistry uintptr
  13856. Fordering uintptr
  13857. Fsupplement TFT_Int
  13858. Ffont_info TPS_FontInfoRec
  13859. Ffont_bbox TFT_BBox
  13860. Fuid_base TFT_ULong
  13861. Fnum_xuid TFT_Int
  13862. Fxuid [16]TFT_ULong
  13863. Fcidmap_offset TFT_ULong
  13864. Ffd_bytes TFT_UInt
  13865. Fgd_bytes TFT_UInt
  13866. Fcid_count TFT_ULong
  13867. Fnum_dicts TFT_UInt
  13868. Ffont_dicts TCID_FaceDict
  13869. Fdata_offset TFT_ULong
  13870. }
  13871. type TT1_EncodingType = int32
  13872. type _T1_EncodingType_ = int32
  13873. const _T1_ENCODING_TYPE_NONE = 0
  13874. const _T1_ENCODING_TYPE_ARRAY = 1
  13875. const _T1_ENCODING_TYPE_STANDARD = 2
  13876. const _T1_ENCODING_TYPE_ISOLATIN1 = 3
  13877. const _T1_ENCODING_TYPE_EXPERT = 4
  13878. type TPS_Dict_Keys = int32
  13879. type _PS_Dict_Keys_ = int32
  13880. const _PS_DICT_FONT_TYPE = 0
  13881. const _PS_DICT_FONT_MATRIX = 1
  13882. const _PS_DICT_FONT_BBOX = 2
  13883. const _PS_DICT_PAINT_TYPE = 3
  13884. const _PS_DICT_FONT_NAME = 4
  13885. const _PS_DICT_UNIQUE_ID = 5
  13886. const _PS_DICT_NUM_CHAR_STRINGS = 6
  13887. const _PS_DICT_CHAR_STRING_KEY = 7
  13888. const _PS_DICT_CHAR_STRING = 8
  13889. const _PS_DICT_ENCODING_TYPE = 9
  13890. const _PS_DICT_ENCODING_ENTRY = 10
  13891. const _PS_DICT_NUM_SUBRS = 11
  13892. const _PS_DICT_SUBR = 12
  13893. const _PS_DICT_STD_HW = 13
  13894. const _PS_DICT_STD_VW = 14
  13895. const _PS_DICT_NUM_BLUE_VALUES = 15
  13896. const _PS_DICT_BLUE_VALUE = 16
  13897. const _PS_DICT_BLUE_FUZZ = 17
  13898. const _PS_DICT_NUM_OTHER_BLUES = 18
  13899. const _PS_DICT_OTHER_BLUE = 19
  13900. const _PS_DICT_NUM_FAMILY_BLUES = 20
  13901. const _PS_DICT_FAMILY_BLUE = 21
  13902. const _PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
  13903. const _PS_DICT_FAMILY_OTHER_BLUE = 23
  13904. const _PS_DICT_BLUE_SCALE = 24
  13905. const _PS_DICT_BLUE_SHIFT = 25
  13906. const _PS_DICT_NUM_STEM_SNAP_H = 26
  13907. const _PS_DICT_STEM_SNAP_H = 27
  13908. const _PS_DICT_NUM_STEM_SNAP_V = 28
  13909. const _PS_DICT_STEM_SNAP_V = 29
  13910. const _PS_DICT_FORCE_BOLD = 30
  13911. const _PS_DICT_RND_STEM_UP = 31
  13912. const _PS_DICT_MIN_FEATURE = 32
  13913. const _PS_DICT_LEN_IV = 33
  13914. const _PS_DICT_PASSWORD = 34
  13915. const _PS_DICT_LANGUAGE_GROUP = 35
  13916. const _PS_DICT_VERSION = 36
  13917. const _PS_DICT_NOTICE = 37
  13918. const _PS_DICT_FULL_NAME = 38
  13919. const _PS_DICT_FAMILY_NAME = 39
  13920. const _PS_DICT_WEIGHT = 40
  13921. const _PS_DICT_IS_FIXED_PITCH = 41
  13922. const _PS_DICT_UNDERLINE_POSITION = 42
  13923. const _PS_DICT_UNDERLINE_THICKNESS = 43
  13924. const _PS_DICT_FS_TYPE = 44
  13925. const _PS_DICT_ITALIC_ANGLE = 45
  13926. const _PS_DICT_MAX = 45
  13927. type TBDF_PropertyType = int32
  13928. type _BDF_PropertyType_ = int32
  13929. const _BDF_PROPERTY_TYPE_NONE = 0
  13930. const _BDF_PROPERTY_TYPE_ATOM = 1
  13931. const _BDF_PROPERTY_TYPE_INTEGER = 2
  13932. const _BDF_PROPERTY_TYPE_CARDINAL = 3
  13933. type TBDF_Property = uintptr
  13934. type TBDF_PropertyRec_ = struct {
  13935. Ftype1 TBDF_PropertyType
  13936. Fu struct {
  13937. Finteger [0]TFT_Int32
  13938. Fcardinal [0]TFT_UInt32
  13939. Fatom uintptr
  13940. }
  13941. }
  13942. type TBDF_PropertyRec = struct {
  13943. Ftype1 TBDF_PropertyType
  13944. Fu struct {
  13945. Finteger [0]TFT_Int32
  13946. Fcardinal [0]TFT_UInt32
  13947. Fatom uintptr
  13948. }
  13949. }
  13950. type TFT_Module_Interface = uintptr
  13951. type TFT_Module_Constructor = uintptr
  13952. type TFT_Module_Destructor = uintptr
  13953. type TFT_Module_Requester = uintptr
  13954. type TFT_Module_Class = struct {
  13955. Fmodule_flags TFT_ULong
  13956. Fmodule_size TFT_Long
  13957. Fmodule_name uintptr
  13958. Fmodule_version TFT_Fixed
  13959. Fmodule_requires TFT_Fixed
  13960. Fmodule_interface uintptr
  13961. Fmodule_init TFT_Module_Constructor
  13962. Fmodule_done TFT_Module_Destructor
  13963. Fget_interface TFT_Module_Requester
  13964. }
  13965. type TFT_Module_Class_ = TFT_Module_Class
  13966. type TFT_DebugHook_Func = uintptr
  13967. type TFT_TrueTypeEngineType = int32
  13968. type _FT_TrueTypeEngineType_ = int32
  13969. const _FT_TRUETYPE_ENGINE_TYPE_NONE = 0
  13970. const _FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1
  13971. const _FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2
  13972. type TFT_MM_Axis = struct {
  13973. Fname uintptr
  13974. Fminimum TFT_Long
  13975. Fmaximum TFT_Long
  13976. }
  13977. type TFT_MM_Axis_ = TFT_MM_Axis
  13978. type TFT_Multi_Master = struct {
  13979. Fnum_axis TFT_UInt
  13980. Fnum_designs TFT_UInt
  13981. Faxis [4]TFT_MM_Axis
  13982. }
  13983. type TFT_Multi_Master_ = TFT_Multi_Master
  13984. type TFT_Var_Axis = struct {
  13985. Fname uintptr
  13986. Fminimum TFT_Fixed
  13987. Fdef TFT_Fixed
  13988. Fmaximum TFT_Fixed
  13989. Ftag TFT_ULong
  13990. Fstrid TFT_UInt
  13991. }
  13992. type TFT_Var_Axis_ = TFT_Var_Axis
  13993. type TFT_Var_Named_Style = struct {
  13994. Fcoords uintptr
  13995. Fstrid TFT_UInt
  13996. Fpsid TFT_UInt
  13997. }
  13998. type TFT_Var_Named_Style_ = TFT_Var_Named_Style
  13999. type TFT_MM_Var = struct {
  14000. Fnum_axis TFT_UInt
  14001. Fnum_designs TFT_UInt
  14002. Fnum_namedstyles TFT_UInt
  14003. Faxis uintptr
  14004. Fnamedstyle uintptr
  14005. }
  14006. type TFT_MM_Var_ = TFT_MM_Var
  14007. var _FcNoticeFoundries = [18][2]uintptr{
  14008. 0: {
  14009. 0: __ccgo_ts + 3574,
  14010. 1: __ccgo_ts + 3580,
  14011. },
  14012. 1: {
  14013. 0: __ccgo_ts + 3586,
  14014. 1: __ccgo_ts + 3594,
  14015. },
  14016. 2: {
  14017. 0: __ccgo_ts + 3598,
  14018. 1: __ccgo_ts + 3608,
  14019. },
  14020. 3: {
  14021. 0: __ccgo_ts + 3618,
  14022. 1: __ccgo_ts + 3623,
  14023. },
  14024. 4: {
  14025. 0: __ccgo_ts + 3630,
  14026. 1: __ccgo_ts + 3623,
  14027. },
  14028. 5: {
  14029. 0: __ccgo_ts + 3636,
  14030. 1: __ccgo_ts + 3651,
  14031. },
  14032. 6: {
  14033. 0: __ccgo_ts + 3659,
  14034. 1: __ccgo_ts + 3666,
  14035. },
  14036. 7: {
  14037. 0: __ccgo_ts + 3671,
  14038. 1: __ccgo_ts + 3675,
  14039. },
  14040. 8: {
  14041. 0: __ccgo_ts + 3679,
  14042. 1: __ccgo_ts + 3714,
  14043. },
  14044. 9: {
  14045. 0: __ccgo_ts + 3718,
  14046. 1: __ccgo_ts + 3727,
  14047. },
  14048. 10: {
  14049. 0: __ccgo_ts + 3736,
  14050. 1: __ccgo_ts + 3727,
  14051. },
  14052. 11: {
  14053. 0: __ccgo_ts + 3750,
  14054. 1: __ccgo_ts + 3760,
  14055. },
  14056. 12: {
  14057. 0: __ccgo_ts + 3770,
  14058. 1: __ccgo_ts + 3779,
  14059. },
  14060. 13: {
  14061. 0: __ccgo_ts + 3788,
  14062. 1: __ccgo_ts + 3794,
  14063. },
  14064. 14: {
  14065. 0: __ccgo_ts + 3800,
  14066. 1: __ccgo_ts + 3815,
  14067. },
  14068. 15: {
  14069. 0: __ccgo_ts + 3820,
  14070. 1: __ccgo_ts + 3824,
  14071. },
  14072. 16: {
  14073. 0: __ccgo_ts + 3828,
  14074. 1: __ccgo_ts + 3836,
  14075. },
  14076. 17: {
  14077. 0: __ccgo_ts + 3844,
  14078. 1: __ccgo_ts + 3849,
  14079. },
  14080. }
  14081. /*
  14082. * Keep Han languages separated by eliminating languages
  14083. * that the codePageRange bits says aren't supported
  14084. */
  14085. var _FcCodePageRange = [4]struct {
  14086. Fbit int8
  14087. Flang [6]TFcChar8
  14088. }{
  14089. 0: {
  14090. Fbit: int8(17),
  14091. Flang: [6]TFcChar8{'j', 'a'},
  14092. },
  14093. 1: {
  14094. Fbit: int8(18),
  14095. Flang: [6]TFcChar8{'z', 'h', '-', 'c', 'n'},
  14096. },
  14097. 2: {
  14098. Fbit: int8(19),
  14099. Flang: [6]TFcChar8{'k', 'o'},
  14100. },
  14101. 3: {
  14102. Fbit: int8(20),
  14103. Flang: [6]TFcChar8{'z', 'h', '-', 't', 'w'},
  14104. },
  14105. }
  14106. func XFcFreeTypeIsExclusiveLang(tls *libc.TLS, lang uintptr) (r TFcBool) {
  14107. var i int32
  14108. _ = i
  14109. i = 0
  14110. for {
  14111. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(28)/libc.Uint32FromInt64(7))) {
  14112. break
  14113. }
  14114. if XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_FcCodePageRange))+uintptr(i)*7+1) == int32(_FcLangEqual) {
  14115. return int32(m_FcTrue)
  14116. }
  14117. goto _1
  14118. _1:
  14119. ;
  14120. i++
  14121. }
  14122. return m_FcFalse
  14123. }
  14124. type TFcFtEncoding = struct {
  14125. Fplatform_id TFT_UShort
  14126. Fencoding_id TFT_UShort
  14127. Ffromcode [12]int8
  14128. }
  14129. var _fcFtEncoding = [14]TFcFtEncoding{
  14130. 0: {
  14131. Fencoding_id: uint16(m_TT_ENCODING_DONT_CARE),
  14132. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14133. },
  14134. 1: {
  14135. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14136. Ffromcode: [12]int8{'M', 'A', 'C', 'I', 'N', 'T', 'O', 'S', 'H'},
  14137. },
  14138. 2: {
  14139. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14140. Fencoding_id: uint16(m_TT_MAC_ID_JAPANESE),
  14141. Ffromcode: [12]int8{'S', 'J', 'I', 'S'},
  14142. },
  14143. 3: {
  14144. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14145. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14146. },
  14147. 4: {
  14148. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14149. Fencoding_id: uint16(m_TT_MS_ID_UNICODE_CS),
  14150. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14151. },
  14152. 5: {
  14153. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14154. Fencoding_id: uint16(m_TT_MS_ID_SJIS),
  14155. Ffromcode: [12]int8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  14156. },
  14157. 6: {
  14158. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14159. Fencoding_id: uint16(m_TT_MS_ID_PRC),
  14160. Ffromcode: [12]int8{'G', 'B', '2', '3', '1', '2'},
  14161. },
  14162. 7: {
  14163. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14164. Fencoding_id: uint16(m_TT_MS_ID_BIG_5),
  14165. Ffromcode: [12]int8{'B', 'I', 'G', '-', '5'},
  14166. },
  14167. 8: {
  14168. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14169. Fencoding_id: uint16(m_TT_MS_ID_WANSUNG),
  14170. Ffromcode: [12]int8{'W', 'a', 'n', 's', 'u', 'n', 'g'},
  14171. },
  14172. 9: {
  14173. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14174. Fencoding_id: uint16(m_TT_MS_ID_JOHAB),
  14175. Ffromcode: [12]int8{'J', 'o', 'h', 'a', 'b'},
  14176. },
  14177. 10: {
  14178. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14179. Fencoding_id: uint16(m_TT_MS_ID_UCS_4),
  14180. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14181. },
  14182. 11: {
  14183. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14184. Ffromcode: [12]int8{'A', 'S', 'C', 'I', 'I'},
  14185. },
  14186. 12: {
  14187. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14188. Fencoding_id: uint16(m_TT_ISO_ID_10646),
  14189. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14190. },
  14191. 13: {
  14192. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14193. Fencoding_id: uint16(m_TT_ISO_ID_8859_1),
  14194. Ffromcode: [12]int8{'I', 'S', 'O', '-', '8', '8', '5', '9', '-', '1'},
  14195. },
  14196. }
  14197. type TFcFtLanguage = struct {
  14198. Fplatform_id TFT_UShort
  14199. Flanguage_id TFT_UShort
  14200. Flang [8]int8
  14201. }
  14202. var _fcFtLanguage = [335]TFcFtLanguage{
  14203. 0: {
  14204. Flanguage_id: uint16(m_TT_LANGUAGE_DONT_CARE),
  14205. Flang: [8]int8{},
  14206. },
  14207. 1: {
  14208. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14209. Flang: [8]int8{'e', 'n'},
  14210. },
  14211. 2: {
  14212. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14213. Flanguage_id: uint16(m_TT_MAC_LANGID_FRENCH),
  14214. Flang: [8]int8{'f', 'r'},
  14215. },
  14216. 3: {
  14217. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14218. Flanguage_id: uint16(m_TT_MAC_LANGID_GERMAN),
  14219. Flang: [8]int8{'d', 'e'},
  14220. },
  14221. 4: {
  14222. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14223. Flanguage_id: uint16(m_TT_MAC_LANGID_ITALIAN),
  14224. Flang: [8]int8{'i', 't'},
  14225. },
  14226. 5: {
  14227. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14228. Flanguage_id: uint16(m_TT_MAC_LANGID_DUTCH),
  14229. Flang: [8]int8{'n', 'l'},
  14230. },
  14231. 6: {
  14232. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14233. Flanguage_id: uint16(m_TT_MAC_LANGID_SWEDISH),
  14234. Flang: [8]int8{'s', 'v'},
  14235. },
  14236. 7: {
  14237. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14238. Flanguage_id: uint16(m_TT_MAC_LANGID_SPANISH),
  14239. Flang: [8]int8{'e', 's'},
  14240. },
  14241. 8: {
  14242. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14243. Flanguage_id: uint16(m_TT_MAC_LANGID_DANISH),
  14244. Flang: [8]int8{'d', 'a'},
  14245. },
  14246. 9: {
  14247. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14248. Flanguage_id: uint16(m_TT_MAC_LANGID_PORTUGUESE),
  14249. Flang: [8]int8{'p', 't'},
  14250. },
  14251. 10: {
  14252. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14253. Flanguage_id: uint16(m_TT_MAC_LANGID_NORWEGIAN),
  14254. Flang: [8]int8{'n', 'o'},
  14255. },
  14256. 11: {
  14257. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14258. Flanguage_id: uint16(m_TT_MAC_LANGID_HEBREW),
  14259. Flang: [8]int8{'h', 'e'},
  14260. },
  14261. 12: {
  14262. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14263. Flanguage_id: uint16(m_TT_MAC_LANGID_JAPANESE),
  14264. Flang: [8]int8{'j', 'a'},
  14265. },
  14266. 13: {
  14267. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14268. Flanguage_id: uint16(m_TT_MAC_LANGID_ARABIC),
  14269. Flang: [8]int8{'a', 'r'},
  14270. },
  14271. 14: {
  14272. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14273. Flanguage_id: uint16(m_TT_MAC_LANGID_FINNISH),
  14274. Flang: [8]int8{'f', 'i'},
  14275. },
  14276. 15: {
  14277. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14278. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK),
  14279. Flang: [8]int8{'e', 'l'},
  14280. },
  14281. 16: {
  14282. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14283. Flanguage_id: uint16(m_TT_MAC_LANGID_ICELANDIC),
  14284. Flang: [8]int8{'i', 's'},
  14285. },
  14286. 17: {
  14287. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14288. Flanguage_id: uint16(m_TT_MAC_LANGID_MALTESE),
  14289. Flang: [8]int8{'m', 't'},
  14290. },
  14291. 18: {
  14292. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14293. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKISH),
  14294. Flang: [8]int8{'t', 'r'},
  14295. },
  14296. 19: {
  14297. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14298. Flanguage_id: uint16(m_TT_MAC_LANGID_CROATIAN),
  14299. Flang: [8]int8{'h', 'r'},
  14300. },
  14301. 20: {
  14302. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14303. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_TRADITIONAL),
  14304. Flang: [8]int8{'z', 'h', '-', 't', 'w'},
  14305. },
  14306. 21: {
  14307. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14308. Flanguage_id: uint16(m_TT_MAC_LANGID_URDU),
  14309. Flang: [8]int8{'u', 'r'},
  14310. },
  14311. 22: {
  14312. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14313. Flanguage_id: uint16(m_TT_MAC_LANGID_HINDI),
  14314. Flang: [8]int8{'h', 'i'},
  14315. },
  14316. 23: {
  14317. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14318. Flanguage_id: uint16(m_TT_MAC_LANGID_THAI),
  14319. Flang: [8]int8{'t', 'h'},
  14320. },
  14321. 24: {
  14322. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14323. Flanguage_id: uint16(m_TT_MAC_LANGID_KOREAN),
  14324. Flang: [8]int8{'k', 'o'},
  14325. },
  14326. 25: {
  14327. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14328. Flanguage_id: uint16(m_TT_MAC_LANGID_LITHUANIAN),
  14329. Flang: [8]int8{'l', 't'},
  14330. },
  14331. 26: {
  14332. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14333. Flanguage_id: uint16(m_TT_MAC_LANGID_POLISH),
  14334. Flang: [8]int8{'p', 'l'},
  14335. },
  14336. 27: {
  14337. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14338. Flanguage_id: uint16(m_TT_MAC_LANGID_HUNGARIAN),
  14339. Flang: [8]int8{'h', 'u'},
  14340. },
  14341. 28: {
  14342. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14343. Flanguage_id: uint16(m_TT_MAC_LANGID_ESTONIAN),
  14344. Flang: [8]int8{'e', 't'},
  14345. },
  14346. 29: {
  14347. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14348. Flanguage_id: uint16(m_TT_MAC_LANGID_LETTISH),
  14349. Flang: [8]int8{'l', 'v'},
  14350. },
  14351. 30: {
  14352. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14353. Flanguage_id: uint16(m_TT_MAC_LANGID_FAEROESE),
  14354. Flang: [8]int8{'f', 'o'},
  14355. },
  14356. 31: {
  14357. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14358. Flanguage_id: uint16(m_TT_MAC_LANGID_FARSI),
  14359. Flang: [8]int8{'f', 'a'},
  14360. },
  14361. 32: {
  14362. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14363. Flanguage_id: uint16(m_TT_MAC_LANGID_RUSSIAN),
  14364. Flang: [8]int8{'r', 'u'},
  14365. },
  14366. 33: {
  14367. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14368. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_SIMPLIFIED),
  14369. Flang: [8]int8{'z', 'h', '-', 'c', 'n'},
  14370. },
  14371. 34: {
  14372. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14373. Flanguage_id: uint16(m_TT_MAC_LANGID_FLEMISH),
  14374. Flang: [8]int8{'n', 'l'},
  14375. },
  14376. 35: {
  14377. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14378. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH),
  14379. Flang: [8]int8{'g', 'a'},
  14380. },
  14381. 36: {
  14382. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14383. Flanguage_id: uint16(m_TT_MAC_LANGID_ALBANIAN),
  14384. Flang: [8]int8{'s', 'q'},
  14385. },
  14386. 37: {
  14387. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14388. Flanguage_id: uint16(m_TT_MAC_LANGID_ROMANIAN),
  14389. Flang: [8]int8{'r', 'o'},
  14390. },
  14391. 38: {
  14392. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14393. Flanguage_id: uint16(m_TT_MAC_LANGID_CZECH),
  14394. Flang: [8]int8{'c', 's'},
  14395. },
  14396. 39: {
  14397. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14398. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVAK),
  14399. Flang: [8]int8{'s', 'k'},
  14400. },
  14401. 40: {
  14402. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14403. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVENIAN),
  14404. Flang: [8]int8{'s', 'l'},
  14405. },
  14406. 41: {
  14407. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14408. Flanguage_id: uint16(m_TT_MAC_LANGID_YIDDISH),
  14409. Flang: [8]int8{'y', 'i'},
  14410. },
  14411. 42: {
  14412. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14413. Flanguage_id: uint16(m_TT_MAC_LANGID_SERBIAN),
  14414. Flang: [8]int8{'s', 'r'},
  14415. },
  14416. 43: {
  14417. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14418. Flanguage_id: uint16(m_TT_MAC_LANGID_MACEDONIAN),
  14419. Flang: [8]int8{'m', 'k'},
  14420. },
  14421. 44: {
  14422. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14423. Flanguage_id: uint16(m_TT_MAC_LANGID_BULGARIAN),
  14424. Flang: [8]int8{'b', 'g'},
  14425. },
  14426. 45: {
  14427. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14428. Flanguage_id: uint16(m_TT_MAC_LANGID_UKRAINIAN),
  14429. Flang: [8]int8{'u', 'k'},
  14430. },
  14431. 46: {
  14432. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14433. Flanguage_id: uint16(m_TT_MAC_LANGID_BYELORUSSIAN),
  14434. Flang: [8]int8{'b', 'e'},
  14435. },
  14436. 47: {
  14437. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14438. Flanguage_id: uint16(m_TT_MAC_LANGID_UZBEK),
  14439. Flang: [8]int8{'u', 'z'},
  14440. },
  14441. 48: {
  14442. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14443. Flanguage_id: uint16(m_TT_MAC_LANGID_KAZAKH),
  14444. Flang: [8]int8{'k', 'k'},
  14445. },
  14446. 49: {
  14447. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14448. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI),
  14449. Flang: [8]int8{'a', 'z'},
  14450. },
  14451. 50: {
  14452. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14453. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT),
  14454. Flang: [8]int8{'a', 'z'},
  14455. },
  14456. 51: {
  14457. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14458. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT),
  14459. Flang: [8]int8{'a', 'r'},
  14460. },
  14461. 52: {
  14462. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14463. Flanguage_id: uint16(m_TT_MAC_LANGID_ARMENIAN),
  14464. Flang: [8]int8{'h', 'y'},
  14465. },
  14466. 53: {
  14467. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14468. Flanguage_id: uint16(m_TT_MAC_LANGID_GEORGIAN),
  14469. Flang: [8]int8{'k', 'a'},
  14470. },
  14471. 54: {
  14472. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14473. Flanguage_id: uint16(m_TT_MAC_LANGID_MOLDAVIAN),
  14474. Flang: [8]int8{'m', 'o'},
  14475. },
  14476. 55: {
  14477. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14478. Flanguage_id: uint16(m_TT_MAC_LANGID_KIRGHIZ),
  14479. Flang: [8]int8{'k', 'y'},
  14480. },
  14481. 56: {
  14482. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14483. Flanguage_id: uint16(m_TT_MAC_LANGID_TAJIKI),
  14484. Flang: [8]int8{'t', 'g'},
  14485. },
  14486. 57: {
  14487. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14488. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKMEN),
  14489. Flang: [8]int8{'t', 'k'},
  14490. },
  14491. 58: {
  14492. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14493. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN),
  14494. Flang: [8]int8{'m', 'n'},
  14495. },
  14496. 59: {
  14497. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14498. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT),
  14499. Flang: [8]int8{'m', 'n'},
  14500. },
  14501. 60: {
  14502. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14503. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT),
  14504. Flang: [8]int8{'m', 'n'},
  14505. },
  14506. 61: {
  14507. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14508. Flanguage_id: uint16(m_TT_MAC_LANGID_PASHTO),
  14509. Flang: [8]int8{'p', 's'},
  14510. },
  14511. 62: {
  14512. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14513. Flanguage_id: uint16(m_TT_MAC_LANGID_KURDISH),
  14514. Flang: [8]int8{'k', 'u'},
  14515. },
  14516. 63: {
  14517. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14518. Flanguage_id: uint16(m_TT_MAC_LANGID_KASHMIRI),
  14519. Flang: [8]int8{'k', 's'},
  14520. },
  14521. 64: {
  14522. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14523. Flanguage_id: uint16(m_TT_MAC_LANGID_SINDHI),
  14524. Flang: [8]int8{'s', 'd'},
  14525. },
  14526. 65: {
  14527. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14528. Flanguage_id: uint16(m_TT_MAC_LANGID_TIBETAN),
  14529. Flang: [8]int8{'b', 'o'},
  14530. },
  14531. 66: {
  14532. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14533. Flanguage_id: uint16(m_TT_MAC_LANGID_NEPALI),
  14534. Flang: [8]int8{'n', 'e'},
  14535. },
  14536. 67: {
  14537. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14538. Flanguage_id: uint16(m_TT_MAC_LANGID_SANSKRIT),
  14539. Flang: [8]int8{'s', 'a'},
  14540. },
  14541. 68: {
  14542. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14543. Flanguage_id: uint16(m_TT_MAC_LANGID_MARATHI),
  14544. Flang: [8]int8{'m', 'r'},
  14545. },
  14546. 69: {
  14547. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14548. Flanguage_id: uint16(m_TT_MAC_LANGID_BENGALI),
  14549. Flang: [8]int8{'b', 'n'},
  14550. },
  14551. 70: {
  14552. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14553. Flanguage_id: uint16(m_TT_MAC_LANGID_ASSAMESE),
  14554. Flang: [8]int8{'a', 's'},
  14555. },
  14556. 71: {
  14557. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14558. Flanguage_id: uint16(m_TT_MAC_LANGID_GUJARATI),
  14559. Flang: [8]int8{'g', 'u'},
  14560. },
  14561. 72: {
  14562. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14563. Flanguage_id: uint16(m_TT_MAC_LANGID_PUNJABI),
  14564. Flang: [8]int8{'p', 'a'},
  14565. },
  14566. 73: {
  14567. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14568. Flanguage_id: uint16(m_TT_MAC_LANGID_ORIYA),
  14569. Flang: [8]int8{'o', 'r'},
  14570. },
  14571. 74: {
  14572. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14573. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAYALAM),
  14574. Flang: [8]int8{'m', 'l'},
  14575. },
  14576. 75: {
  14577. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14578. Flanguage_id: uint16(m_TT_MAC_LANGID_KANNADA),
  14579. Flang: [8]int8{'k', 'n'},
  14580. },
  14581. 76: {
  14582. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14583. Flanguage_id: uint16(m_TT_MAC_LANGID_TAMIL),
  14584. Flang: [8]int8{'t', 'a'},
  14585. },
  14586. 77: {
  14587. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14588. Flanguage_id: uint16(m_TT_MAC_LANGID_TELUGU),
  14589. Flang: [8]int8{'t', 'e'},
  14590. },
  14591. 78: {
  14592. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14593. Flanguage_id: uint16(m_TT_MAC_LANGID_SINHALESE),
  14594. Flang: [8]int8{'s', 'i'},
  14595. },
  14596. 79: {
  14597. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14598. Flanguage_id: uint16(m_TT_MAC_LANGID_BURMESE),
  14599. Flang: [8]int8{'m', 'y'},
  14600. },
  14601. 80: {
  14602. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14603. Flanguage_id: uint16(m_TT_MAC_LANGID_KHMER),
  14604. Flang: [8]int8{'k', 'm'},
  14605. },
  14606. 81: {
  14607. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14608. Flanguage_id: uint16(m_TT_MAC_LANGID_LAO),
  14609. Flang: [8]int8{'l', 'o'},
  14610. },
  14611. 82: {
  14612. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14613. Flanguage_id: uint16(m_TT_MAC_LANGID_VIETNAMESE),
  14614. Flang: [8]int8{'v', 'i'},
  14615. },
  14616. 83: {
  14617. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14618. Flanguage_id: uint16(m_TT_MAC_LANGID_INDONESIAN),
  14619. Flang: [8]int8{'i', 'd'},
  14620. },
  14621. 84: {
  14622. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14623. Flanguage_id: uint16(m_TT_MAC_LANGID_TAGALOG),
  14624. Flang: [8]int8{'t', 'l'},
  14625. },
  14626. 85: {
  14627. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14628. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT),
  14629. Flang: [8]int8{'m', 's'},
  14630. },
  14631. 86: {
  14632. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14633. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT),
  14634. Flang: [8]int8{'m', 's'},
  14635. },
  14636. 87: {
  14637. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14638. Flanguage_id: uint16(m_TT_MAC_LANGID_AMHARIC),
  14639. Flang: [8]int8{'a', 'm'},
  14640. },
  14641. 88: {
  14642. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14643. Flanguage_id: uint16(m_TT_MAC_LANGID_TIGRINYA),
  14644. Flang: [8]int8{'t', 'i'},
  14645. },
  14646. 89: {
  14647. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14648. Flanguage_id: uint16(m_TT_MAC_LANGID_GALLA),
  14649. Flang: [8]int8{'o', 'm'},
  14650. },
  14651. 90: {
  14652. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14653. Flanguage_id: uint16(m_TT_MAC_LANGID_SOMALI),
  14654. Flang: [8]int8{'s', 'o'},
  14655. },
  14656. 91: {
  14657. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14658. Flanguage_id: uint16(m_TT_MAC_LANGID_SWAHILI),
  14659. Flang: [8]int8{'s', 'w'},
  14660. },
  14661. 92: {
  14662. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14663. Flanguage_id: uint16(m_TT_MAC_LANGID_RUANDA),
  14664. Flang: [8]int8{'r', 'w'},
  14665. },
  14666. 93: {
  14667. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14668. Flanguage_id: uint16(m_TT_MAC_LANGID_RUNDI),
  14669. Flang: [8]int8{'r', 'n'},
  14670. },
  14671. 94: {
  14672. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14673. Flanguage_id: uint16(m_TT_MAC_LANGID_CHEWA),
  14674. Flang: [8]int8{'n', 'y'},
  14675. },
  14676. 95: {
  14677. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14678. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAGASY),
  14679. Flang: [8]int8{'m', 'g'},
  14680. },
  14681. 96: {
  14682. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14683. Flanguage_id: uint16(m_TT_MAC_LANGID_ESPERANTO),
  14684. Flang: [8]int8{'e', 'o'},
  14685. },
  14686. 97: {
  14687. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14688. Flanguage_id: uint16(m_TT_MAC_LANGID_WELSH),
  14689. Flang: [8]int8{'c', 'y'},
  14690. },
  14691. 98: {
  14692. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14693. Flanguage_id: uint16(m_TT_MAC_LANGID_BASQUE),
  14694. Flang: [8]int8{'e', 'u'},
  14695. },
  14696. 99: {
  14697. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14698. Flanguage_id: uint16(m_TT_MAC_LANGID_CATALAN),
  14699. Flang: [8]int8{'c', 'a'},
  14700. },
  14701. 100: {
  14702. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14703. Flanguage_id: uint16(m_TT_MAC_LANGID_LATIN),
  14704. Flang: [8]int8{'l', 'a'},
  14705. },
  14706. 101: {
  14707. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14708. Flanguage_id: uint16(m_TT_MAC_LANGID_QUECHUA),
  14709. Flang: [8]int8{'q', 'u'},
  14710. },
  14711. 102: {
  14712. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14713. Flanguage_id: uint16(m_TT_MAC_LANGID_GUARANI),
  14714. Flang: [8]int8{'g', 'n'},
  14715. },
  14716. 103: {
  14717. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14718. Flanguage_id: uint16(m_TT_MAC_LANGID_AYMARA),
  14719. Flang: [8]int8{'a', 'y'},
  14720. },
  14721. 104: {
  14722. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14723. Flanguage_id: uint16(m_TT_MAC_LANGID_TATAR),
  14724. Flang: [8]int8{'t', 't'},
  14725. },
  14726. 105: {
  14727. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14728. Flanguage_id: uint16(m_TT_MAC_LANGID_UIGHUR),
  14729. Flang: [8]int8{'u', 'g'},
  14730. },
  14731. 106: {
  14732. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14733. Flanguage_id: uint16(m_TT_MAC_LANGID_DZONGKHA),
  14734. Flang: [8]int8{'d', 'z'},
  14735. },
  14736. 107: {
  14737. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14738. Flanguage_id: uint16(m_TT_MAC_LANGID_JAVANESE),
  14739. Flang: [8]int8{'j', 'w'},
  14740. },
  14741. 108: {
  14742. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14743. Flanguage_id: uint16(m_TT_MAC_LANGID_SUNDANESE),
  14744. Flang: [8]int8{'s', 'u'},
  14745. },
  14746. 109: {
  14747. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14748. Flanguage_id: uint16(m_TT_MAC_LANGID_GALICIAN),
  14749. Flang: [8]int8{'g', 'l'},
  14750. },
  14751. 110: {
  14752. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14753. Flanguage_id: uint16(m_TT_MAC_LANGID_AFRIKAANS),
  14754. Flang: [8]int8{'a', 'f'},
  14755. },
  14756. 111: {
  14757. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14758. Flanguage_id: uint16(m_TT_MAC_LANGID_BRETON),
  14759. Flang: [8]int8{'b', 'r'},
  14760. },
  14761. 112: {
  14762. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14763. Flanguage_id: uint16(m_TT_MAC_LANGID_INUKTITUT),
  14764. Flang: [8]int8{'i', 'u'},
  14765. },
  14766. 113: {
  14767. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14768. Flanguage_id: uint16(m_TT_MAC_LANGID_SCOTTISH_GAELIC),
  14769. Flang: [8]int8{'g', 'd'},
  14770. },
  14771. 114: {
  14772. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14773. Flanguage_id: uint16(m_TT_MAC_LANGID_MANX_GAELIC),
  14774. Flang: [8]int8{'g', 'v'},
  14775. },
  14776. 115: {
  14777. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14778. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH_GAELIC),
  14779. Flang: [8]int8{'g', 'a'},
  14780. },
  14781. 116: {
  14782. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14783. Flanguage_id: uint16(m_TT_MAC_LANGID_TONGAN),
  14784. Flang: [8]int8{'t', 'o'},
  14785. },
  14786. 117: {
  14787. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14788. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK_POLYTONIC),
  14789. Flang: [8]int8{'e', 'l'},
  14790. },
  14791. 118: {
  14792. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14793. Flanguage_id: uint16(m_TT_MAC_LANGID_GREELANDIC),
  14794. Flang: [8]int8{'i', 'k'},
  14795. },
  14796. 119: {
  14797. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14798. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT),
  14799. Flang: [8]int8{'a', 'z'},
  14800. },
  14801. 120: {
  14802. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14803. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA),
  14804. Flang: [8]int8{'a', 'r'},
  14805. },
  14806. 121: {
  14807. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14808. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_IRAQ),
  14809. Flang: [8]int8{'a', 'r'},
  14810. },
  14811. 122: {
  14812. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14813. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_EGYPT),
  14814. Flang: [8]int8{'a', 'r'},
  14815. },
  14816. 123: {
  14817. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14818. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LIBYA),
  14819. Flang: [8]int8{'a', 'r'},
  14820. },
  14821. 124: {
  14822. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14823. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_ALGERIA),
  14824. Flang: [8]int8{'a', 'r'},
  14825. },
  14826. 125: {
  14827. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14828. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_MOROCCO),
  14829. Flang: [8]int8{'a', 'r'},
  14830. },
  14831. 126: {
  14832. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14833. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_TUNISIA),
  14834. Flang: [8]int8{'a', 'r'},
  14835. },
  14836. 127: {
  14837. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14838. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_OMAN),
  14839. Flang: [8]int8{'a', 'r'},
  14840. },
  14841. 128: {
  14842. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14843. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_YEMEN),
  14844. Flang: [8]int8{'a', 'r'},
  14845. },
  14846. 129: {
  14847. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14848. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SYRIA),
  14849. Flang: [8]int8{'a', 'r'},
  14850. },
  14851. 130: {
  14852. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14853. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_JORDAN),
  14854. Flang: [8]int8{'a', 'r'},
  14855. },
  14856. 131: {
  14857. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14858. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LEBANON),
  14859. Flang: [8]int8{'a', 'r'},
  14860. },
  14861. 132: {
  14862. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14863. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_KUWAIT),
  14864. Flang: [8]int8{'a', 'r'},
  14865. },
  14866. 133: {
  14867. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14868. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_UAE),
  14869. Flang: [8]int8{'a', 'r'},
  14870. },
  14871. 134: {
  14872. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14873. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_BAHRAIN),
  14874. Flang: [8]int8{'a', 'r'},
  14875. },
  14876. 135: {
  14877. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14878. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_QATAR),
  14879. Flang: [8]int8{'a', 'r'},
  14880. },
  14881. 136: {
  14882. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14883. Flanguage_id: uint16(m_TT_MS_LANGID_BULGARIAN_BULGARIA),
  14884. Flang: [8]int8{'b', 'g'},
  14885. },
  14886. 137: {
  14887. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14888. Flanguage_id: uint16(m_TT_MS_LANGID_CATALAN_CATALAN),
  14889. Flang: [8]int8{'c', 'a'},
  14890. },
  14891. 138: {
  14892. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14893. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_TAIWAN),
  14894. Flang: [8]int8{'z', 'h', '-', 't', 'w'},
  14895. },
  14896. 139: {
  14897. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14898. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_PRC),
  14899. Flang: [8]int8{'z', 'h', '-', 'c', 'n'},
  14900. },
  14901. 140: {
  14902. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14903. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_HONG_KONG),
  14904. Flang: [8]int8{'z', 'h', '-', 'h', 'k'},
  14905. },
  14906. 141: {
  14907. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14908. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_SINGAPORE),
  14909. Flang: [8]int8{'z', 'h', '-', 's', 'g'},
  14910. },
  14911. 142: {
  14912. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14913. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_MACAO),
  14914. Flang: [8]int8{'z', 'h', '-', 'm', 'o'},
  14915. },
  14916. 143: {
  14917. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14918. Flanguage_id: uint16(m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC),
  14919. Flang: [8]int8{'c', 's'},
  14920. },
  14921. 144: {
  14922. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14923. Flanguage_id: uint16(m_TT_MS_LANGID_DANISH_DENMARK),
  14924. Flang: [8]int8{'d', 'a'},
  14925. },
  14926. 145: {
  14927. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14928. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_GERMANY),
  14929. Flang: [8]int8{'d', 'e'},
  14930. },
  14931. 146: {
  14932. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14933. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_SWITZERLAND),
  14934. Flang: [8]int8{'d', 'e'},
  14935. },
  14936. 147: {
  14937. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14938. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_AUSTRIA),
  14939. Flang: [8]int8{'d', 'e'},
  14940. },
  14941. 148: {
  14942. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14943. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LUXEMBOURG),
  14944. Flang: [8]int8{'d', 'e'},
  14945. },
  14946. 149: {
  14947. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14948. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN),
  14949. Flang: [8]int8{'d', 'e'},
  14950. },
  14951. 150: {
  14952. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14953. Flanguage_id: uint16(m_TT_MS_LANGID_GREEK_GREECE),
  14954. Flang: [8]int8{'e', 'l'},
  14955. },
  14956. 151: {
  14957. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14958. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  14959. Flang: [8]int8{'e', 'n'},
  14960. },
  14961. 152: {
  14962. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14963. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM),
  14964. Flang: [8]int8{'e', 'n'},
  14965. },
  14966. 153: {
  14967. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14968. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_AUSTRALIA),
  14969. Flang: [8]int8{'e', 'n'},
  14970. },
  14971. 154: {
  14972. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14973. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CANADA),
  14974. Flang: [8]int8{'e', 'n'},
  14975. },
  14976. 155: {
  14977. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14978. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND),
  14979. Flang: [8]int8{'e', 'n'},
  14980. },
  14981. 156: {
  14982. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14983. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_IRELAND),
  14984. Flang: [8]int8{'e', 'n'},
  14985. },
  14986. 157: {
  14987. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14988. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA),
  14989. Flang: [8]int8{'e', 'n'},
  14990. },
  14991. 158: {
  14992. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14993. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_JAMAICA),
  14994. Flang: [8]int8{'e', 'n'},
  14995. },
  14996. 159: {
  14997. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14998. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CARIBBEAN),
  14999. Flang: [8]int8{'e', 'n'},
  15000. },
  15001. 160: {
  15002. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15003. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_BELIZE),
  15004. Flang: [8]int8{'e', 'n'},
  15005. },
  15006. 161: {
  15007. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15008. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_TRINIDAD),
  15009. Flang: [8]int8{'e', 'n'},
  15010. },
  15011. 162: {
  15012. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15013. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_ZIMBABWE),
  15014. Flang: [8]int8{'e', 'n'},
  15015. },
  15016. 163: {
  15017. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15018. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_PHILIPPINES),
  15019. Flang: [8]int8{'e', 'n'},
  15020. },
  15021. 164: {
  15022. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15023. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT),
  15024. Flang: [8]int8{'e', 's'},
  15025. },
  15026. 165: {
  15027. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15028. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_MEXICO),
  15029. Flang: [8]int8{'e', 's'},
  15030. },
  15031. 166: {
  15032. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15033. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT),
  15034. Flang: [8]int8{'e', 's'},
  15035. },
  15036. 167: {
  15037. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15038. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_GUATEMALA),
  15039. Flang: [8]int8{'e', 's'},
  15040. },
  15041. 168: {
  15042. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15043. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COSTA_RICA),
  15044. Flang: [8]int8{'e', 's'},
  15045. },
  15046. 169: {
  15047. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15048. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PANAMA),
  15049. Flang: [8]int8{'e', 's'},
  15050. },
  15051. 170: {
  15052. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15053. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC),
  15054. Flang: [8]int8{'e', 's'},
  15055. },
  15056. 171: {
  15057. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15058. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_VENEZUELA),
  15059. Flang: [8]int8{'e', 's'},
  15060. },
  15061. 172: {
  15062. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15063. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COLOMBIA),
  15064. Flang: [8]int8{'e', 's'},
  15065. },
  15066. 173: {
  15067. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15068. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PERU),
  15069. Flang: [8]int8{'e', 's'},
  15070. },
  15071. 174: {
  15072. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15073. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ARGENTINA),
  15074. Flang: [8]int8{'e', 's'},
  15075. },
  15076. 175: {
  15077. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15078. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ECUADOR),
  15079. Flang: [8]int8{'e', 's'},
  15080. },
  15081. 176: {
  15082. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15083. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_CHILE),
  15084. Flang: [8]int8{'e', 's'},
  15085. },
  15086. 177: {
  15087. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15088. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_URUGUAY),
  15089. Flang: [8]int8{'e', 's'},
  15090. },
  15091. 178: {
  15092. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15093. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PARAGUAY),
  15094. Flang: [8]int8{'e', 's'},
  15095. },
  15096. 179: {
  15097. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15098. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_BOLIVIA),
  15099. Flang: [8]int8{'e', 's'},
  15100. },
  15101. 180: {
  15102. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15103. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_EL_SALVADOR),
  15104. Flang: [8]int8{'e', 's'},
  15105. },
  15106. 181: {
  15107. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15108. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_HONDURAS),
  15109. Flang: [8]int8{'e', 's'},
  15110. },
  15111. 182: {
  15112. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15113. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_NICARAGUA),
  15114. Flang: [8]int8{'e', 's'},
  15115. },
  15116. 183: {
  15117. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15118. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PUERTO_RICO),
  15119. Flang: [8]int8{'e', 's'},
  15120. },
  15121. 184: {
  15122. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15123. Flanguage_id: uint16(m_TT_MS_LANGID_FINNISH_FINLAND),
  15124. Flang: [8]int8{'f', 'i'},
  15125. },
  15126. 185: {
  15127. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15128. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_FRANCE),
  15129. Flang: [8]int8{'f', 'r'},
  15130. },
  15131. 186: {
  15132. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15133. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_BELGIUM),
  15134. Flang: [8]int8{'f', 'r'},
  15135. },
  15136. 187: {
  15137. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15138. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CANADA),
  15139. Flang: [8]int8{'f', 'r'},
  15140. },
  15141. 188: {
  15142. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15143. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SWITZERLAND),
  15144. Flang: [8]int8{'f', 'r'},
  15145. },
  15146. 189: {
  15147. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15148. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_LUXEMBOURG),
  15149. Flang: [8]int8{'f', 'r'},
  15150. },
  15151. 190: {
  15152. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15153. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MONACO),
  15154. Flang: [8]int8{'f', 'r'},
  15155. },
  15156. 191: {
  15157. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15158. Flanguage_id: uint16(m_TT_MS_LANGID_HEBREW_ISRAEL),
  15159. Flang: [8]int8{'h', 'e'},
  15160. },
  15161. 192: {
  15162. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15163. Flanguage_id: uint16(m_TT_MS_LANGID_HUNGARIAN_HUNGARY),
  15164. Flang: [8]int8{'h', 'u'},
  15165. },
  15166. 193: {
  15167. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15168. Flanguage_id: uint16(m_TT_MS_LANGID_ICELANDIC_ICELAND),
  15169. Flang: [8]int8{'i', 's'},
  15170. },
  15171. 194: {
  15172. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15173. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_ITALY),
  15174. Flang: [8]int8{'i', 't'},
  15175. },
  15176. 195: {
  15177. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15178. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_SWITZERLAND),
  15179. Flang: [8]int8{'i', 't'},
  15180. },
  15181. 196: {
  15182. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15183. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  15184. Flang: [8]int8{'j', 'a'},
  15185. },
  15186. 197: {
  15187. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15188. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_KOREA),
  15189. Flang: [8]int8{'k', 'o'},
  15190. },
  15191. 198: {
  15192. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15193. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_JOHAB_KOREA),
  15194. Flang: [8]int8{'k', 'o'},
  15195. },
  15196. 199: {
  15197. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15198. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_NETHERLANDS),
  15199. Flang: [8]int8{'n', 'l'},
  15200. },
  15201. 200: {
  15202. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15203. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_BELGIUM),
  15204. Flang: [8]int8{'n', 'l'},
  15205. },
  15206. 201: {
  15207. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15208. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL),
  15209. Flang: [8]int8{'n', 'o'},
  15210. },
  15211. 202: {
  15212. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15213. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK),
  15214. Flang: [8]int8{'n', 'n'},
  15215. },
  15216. 203: {
  15217. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15218. Flanguage_id: uint16(m_TT_MS_LANGID_POLISH_POLAND),
  15219. Flang: [8]int8{'p', 'l'},
  15220. },
  15221. 204: {
  15222. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15223. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_BRAZIL),
  15224. Flang: [8]int8{'p', 't'},
  15225. },
  15226. 205: {
  15227. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15228. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_PORTUGAL),
  15229. Flang: [8]int8{'p', 't'},
  15230. },
  15231. 206: {
  15232. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15233. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANSH_SWITZERLAND),
  15234. Flang: [8]int8{'r', 'm'},
  15235. },
  15236. 207: {
  15237. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15238. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANIAN_ROMANIA),
  15239. Flang: [8]int8{'r', 'o'},
  15240. },
  15241. 208: {
  15242. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15243. Flanguage_id: uint16(m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA),
  15244. Flang: [8]int8{'m', 'o'},
  15245. },
  15246. 209: {
  15247. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15248. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_RUSSIA),
  15249. Flang: [8]int8{'r', 'u'},
  15250. },
  15251. 210: {
  15252. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15253. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_MOLDAVIA),
  15254. Flang: [8]int8{'r', 'u'},
  15255. },
  15256. 211: {
  15257. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15258. Flanguage_id: uint16(m_TT_MS_LANGID_CROATIAN_CROATIA),
  15259. Flang: [8]int8{'h', 'r'},
  15260. },
  15261. 212: {
  15262. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15263. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN),
  15264. Flang: [8]int8{'s', 'r'},
  15265. },
  15266. 213: {
  15267. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15268. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC),
  15269. Flang: [8]int8{'s', 'r'},
  15270. },
  15271. 214: {
  15272. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15273. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVAK_SLOVAKIA),
  15274. Flang: [8]int8{'s', 'k'},
  15275. },
  15276. 215: {
  15277. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15278. Flanguage_id: uint16(m_TT_MS_LANGID_ALBANIAN_ALBANIA),
  15279. Flang: [8]int8{'s', 'q'},
  15280. },
  15281. 216: {
  15282. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15283. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_SWEDEN),
  15284. Flang: [8]int8{'s', 'v'},
  15285. },
  15286. 217: {
  15287. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15288. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_FINLAND),
  15289. Flang: [8]int8{'s', 'v'},
  15290. },
  15291. 218: {
  15292. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15293. Flanguage_id: uint16(m_TT_MS_LANGID_THAI_THAILAND),
  15294. Flang: [8]int8{'t', 'h'},
  15295. },
  15296. 219: {
  15297. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15298. Flanguage_id: uint16(m_TT_MS_LANGID_TURKISH_TURKEY),
  15299. Flang: [8]int8{'t', 'r'},
  15300. },
  15301. 220: {
  15302. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15303. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_PAKISTAN),
  15304. Flang: [8]int8{'u', 'r'},
  15305. },
  15306. 221: {
  15307. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15308. Flanguage_id: uint16(m_TT_MS_LANGID_INDONESIAN_INDONESIA),
  15309. Flang: [8]int8{'i', 'd'},
  15310. },
  15311. 222: {
  15312. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15313. Flanguage_id: uint16(m_TT_MS_LANGID_UKRAINIAN_UKRAINE),
  15314. Flang: [8]int8{'u', 'k'},
  15315. },
  15316. 223: {
  15317. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15318. Flanguage_id: uint16(m_TT_MS_LANGID_BELARUSIAN_BELARUS),
  15319. Flang: [8]int8{'b', 'e'},
  15320. },
  15321. 224: {
  15322. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15323. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVENIAN_SLOVENIA),
  15324. Flang: [8]int8{'s', 'l'},
  15325. },
  15326. 225: {
  15327. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15328. Flanguage_id: uint16(m_TT_MS_LANGID_ESTONIAN_ESTONIA),
  15329. Flang: [8]int8{'e', 't'},
  15330. },
  15331. 226: {
  15332. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15333. Flanguage_id: uint16(m_TT_MS_LANGID_LATVIAN_LATVIA),
  15334. Flang: [8]int8{'l', 'v'},
  15335. },
  15336. 227: {
  15337. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15338. Flanguage_id: uint16(m_TT_MS_LANGID_LITHUANIAN_LITHUANIA),
  15339. Flang: [8]int8{'l', 't'},
  15340. },
  15341. 228: {
  15342. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15343. Flanguage_id: uint16(m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA),
  15344. Flang: [8]int8{'l', 't'},
  15345. },
  15346. 229: {
  15347. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15348. Flanguage_id: uint16(m_TT_MS_LANGID_MAORI_NEW_ZEALAND),
  15349. Flang: [8]int8{'m', 'i'},
  15350. },
  15351. 230: {
  15352. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15353. Flanguage_id: uint16(m_TT_MS_LANGID_FARSI_IRAN),
  15354. Flang: [8]int8{'f', 'a'},
  15355. },
  15356. 231: {
  15357. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15358. Flanguage_id: uint16(m_TT_MS_LANGID_VIETNAMESE_VIET_NAM),
  15359. Flang: [8]int8{'v', 'i'},
  15360. },
  15361. 232: {
  15362. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15363. Flanguage_id: uint16(m_TT_MS_LANGID_ARMENIAN_ARMENIA),
  15364. Flang: [8]int8{'h', 'y'},
  15365. },
  15366. 233: {
  15367. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15368. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN),
  15369. Flang: [8]int8{'a', 'z'},
  15370. },
  15371. 234: {
  15372. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15373. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC),
  15374. Flang: [8]int8{'a', 'z'},
  15375. },
  15376. 235: {
  15377. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15378. Flanguage_id: uint16(m_TT_MS_LANGID_BASQUE_BASQUE),
  15379. Flang: [8]int8{'e', 'u'},
  15380. },
  15381. 236: {
  15382. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15383. Flanguage_id: uint16(m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY),
  15384. Flang: [8]int8{'w', 'e', 'n'},
  15385. },
  15386. 237: {
  15387. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15388. Flanguage_id: uint16(m_TT_MS_LANGID_MACEDONIAN_MACEDONIA),
  15389. Flang: [8]int8{'m', 'k'},
  15390. },
  15391. 238: {
  15392. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15393. Flanguage_id: uint16(m_TT_MS_LANGID_SUTU_SOUTH_AFRICA),
  15394. Flang: [8]int8{'s', 't'},
  15395. },
  15396. 239: {
  15397. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15398. Flanguage_id: uint16(m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA),
  15399. Flang: [8]int8{'t', 's'},
  15400. },
  15401. 240: {
  15402. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15403. Flanguage_id: uint16(m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA),
  15404. Flang: [8]int8{'t', 'n'},
  15405. },
  15406. 241: {
  15407. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15408. Flanguage_id: uint16(m_TT_MS_LANGID_VENDA_SOUTH_AFRICA),
  15409. Flang: [8]int8{'v', 'e', 'n'},
  15410. },
  15411. 242: {
  15412. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15413. Flanguage_id: uint16(m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA),
  15414. Flang: [8]int8{'x', 'h'},
  15415. },
  15416. 243: {
  15417. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15418. Flanguage_id: uint16(m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA),
  15419. Flang: [8]int8{'z', 'u'},
  15420. },
  15421. 244: {
  15422. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15423. Flanguage_id: uint16(m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA),
  15424. Flang: [8]int8{'a', 'f'},
  15425. },
  15426. 245: {
  15427. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15428. Flanguage_id: uint16(m_TT_MS_LANGID_GEORGIAN_GEORGIA),
  15429. Flang: [8]int8{'k', 'a'},
  15430. },
  15431. 246: {
  15432. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15433. Flanguage_id: uint16(m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS),
  15434. Flang: [8]int8{'f', 'o'},
  15435. },
  15436. 247: {
  15437. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15438. Flanguage_id: uint16(m_TT_MS_LANGID_HINDI_INDIA),
  15439. Flang: [8]int8{'h', 'i'},
  15440. },
  15441. 248: {
  15442. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15443. Flanguage_id: uint16(m_TT_MS_LANGID_MALTESE_MALTA),
  15444. Flang: [8]int8{'m', 't'},
  15445. },
  15446. 249: {
  15447. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15448. Flanguage_id: uint16(m_TT_MS_LANGID_SAAMI_LAPONIA),
  15449. Flang: [8]int8{'s', 'e'},
  15450. },
  15451. 250: {
  15452. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15453. Flanguage_id: uint16(m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM),
  15454. Flang: [8]int8{'g', 'd'},
  15455. },
  15456. 251: {
  15457. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15458. Flanguage_id: uint16(m_TT_MS_LANGID_IRISH_GAELIC_IRELAND),
  15459. Flang: [8]int8{'g', 'a'},
  15460. },
  15461. 252: {
  15462. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15463. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_MALAYSIA),
  15464. Flang: [8]int8{'m', 's'},
  15465. },
  15466. 253: {
  15467. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15468. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM),
  15469. Flang: [8]int8{'m', 's'},
  15470. },
  15471. 254: {
  15472. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15473. Flanguage_id: uint16(m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN),
  15474. Flang: [8]int8{'k', 'k'},
  15475. },
  15476. 255: {
  15477. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15478. Flanguage_id: uint16(m_TT_MS_LANGID_KISWAHILI_KENYA),
  15479. Flang: [8]int8{'s', 'w'},
  15480. },
  15481. 256: {
  15482. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15483. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN),
  15484. Flang: [8]int8{'u', 'z'},
  15485. },
  15486. 257: {
  15487. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15488. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC),
  15489. Flang: [8]int8{'u', 'z'},
  15490. },
  15491. 258: {
  15492. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15493. Flanguage_id: uint16(m_TT_MS_LANGID_TATAR_RUSSIA),
  15494. Flang: [8]int8{'t', 't'},
  15495. },
  15496. 259: {
  15497. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15498. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_INDIA),
  15499. Flang: [8]int8{'b', 'n'},
  15500. },
  15501. 260: {
  15502. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15503. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_INDIA),
  15504. Flang: [8]int8{'p', 'a'},
  15505. },
  15506. 261: {
  15507. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15508. Flanguage_id: uint16(m_TT_MS_LANGID_GUJARATI_INDIA),
  15509. Flang: [8]int8{'g', 'u'},
  15510. },
  15511. 262: {
  15512. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15513. Flanguage_id: uint16(m_TT_MS_LANGID_ODIA_INDIA),
  15514. Flang: [8]int8{'o', 'r'},
  15515. },
  15516. 263: {
  15517. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15518. Flanguage_id: uint16(m_TT_MS_LANGID_TAMIL_INDIA),
  15519. Flang: [8]int8{'t', 'a'},
  15520. },
  15521. 264: {
  15522. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15523. Flanguage_id: uint16(m_TT_MS_LANGID_TELUGU_INDIA),
  15524. Flang: [8]int8{'t', 'e'},
  15525. },
  15526. 265: {
  15527. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15528. Flanguage_id: uint16(m_TT_MS_LANGID_KANNADA_INDIA),
  15529. Flang: [8]int8{'k', 'n'},
  15530. },
  15531. 266: {
  15532. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15533. Flanguage_id: uint16(m_TT_MS_LANGID_MALAYALAM_INDIA),
  15534. Flang: [8]int8{'m', 'l'},
  15535. },
  15536. 267: {
  15537. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15538. Flanguage_id: uint16(m_TT_MS_LANGID_ASSAMESE_INDIA),
  15539. Flang: [8]int8{'a', 's'},
  15540. },
  15541. 268: {
  15542. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15543. Flanguage_id: uint16(m_TT_MS_LANGID_MARATHI_INDIA),
  15544. Flang: [8]int8{'m', 'r'},
  15545. },
  15546. 269: {
  15547. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15548. Flanguage_id: uint16(m_TT_MS_LANGID_SANSKRIT_INDIA),
  15549. Flang: [8]int8{'s', 'a'},
  15550. },
  15551. 270: {
  15552. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15553. Flanguage_id: uint16(m_TT_MS_LANGID_KONKANI_INDIA),
  15554. Flang: [8]int8{'k', 'o', 'k'},
  15555. },
  15556. 271: {
  15557. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15558. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_GENERAL),
  15559. Flang: [8]int8{'a', 'r'},
  15560. },
  15561. 272: {
  15562. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15563. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_GENERAL),
  15564. Flang: [8]int8{'z', 'h'},
  15565. },
  15566. 273: {
  15567. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15568. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_GENERAL),
  15569. Flang: [8]int8{'e', 'n'},
  15570. },
  15571. 274: {
  15572. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15573. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_WEST_INDIES),
  15574. Flang: [8]int8{'f', 'r'},
  15575. },
  15576. 275: {
  15577. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15578. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_REUNION),
  15579. Flang: [8]int8{'f', 'r'},
  15580. },
  15581. 276: {
  15582. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15583. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CONGO),
  15584. Flang: [8]int8{'f', 'r'},
  15585. },
  15586. 277: {
  15587. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15588. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SENEGAL),
  15589. Flang: [8]int8{'f', 'r'},
  15590. },
  15591. 278: {
  15592. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15593. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CAMEROON),
  15594. Flang: [8]int8{'f', 'r'},
  15595. },
  15596. 279: {
  15597. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15598. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE),
  15599. Flang: [8]int8{'f', 'r'},
  15600. },
  15601. 280: {
  15602. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15603. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MALI),
  15604. Flang: [8]int8{'f', 'r'},
  15605. },
  15606. 281: {
  15607. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15608. Flanguage_id: uint16(m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA),
  15609. Flang: [8]int8{'b', 's'},
  15610. },
  15611. 282: {
  15612. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15613. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_INDIA),
  15614. Flang: [8]int8{'u', 'r'},
  15615. },
  15616. 283: {
  15617. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15618. Flanguage_id: uint16(m_TT_MS_LANGID_TAJIK_TAJIKISTAN),
  15619. Flang: [8]int8{'t', 'g'},
  15620. },
  15621. 284: {
  15622. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15623. Flanguage_id: uint16(m_TT_MS_LANGID_YIDDISH_GERMANY),
  15624. Flang: [8]int8{'y', 'i'},
  15625. },
  15626. 285: {
  15627. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15628. Flanguage_id: uint16(m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN),
  15629. Flang: [8]int8{'k', 'y'},
  15630. },
  15631. 286: {
  15632. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15633. Flanguage_id: uint16(m_TT_MS_LANGID_TURKMEN_TURKMENISTAN),
  15634. Flang: [8]int8{'t', 'k'},
  15635. },
  15636. 287: {
  15637. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15638. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_MONGOLIA),
  15639. Flang: [8]int8{'m', 'n'},
  15640. },
  15641. 288: {
  15642. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15643. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  15644. Flang: [8]int8{'b', 'o'},
  15645. },
  15646. 289: {
  15647. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15648. Flanguage_id: uint16(m_TT_MS_LANGID_TIBETAN_PRC),
  15649. Flang: [8]int8{'b', 'o'},
  15650. },
  15651. 290: {
  15652. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15653. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  15654. Flang: [8]int8{'d', 'z'},
  15655. },
  15656. 291: {
  15657. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15658. Flanguage_id: uint16(m_TT_MS_LANGID_WELSH_UNITED_KINGDOM),
  15659. Flang: [8]int8{'c', 'y'},
  15660. },
  15661. 292: {
  15662. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15663. Flanguage_id: uint16(m_TT_MS_LANGID_KHMER_CAMBODIA),
  15664. Flang: [8]int8{'k', 'm'},
  15665. },
  15666. 293: {
  15667. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15668. Flanguage_id: uint16(m_TT_MS_LANGID_LAO_LAOS),
  15669. Flang: [8]int8{'l', 'o'},
  15670. },
  15671. 294: {
  15672. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15673. Flanguage_id: uint16(m_TT_MS_LANGID_BURMESE_MYANMAR),
  15674. Flang: [8]int8{'m', 'y'},
  15675. },
  15676. 295: {
  15677. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15678. Flanguage_id: uint16(m_TT_MS_LANGID_GALICIAN_GALICIAN),
  15679. Flang: [8]int8{'g', 'l'},
  15680. },
  15681. 296: {
  15682. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15683. Flanguage_id: uint16(m_TT_MS_LANGID_MANIPURI_INDIA),
  15684. Flang: [8]int8{'m', 'n', 'i'},
  15685. },
  15686. 297: {
  15687. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15688. Flanguage_id: uint16(m_TT_MS_LANGID_SINDHI_INDIA),
  15689. Flang: [8]int8{'s', 'd'},
  15690. },
  15691. 298: {
  15692. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15693. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_PAKISTAN),
  15694. Flang: [8]int8{'k', 's'},
  15695. },
  15696. 299: {
  15697. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15698. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_SASIA),
  15699. Flang: [8]int8{'k', 's'},
  15700. },
  15701. 300: {
  15702. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15703. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_NEPAL),
  15704. Flang: [8]int8{'n', 'e'},
  15705. },
  15706. 301: {
  15707. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15708. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_INDIA),
  15709. Flang: [8]int8{'n', 'e'},
  15710. },
  15711. 302: {
  15712. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15713. Flanguage_id: uint16(m_TT_MS_LANGID_FRISIAN_NETHERLANDS),
  15714. Flang: [8]int8{'f', 'y'},
  15715. },
  15716. 303: {
  15717. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15718. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_HONG_KONG),
  15719. Flang: [8]int8{'e', 'n'},
  15720. },
  15721. 304: {
  15722. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15723. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_INDIA),
  15724. Flang: [8]int8{'e', 'n'},
  15725. },
  15726. 305: {
  15727. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15728. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_MALAYSIA),
  15729. Flang: [8]int8{'e', 'n'},
  15730. },
  15731. 306: {
  15732. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15733. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SINGAPORE),
  15734. Flang: [8]int8{'e', 'n'},
  15735. },
  15736. 307: {
  15737. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15738. Flanguage_id: uint16(m_TT_MS_LANGID_SYRIAC_SYRIA),
  15739. Flang: [8]int8{'s', 'y', 'r'},
  15740. },
  15741. 308: {
  15742. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15743. Flanguage_id: uint16(m_TT_MS_LANGID_SINHALA_SRI_LANKA),
  15744. Flang: [8]int8{'s', 'i'},
  15745. },
  15746. 309: {
  15747. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15748. Flanguage_id: uint16(m_TT_MS_LANGID_CHEROKEE_UNITED_STATES),
  15749. Flang: [8]int8{'c', 'h', 'r'},
  15750. },
  15751. 310: {
  15752. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15753. Flanguage_id: uint16(m_TT_MS_LANGID_INUKTITUT_CANADA),
  15754. Flang: [8]int8{'i', 'u'},
  15755. },
  15756. 311: {
  15757. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15758. Flanguage_id: uint16(m_TT_MS_LANGID_AMHARIC_ETHIOPIA),
  15759. Flang: [8]int8{'a', 'm'},
  15760. },
  15761. 312: {
  15762. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15763. Flanguage_id: uint16(m_TT_MS_LANGID_PASHTO_AFGHANISTAN),
  15764. Flang: [8]int8{'p', 's'},
  15765. },
  15766. 313: {
  15767. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15768. Flanguage_id: uint16(m_TT_MS_LANGID_FILIPINO_PHILIPPINES),
  15769. Flang: [8]int8{'p', 'h', 'i'},
  15770. },
  15771. 314: {
  15772. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15773. Flanguage_id: uint16(m_TT_MS_LANGID_DHIVEHI_MALDIVES),
  15774. Flang: [8]int8{'d', 'i', 'v'},
  15775. },
  15776. 315: {
  15777. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15778. Flanguage_id: uint16(m_TT_MS_LANGID_OROMO_ETHIOPIA),
  15779. Flang: [8]int8{'o', 'm'},
  15780. },
  15781. 316: {
  15782. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15783. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA),
  15784. Flang: [8]int8{'t', 'i'},
  15785. },
  15786. 317: {
  15787. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15788. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ERYTHREA),
  15789. Flang: [8]int8{'t', 'i'},
  15790. },
  15791. 318: {
  15792. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15793. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_UNITED_STATES),
  15794. Flang: [8]int8{'e', 's'},
  15795. },
  15796. 319: {
  15797. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15798. Flanguage_id: uint16(0xE40A),
  15799. Flang: [8]int8{'e', 's'},
  15800. },
  15801. 320: {
  15802. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15803. Flanguage_id: uint16(0xE40C),
  15804. Flang: [8]int8{'f', 'r'},
  15805. },
  15806. 321: {
  15807. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15808. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MOROCCO),
  15809. Flang: [8]int8{'f', 'r'},
  15810. },
  15811. 322: {
  15812. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15813. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_HAITI),
  15814. Flang: [8]int8{'f', 'r'},
  15815. },
  15816. 323: {
  15817. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15818. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_BANGLADESH),
  15819. Flang: [8]int8{'b', 'n'},
  15820. },
  15821. 324: {
  15822. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15823. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN),
  15824. Flang: [8]int8{'a', 'r'},
  15825. },
  15826. 325: {
  15827. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15828. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_PRC),
  15829. Flang: [8]int8{'m', 'n'},
  15830. },
  15831. 326: {
  15832. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15833. Flanguage_id: uint16(m_TT_MS_LANGID_HAUSA_NIGERIA),
  15834. Flang: [8]int8{'h', 'a'},
  15835. },
  15836. 327: {
  15837. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15838. Flanguage_id: uint16(m_TT_MS_LANGID_YORUBA_NIGERIA),
  15839. Flang: [8]int8{'y', 'o'},
  15840. },
  15841. 328: {
  15842. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15843. Flanguage_id: uint16(m_TT_MS_LANGID_IGBO_NIGERIA),
  15844. Flang: [8]int8{'i', 'b', 'o'},
  15845. },
  15846. 329: {
  15847. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15848. Flanguage_id: uint16(m_TT_MS_LANGID_KANURI_NIGERIA),
  15849. Flang: [8]int8{'k', 'a', 'u'},
  15850. },
  15851. 330: {
  15852. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15853. Flanguage_id: uint16(m_TT_MS_LANGID_GUARANI_PARAGUAY),
  15854. Flang: [8]int8{'g', 'n'},
  15855. },
  15856. 331: {
  15857. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15858. Flanguage_id: uint16(m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES),
  15859. Flang: [8]int8{'h', 'a', 'w'},
  15860. },
  15861. 332: {
  15862. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15863. Flanguage_id: uint16(m_TT_MS_LANGID_LATIN),
  15864. Flang: [8]int8{'l', 'a'},
  15865. },
  15866. 333: {
  15867. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15868. Flanguage_id: uint16(m_TT_MS_LANGID_SOMALI_SOMALIA),
  15869. Flang: [8]int8{'s', 'o'},
  15870. },
  15871. 334: {
  15872. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15873. Flanguage_id: uint16(m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES),
  15874. Flang: [8]int8{'p', 'a', 'p'},
  15875. },
  15876. }
  15877. type TFcMacRomanFake = struct {
  15878. Flanguage_id TFT_UShort
  15879. Ffromcode [12]int8
  15880. }
  15881. var _fcMacRomanFake = [2]TFcMacRomanFake{
  15882. 0: {
  15883. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  15884. Ffromcode: [12]int8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  15885. },
  15886. 1: {
  15887. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  15888. Ffromcode: [12]int8{'A', 'S', 'C', 'I', 'I'},
  15889. },
  15890. }
  15891. // C documentation
  15892. //
  15893. // /* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
  15894. var _fcMacRomanNonASCIIToUnicode = [128]TFcChar16{
  15895. 0: uint16(0x00C4),
  15896. 1: uint16(0x00C5),
  15897. 2: uint16(0x00C7),
  15898. 3: uint16(0x00C9),
  15899. 4: uint16(0x00D1),
  15900. 5: uint16(0x00D6),
  15901. 6: uint16(0x00DC),
  15902. 7: uint16(0x00E1),
  15903. 8: uint16(0x00E0),
  15904. 9: uint16(0x00E2),
  15905. 10: uint16(0x00E4),
  15906. 11: uint16(0x00E3),
  15907. 12: uint16(0x00E5),
  15908. 13: uint16(0x00E7),
  15909. 14: uint16(0x00E9),
  15910. 15: uint16(0x00E8),
  15911. 16: uint16(0x00EA),
  15912. 17: uint16(0x00EB),
  15913. 18: uint16(0x00ED),
  15914. 19: uint16(0x00EC),
  15915. 20: uint16(0x00EE),
  15916. 21: uint16(0x00EF),
  15917. 22: uint16(0x00F1),
  15918. 23: uint16(0x00F3),
  15919. 24: uint16(0x00F2),
  15920. 25: uint16(0x00F4),
  15921. 26: uint16(0x00F6),
  15922. 27: uint16(0x00F5),
  15923. 28: uint16(0x00FA),
  15924. 29: uint16(0x00F9),
  15925. 30: uint16(0x00FB),
  15926. 31: uint16(0x00FC),
  15927. 32: uint16(0x2020),
  15928. 33: uint16(0x00B0),
  15929. 34: uint16(0x00A2),
  15930. 35: uint16(0x00A3),
  15931. 36: uint16(0x00A7),
  15932. 37: uint16(0x2022),
  15933. 38: uint16(0x00B6),
  15934. 39: uint16(0x00DF),
  15935. 40: uint16(0x00AE),
  15936. 41: uint16(0x00A9),
  15937. 42: uint16(0x2122),
  15938. 43: uint16(0x00B4),
  15939. 44: uint16(0x00A8),
  15940. 45: uint16(0x2260),
  15941. 46: uint16(0x00C6),
  15942. 47: uint16(0x00D8),
  15943. 48: uint16(0x221E),
  15944. 49: uint16(0x00B1),
  15945. 50: uint16(0x2264),
  15946. 51: uint16(0x2265),
  15947. 52: uint16(0x00A5),
  15948. 53: uint16(0x00B5),
  15949. 54: uint16(0x2202),
  15950. 55: uint16(0x2211),
  15951. 56: uint16(0x220F),
  15952. 57: uint16(0x03C0),
  15953. 58: uint16(0x222B),
  15954. 59: uint16(0x00AA),
  15955. 60: uint16(0x00BA),
  15956. 61: uint16(0x03A9),
  15957. 62: uint16(0x00E6),
  15958. 63: uint16(0x00F8),
  15959. 64: uint16(0x00BF),
  15960. 65: uint16(0x00A1),
  15961. 66: uint16(0x00AC),
  15962. 67: uint16(0x221A),
  15963. 68: uint16(0x0192),
  15964. 69: uint16(0x2248),
  15965. 70: uint16(0x2206),
  15966. 71: uint16(0x00AB),
  15967. 72: uint16(0x00BB),
  15968. 73: uint16(0x2026),
  15969. 74: uint16(0x00A0),
  15970. 75: uint16(0x00C0),
  15971. 76: uint16(0x00C3),
  15972. 77: uint16(0x00D5),
  15973. 78: uint16(0x0152),
  15974. 79: uint16(0x0153),
  15975. 80: uint16(0x2013),
  15976. 81: uint16(0x2014),
  15977. 82: uint16(0x201C),
  15978. 83: uint16(0x201D),
  15979. 84: uint16(0x2018),
  15980. 85: uint16(0x2019),
  15981. 86: uint16(0x00F7),
  15982. 87: uint16(0x25CA),
  15983. 88: uint16(0x00FF),
  15984. 89: uint16(0x0178),
  15985. 90: uint16(0x2044),
  15986. 91: uint16(0x20AC),
  15987. 92: uint16(0x2039),
  15988. 93: uint16(0x203A),
  15989. 94: uint16(0xFB01),
  15990. 95: uint16(0xFB02),
  15991. 96: uint16(0x2021),
  15992. 97: uint16(0x00B7),
  15993. 98: uint16(0x201A),
  15994. 99: uint16(0x201E),
  15995. 100: uint16(0x2030),
  15996. 101: uint16(0x00C2),
  15997. 102: uint16(0x00CA),
  15998. 103: uint16(0x00C1),
  15999. 104: uint16(0x00CB),
  16000. 105: uint16(0x00C8),
  16001. 106: uint16(0x00CD),
  16002. 107: uint16(0x00CE),
  16003. 108: uint16(0x00CF),
  16004. 109: uint16(0x00CC),
  16005. 110: uint16(0x00D3),
  16006. 111: uint16(0x00D4),
  16007. 112: uint16(0xF8FF),
  16008. 113: uint16(0x00D2),
  16009. 114: uint16(0x00DA),
  16010. 115: uint16(0x00DB),
  16011. 116: uint16(0x00D9),
  16012. 117: uint16(0x0131),
  16013. 118: uint16(0x02C6),
  16014. 119: uint16(0x02DC),
  16015. 120: uint16(0x00AF),
  16016. 121: uint16(0x02D8),
  16017. 122: uint16(0x02D9),
  16018. 123: uint16(0x02DA),
  16019. 124: uint16(0x00B8),
  16020. 125: uint16(0x02DD),
  16021. 126: uint16(0x02DB),
  16022. 127: uint16(0x02C7),
  16023. }
  16024. // C documentation
  16025. //
  16026. // /*
  16027. // * A shift-JIS will have many high bits turned on
  16028. // */
  16029. func _FcLooksLikeSJIS(tls *libc.TLS, string1 uintptr, len1 int32) (r TFcBool) {
  16030. var nhigh, nlow, v1 int32
  16031. var v2 uintptr
  16032. _, _, _, _ = nhigh, nlow, v1, v2
  16033. nhigh = 0
  16034. nlow = 0
  16035. for {
  16036. v1 = len1
  16037. len1--
  16038. if !(v1 > 0) {
  16039. break
  16040. }
  16041. v2 = string1
  16042. string1++
  16043. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))&int32(0x80) != 0 {
  16044. nhigh++
  16045. } else {
  16046. nlow++
  16047. }
  16048. }
  16049. /*
  16050. * Heuristic -- if more than 1/3 of the bytes have the high-bit set,
  16051. * this is likely to be SJIS and not ROMAN
  16052. */
  16053. if nhigh*int32(2) > nlow {
  16054. return int32(m_FcTrue)
  16055. }
  16056. return m_FcFalse
  16057. }
  16058. func _FcSfntNameTranscode(tls *libc.TLS, sname uintptr) (r uintptr) {
  16059. bp := tls.Alloc(16)
  16060. defer tls.Free(16)
  16061. var f, i, ilen, olen, olen1, olen2, src_len, src_len1, src_len2, v3 int32
  16062. var fromcode, src, src1, src2, u8, u81, u82, utf8, v4, v5 uintptr
  16063. var ucs41, ucs42 TFcChar32
  16064. var _ /* len at bp+0 */ int32
  16065. var _ /* ucs4 at bp+8 */ TFcChar32
  16066. var _ /* wchar at bp+4 */ int32
  16067. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  16068. i = 0
  16069. for {
  16070. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(224)/libc.Uint32FromInt64(16))) {
  16071. break
  16072. }
  16073. 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)) {
  16074. break
  16075. }
  16076. goto _1
  16077. _1:
  16078. ;
  16079. i++
  16080. }
  16081. if i == libc.Int32FromUint32(libc.Uint32FromInt64(224)/libc.Uint32FromInt64(16)) {
  16082. return uintptr(0)
  16083. }
  16084. fromcode = uintptr(unsafe.Pointer(&_fcFtEncoding)) + uintptr(i)*16 + 4
  16085. /*
  16086. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  16087. * in various ways. Kludge around them.
  16088. */
  16089. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3854) != 0) {
  16090. 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 {
  16091. fromcode = __ccgo_ts + 3864
  16092. } else {
  16093. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) >= int32(0x100) {
  16094. fromcode = libc.UintptrFromInt32(0)
  16095. f = 0
  16096. for {
  16097. if !(f < libc.Int32FromUint32(libc.Uint32FromInt64(28)/libc.Uint32FromInt64(14))) {
  16098. break
  16099. }
  16100. if libc.Int32FromUint16(_fcMacRomanFake[f].Flanguage_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) {
  16101. fromcode = uintptr(unsafe.Pointer(&_fcMacRomanFake)) + uintptr(f)*14 + 2
  16102. break
  16103. }
  16104. goto _2
  16105. _2:
  16106. ;
  16107. f++
  16108. }
  16109. if !(fromcode != 0) {
  16110. return uintptr(0)
  16111. }
  16112. }
  16113. }
  16114. }
  16115. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3869) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3877) != 0) {
  16116. src = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16117. src_len = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16118. /*
  16119. * Convert Utf16 to Utf8
  16120. */
  16121. if !(XIA__FcUtf16Len(tls, src, int32(_FcEndianBig), src_len, bp, bp+4) != 0) {
  16122. return uintptr(0)
  16123. }
  16124. /*
  16125. * Allocate plenty of space. Freed below
  16126. */
  16127. utf8 = libc.Xmalloc(tls, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp))*int32(m_FC_UTF8_MAX_LEN)+int32(1)))
  16128. if !(utf8 != 0) {
  16129. return uintptr(0)
  16130. }
  16131. u8 = utf8
  16132. for {
  16133. v3 = XIA__FcUtf16ToUcs4(tls, src, int32(_FcEndianBig), bp+8, src_len)
  16134. ilen = v3
  16135. if !(v3 > 0) {
  16136. break
  16137. }
  16138. src_len -= ilen
  16139. src += uintptr(ilen)
  16140. olen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp + 8)), u8)
  16141. u8 += uintptr(olen)
  16142. }
  16143. *(*TFcChar8)(unsafe.Pointer(u8)) = uint8('\000')
  16144. goto done
  16145. }
  16146. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3886) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3892) != 0) {
  16147. src1 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16148. src_len1 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16149. /*
  16150. * Convert Latin1 to Utf8. Freed below
  16151. */
  16152. utf8 = libc.Xmalloc(tls, libc.Uint32FromInt32(src_len1*int32(2)+int32(1)))
  16153. if !(utf8 != 0) {
  16154. return uintptr(0)
  16155. }
  16156. u81 = utf8
  16157. for src_len1 > 0 {
  16158. v4 = src1
  16159. src1++
  16160. ucs41 = uint32(*(*TFcChar8)(unsafe.Pointer(v4)))
  16161. src_len1--
  16162. olen1 = XIA__FcUcs4ToUtf8(tls, ucs41, u81)
  16163. u81 += uintptr(olen1)
  16164. }
  16165. *(*TFcChar8)(unsafe.Pointer(u81)) = uint8('\000')
  16166. goto done
  16167. }
  16168. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3854) != 0) {
  16169. src2 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16170. src_len2 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16171. /*
  16172. * Convert Latin1 to Utf8. Freed below
  16173. */
  16174. utf8 = libc.Xmalloc(tls, libc.Uint32FromInt32(src_len2*int32(3)+int32(1)))
  16175. if !(utf8 != 0) {
  16176. return uintptr(0)
  16177. }
  16178. u82 = utf8
  16179. for src_len2 > 0 {
  16180. v5 = src2
  16181. src2++
  16182. ucs42 = uint32(*(*TFcChar8)(unsafe.Pointer(v5)))
  16183. if ucs42 >= uint32(128) {
  16184. ucs42 = uint32(_fcMacRomanNonASCIIToUnicode[ucs42-uint32(128)])
  16185. }
  16186. src_len2--
  16187. olen2 = XIA__FcUcs4ToUtf8(tls, ucs42, u82)
  16188. u82 += uintptr(olen2)
  16189. }
  16190. *(*TFcChar8)(unsafe.Pointer(u82)) = uint8('\000')
  16191. goto done
  16192. }
  16193. return uintptr(0)
  16194. goto done
  16195. done:
  16196. ;
  16197. if XFcStrCmpIgnoreBlanksAndCase(tls, utf8, __ccgo_ts+112) == 0 {
  16198. libc.Xfree(tls, utf8)
  16199. return uintptr(0)
  16200. }
  16201. return utf8
  16202. }
  16203. func _FcSfntNameLanguage(tls *libc.TLS, sname uintptr) (r uintptr) {
  16204. var i int32
  16205. var language_id, platform_id TFT_UShort
  16206. _, _, _ = i, language_id, platform_id
  16207. platform_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id
  16208. language_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id
  16209. /*
  16210. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  16211. * in various ways. Kludge around them.
  16212. */
  16213. 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 {
  16214. language_id = uint16(m_TT_MAC_LANGID_JAPANESE)
  16215. }
  16216. i = 0
  16217. for {
  16218. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(4020)/libc.Uint32FromInt64(12))) {
  16219. break
  16220. }
  16221. 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)) {
  16222. if int32(*(*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4))) == int32('\000') {
  16223. return libc.UintptrFromInt32(0)
  16224. } else {
  16225. return uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4
  16226. }
  16227. }
  16228. goto _1
  16229. _1:
  16230. ;
  16231. i++
  16232. }
  16233. return uintptr(0)
  16234. }
  16235. func _FcNoticeFoundry(tls *libc.TLS, notice uintptr) (r uintptr) {
  16236. var f, n uintptr
  16237. var i int32
  16238. _, _, _ = f, i, n
  16239. if notice != 0 {
  16240. i = 0
  16241. for {
  16242. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(144)/libc.Uint32FromInt64(8))) {
  16243. break
  16244. }
  16245. n = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*8))
  16246. f = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*8 + 1*4))
  16247. if libc.Xstrstr(tls, notice, n) != 0 {
  16248. return f
  16249. }
  16250. goto _1
  16251. _1:
  16252. ;
  16253. i++
  16254. }
  16255. }
  16256. return uintptr(0)
  16257. }
  16258. type TFcStringConst = struct {
  16259. Fname uintptr
  16260. Fvalue int32
  16261. }
  16262. type T_FcStringConst = TFcStringConst
  16263. func _FcStringIsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  16264. var i int32
  16265. _ = i
  16266. i = 0
  16267. for {
  16268. if !(i < nc) {
  16269. break
  16270. }
  16271. if XFcStrCmpIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fname) == 0 {
  16272. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fvalue
  16273. }
  16274. goto _1
  16275. _1:
  16276. ;
  16277. i++
  16278. }
  16279. return -int32(1)
  16280. }
  16281. func _FcStringContainsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  16282. var i int32
  16283. _ = i
  16284. i = 0
  16285. for {
  16286. if !(i < nc) {
  16287. break
  16288. }
  16289. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fname))) == int32('<') {
  16290. if XFcStrContainsWord(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fname+uintptr(1)) != 0 {
  16291. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fvalue
  16292. }
  16293. } else {
  16294. if XFcStrContainsIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fname) != 0 {
  16295. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*8))).Fvalue
  16296. }
  16297. }
  16298. goto _1
  16299. _1:
  16300. ;
  16301. i++
  16302. }
  16303. return -int32(1)
  16304. }
  16305. type TFC8 = uintptr
  16306. var _weightConsts = [23]TFcStringConst{
  16307. 0: {
  16308. Fname: __ccgo_ts + 3903,
  16309. },
  16310. 1: {
  16311. Fname: __ccgo_ts + 3908,
  16312. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  16313. },
  16314. 2: {
  16315. Fname: __ccgo_ts + 3919,
  16316. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  16317. },
  16318. 3: {
  16319. Fname: __ccgo_ts + 3930,
  16320. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  16321. },
  16322. 4: {
  16323. Fname: __ccgo_ts + 3940,
  16324. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  16325. },
  16326. 5: {
  16327. Fname: __ccgo_ts + 3950,
  16328. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  16329. },
  16330. 6: {
  16331. Fname: __ccgo_ts + 3956,
  16332. Fvalue: int32(m_FC_WEIGHT_BOOK),
  16333. },
  16334. 7: {
  16335. Fname: __ccgo_ts + 3961,
  16336. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  16337. },
  16338. 8: {
  16339. Fname: __ccgo_ts + 3969,
  16340. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  16341. },
  16342. 9: {
  16343. Fname: __ccgo_ts + 3976,
  16344. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  16345. },
  16346. 10: {
  16347. Fname: __ccgo_ts + 3983,
  16348. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16349. },
  16350. 11: {
  16351. Fname: __ccgo_ts + 3992,
  16352. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16353. },
  16354. 12: {
  16355. Fname: __ccgo_ts + 3997,
  16356. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16357. },
  16358. 13: {
  16359. Fname: __ccgo_ts + 4006,
  16360. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16361. },
  16362. 14: {
  16363. Fname: __ccgo_ts + 4016,
  16364. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16365. },
  16366. 15: {
  16367. Fname: __ccgo_ts + 4026,
  16368. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16369. },
  16370. 16: {
  16371. Fname: __ccgo_ts + 4036,
  16372. Fvalue: int32(m_FC_WEIGHT_BOLD),
  16373. },
  16374. 17: {
  16375. Fname: __ccgo_ts + 4041,
  16376. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16377. },
  16378. 18: {
  16379. Fname: __ccgo_ts + 4052,
  16380. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16381. },
  16382. 19: {
  16383. Fname: __ccgo_ts + 4063,
  16384. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16385. },
  16386. 20: {
  16387. Fname: __ccgo_ts + 4074,
  16388. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16389. },
  16390. 21: {
  16391. Fname: __ccgo_ts + 4081,
  16392. Fvalue: int32(m_FC_WEIGHT_BLACK),
  16393. },
  16394. 22: {
  16395. Fname: __ccgo_ts + 4087,
  16396. Fvalue: int32(m_FC_WEIGHT_BLACK),
  16397. },
  16398. }
  16399. var _widthConsts = [10]TFcStringConst{
  16400. 0: {
  16401. Fname: __ccgo_ts + 4093,
  16402. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  16403. },
  16404. 1: {
  16405. Fname: __ccgo_ts + 4108,
  16406. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  16407. },
  16408. 2: {
  16409. Fname: __ccgo_ts + 4123,
  16410. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  16411. },
  16412. 3: {
  16413. Fname: __ccgo_ts + 4137,
  16414. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  16415. },
  16416. 4: {
  16417. Fname: __ccgo_ts + 3969,
  16418. Fvalue: int32(m_FC_WIDTH_NORMAL),
  16419. },
  16420. 5: {
  16421. Fname: __ccgo_ts + 4147,
  16422. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  16423. },
  16424. 6: {
  16425. Fname: __ccgo_ts + 4160,
  16426. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  16427. },
  16428. 7: {
  16429. Fname: __ccgo_ts + 4174,
  16430. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  16431. },
  16432. 8: {
  16433. Fname: __ccgo_ts + 4188,
  16434. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  16435. },
  16436. 9: {
  16437. Fname: __ccgo_ts + 4197,
  16438. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  16439. },
  16440. }
  16441. var _slantConsts = [3]TFcStringConst{
  16442. 0: {
  16443. Fname: __ccgo_ts + 4206,
  16444. Fvalue: int32(m_FC_SLANT_ITALIC),
  16445. },
  16446. 1: {
  16447. Fname: __ccgo_ts + 4213,
  16448. Fvalue: int32(m_FC_SLANT_ITALIC),
  16449. },
  16450. 2: {
  16451. Fname: __ccgo_ts + 4220,
  16452. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  16453. },
  16454. }
  16455. var _decorativeConsts = [6]TFcStringConst{
  16456. 0: {
  16457. Fname: __ccgo_ts + 4228,
  16458. Fvalue: int32(m_FcTrue),
  16459. },
  16460. 1: {
  16461. Fname: __ccgo_ts + 4235,
  16462. Fvalue: int32(m_FcTrue),
  16463. },
  16464. 2: {
  16465. Fname: __ccgo_ts + 4240,
  16466. Fvalue: int32(m_FcTrue),
  16467. },
  16468. 3: {
  16469. Fname: __ccgo_ts + 4248,
  16470. Fvalue: int32(m_FcTrue),
  16471. },
  16472. 4: {
  16473. Fname: __ccgo_ts + 4256,
  16474. Fvalue: int32(m_FcTrue),
  16475. },
  16476. 5: {
  16477. Fname: __ccgo_ts + 4264,
  16478. Fvalue: int32(m_FcTrue),
  16479. },
  16480. }
  16481. func _FcGetPixelSize(tls *libc.TLS, face TFT_Face, i int32) (r float64) {
  16482. bp := tls.Alloc(16)
  16483. defer tls.Free(16)
  16484. var rc int32
  16485. var _ /* prop at bp+0 */ TBDF_PropertyRec
  16486. _ = rc
  16487. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes == int32(1) {
  16488. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4272, bp)
  16489. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  16490. return float64(*(*TFT_Int32)(unsafe.Pointer(bp + 4)))
  16491. }
  16492. }
  16493. return float64((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*16))).Fy_ppem) / float64(64)
  16494. }
  16495. func _FcStringInPatternElement(tls *libc.TLS, pat uintptr, obj TFcObject, string1 uintptr) (r TFcBool) {
  16496. bp := tls.Alloc(32)
  16497. defer tls.Free(32)
  16498. var l TFcValueListPtr
  16499. var v2 uintptr
  16500. var _ /* iter at bp+0 */ TFcPatternIter
  16501. var _ /* v at bp+8 */ TFcValue
  16502. _, _ = l, v2
  16503. XIA__FcPatternIterStart(tls, pat, bp)
  16504. if !(XFcPatternFindObjectIter(tls, pat, bp, obj) != 0) {
  16505. return m_FcFalse
  16506. }
  16507. l = XFcPatternIterGetValues(tls, pat, bp)
  16508. for {
  16509. if !(l != 0) {
  16510. break
  16511. }
  16512. *(*TFcValue)(unsafe.Pointer(bp + 8)) = TFcValue{}
  16513. *(*T_FcValue)(unsafe.Pointer(bp + 8)) = XFcValueCanonicalize(tls, l+4)
  16514. if (*(*TFcValue)(unsafe.Pointer(bp + 8))).Ftype1 != int32(_FcTypeString) {
  16515. break
  16516. }
  16517. if !(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8 + 4)), string1) != 0) {
  16518. return int32(m_FcTrue)
  16519. }
  16520. goto _1
  16521. _1:
  16522. ;
  16523. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  16524. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  16525. } else {
  16526. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  16527. }
  16528. l = v2
  16529. }
  16530. return m_FcFalse
  16531. }
  16532. var _platform_order = [4]TFT_UShort{
  16533. 0: uint16(m_TT_PLATFORM_MICROSOFT),
  16534. 2: uint16(m_TT_PLATFORM_MACINTOSH),
  16535. 3: uint16(m_TT_PLATFORM_ISO),
  16536. }
  16537. var _nameid_order = [10]TFT_UShort{
  16538. 0: uint16(m_TT_NAME_ID_WWS_FAMILY),
  16539. 1: uint16(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY),
  16540. 2: uint16(m_TT_NAME_ID_FONT_FAMILY),
  16541. 3: uint16(m_TT_NAME_ID_MAC_FULL_NAME),
  16542. 4: uint16(m_TT_NAME_ID_FULL_NAME),
  16543. 5: uint16(m_TT_NAME_ID_WWS_SUBFAMILY),
  16544. 6: uint16(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY),
  16545. 7: uint16(m_TT_NAME_ID_FONT_SUBFAMILY),
  16546. 8: uint16(m_TT_NAME_ID_TRADEMARK),
  16547. 9: uint16(m_TT_NAME_ID_MANUFACTURER),
  16548. }
  16549. type TFcNameMapping = struct {
  16550. Fplatform_id uint32
  16551. Fname_id uint32
  16552. Fencoding_id uint32
  16553. Flanguage_id uint32
  16554. Fidx uint32
  16555. }
  16556. func __is_english(tls *libc.TLS, platform int32, language int32) (r TFcBool) {
  16557. var ret TFcBool
  16558. _ = ret
  16559. ret = m_FcFalse
  16560. switch platform {
  16561. case int32(m_TT_PLATFORM_MACINTOSH):
  16562. ret = libc.BoolInt32(language == m_TT_MAC_LANGID_ENGLISH)
  16563. case int32(m_TT_PLATFORM_MICROSOFT):
  16564. ret = libc.BoolInt32(language == int32(m_TT_MS_LANGID_ENGLISH_UNITED_STATES))
  16565. break
  16566. }
  16567. return ret
  16568. }
  16569. func _name_mapping_cmp(tls *libc.TLS, pa uintptr, pb uintptr) (r int32) {
  16570. var a, b uintptr
  16571. var v1, v2 int32
  16572. _, _, _, _ = a, b, v1, v2
  16573. a = pa
  16574. b = pb
  16575. if (*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id {
  16576. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id)
  16577. }
  16578. if (*TFcNameMapping)(unsafe.Pointer(a)).Fname_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fname_id {
  16579. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fname_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fname_id)
  16580. }
  16581. if (*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id {
  16582. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id)
  16583. }
  16584. if (*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id != (*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id {
  16585. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id)) != 0 {
  16586. v1 = -int32(1)
  16587. } else {
  16588. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)) != 0 {
  16589. v2 = int32(1)
  16590. } else {
  16591. v2 = libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)
  16592. }
  16593. v1 = v2
  16594. }
  16595. return v1
  16596. }
  16597. if (*TFcNameMapping)(unsafe.Pointer(a)).Fidx != (*TFcNameMapping)(unsafe.Pointer(b)).Fidx {
  16598. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fidx) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fidx)
  16599. }
  16600. return 0
  16601. }
  16602. func _FcFreeTypeGetFirstName(tls *libc.TLS, face TFT_Face, platform uint32, nameid uint32, mapping uintptr, count uint32, sname uintptr) (r int32) {
  16603. var max, mid, min int32
  16604. _, _, _ = max, mid, min
  16605. min = 0
  16606. max = libc.Int32FromUint32(count) - int32(1)
  16607. for min <= max {
  16608. mid = (min + max) / int32(2)
  16609. if libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid)*20))).Fidx, sname) != 0 {
  16610. return m_FcFalse
  16611. }
  16612. 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)) {
  16613. max = mid - int32(1)
  16614. } else {
  16615. 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) {
  16616. min = mid + int32(1)
  16617. } else {
  16618. return mid
  16619. }
  16620. }
  16621. }
  16622. return -int32(1)
  16623. }
  16624. func _FcFreeTypeQueryFaceInternal(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, cs_share uintptr, ls_share uintptr, nm_share uintptr) (r2 uintptr) {
  16625. bp := tls.Alloc(512)
  16626. defer tls.Free(512)
  16627. 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
  16628. var bits TFT_ULong
  16629. 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
  16630. var decorative, symbol, variable, variable_size, variable_weight, variable_width TFcBool
  16631. var def_value, default_value, lower_size, max_value, min_value, mult, upper_size, value, weight, weight_mult, width, width_mult, v3 float64
  16632. var ftresult TFT_Error
  16633. var i, i1, i2, i5, i6, n, p, v6, v7, v8, v9 uint32
  16634. var i4, len1, len11, len2 Tsize_t
  16635. var obj, obj1, objlang TFcObject
  16636. var value1 TFT_Int32
  16637. var v24, v28 bool
  16638. var _ /* family at bp+108 */ uintptr
  16639. var _ /* family at bp+460 */ uintptr
  16640. var _ /* familylang at bp+464 */ uintptr
  16641. var _ /* lang at bp+116 */ uintptr
  16642. var _ /* master at bp+0 */ uintptr
  16643. var _ /* nfamily at bp+48 */ int32
  16644. var _ /* nfamily_lang at bp+52 */ int32
  16645. var _ /* nfullname at bp+64 */ int32
  16646. var _ /* nfullname_lang at bp+68 */ int32
  16647. var _ /* nstyle at bp+56 */ int32
  16648. var _ /* nstyle_lang at bp+60 */ int32
  16649. var _ /* prop at bp+40 */ TBDF_PropertyRec
  16650. var _ /* psfontinfo at bp+4 */ TPS_FontInfoRec
  16651. var _ /* psname at bp+204 */ [256]int8
  16652. var _ /* sbuf at bp+120 */ TFcStrBuf
  16653. var _ /* sname at bp+76 */ TFT_SfntName
  16654. var _ /* sname at bp+92 */ TFT_SfntName
  16655. var _ /* style at bp+112 */ uintptr
  16656. var _ /* style at bp+72 */ uintptr
  16657. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  16658. slant = -int32(1)
  16659. weight = float64(-libc.Int32FromInt32(1))
  16660. width = float64(-libc.Int32FromInt32(1))
  16661. decorative = m_FcFalse
  16662. variable = m_FcFalse
  16663. variable_weight = m_FcFalse
  16664. variable_width = m_FcFalse
  16665. variable_size = m_FcFalse
  16666. name_mapping = libc.UintptrFromInt32(0)
  16667. foundry_ = libc.UintptrFromInt32(0)
  16668. foundry = uintptr(0)
  16669. /* Support for glyph-variation named-instances. */
  16670. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  16671. instance = libc.UintptrFromInt32(0)
  16672. weight_mult = float64(1)
  16673. width_mult = float64(1)
  16674. exclusiveLang = uintptr(0)
  16675. name_count = 0
  16676. *(*int32)(unsafe.Pointer(bp + 48)) = 0
  16677. *(*int32)(unsafe.Pointer(bp + 52)) = 0
  16678. *(*int32)(unsafe.Pointer(bp + 56)) = 0
  16679. *(*int32)(unsafe.Pointer(bp + 60)) = 0
  16680. *(*int32)(unsafe.Pointer(bp + 64)) = 0
  16681. *(*int32)(unsafe.Pointer(bp + 68)) = 0
  16682. *(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
  16683. symbol = m_FcFalse
  16684. XFcInitDebug(tls) /* We might be called with no initizalization whatsoever. */
  16685. pat = XIA__FcPatternCreate(tls)
  16686. if !(pat != 0) {
  16687. goto bail0
  16688. }
  16689. has_outline = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0))
  16690. has_color = 0
  16691. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_OUTLINE_OBJECT), has_outline) != 0) {
  16692. goto bail1
  16693. }
  16694. has_color = libc.BoolInt32(!!!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(14)) != 0))
  16695. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_COLOR_OBJECT), has_color) != 0) {
  16696. goto bail1
  16697. }
  16698. /* All color fonts are designed to be scaled, even if they only have
  16699. * bitmap strikes. Client is responsible to scale the bitmaps. This
  16700. * is in contrast to non-color strikes... */
  16701. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SCALABLE_OBJECT), libc.BoolInt32(has_outline != 0 || has_color != 0)) != 0) {
  16702. goto bail1
  16703. }
  16704. ftresult = libfreetype.XFT_Get_MM_Var(tls, face, bp)
  16705. if id>>int32(16) != 0 {
  16706. if ftresult != 0 {
  16707. goto bail1
  16708. }
  16709. if id>>int32(16) == uint32(0x8000) {
  16710. i = uint32(0)
  16711. for {
  16712. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16713. break
  16714. }
  16715. 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))
  16716. 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))
  16717. 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))
  16718. obj = int32(_FC_INVALID_OBJECT)
  16719. if min_value > def_value || def_value > max_value || min_value == max_value {
  16720. goto _1
  16721. }
  16722. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*24))).Ftag {
  16723. 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'))):
  16724. obj = int32(_FC_WEIGHT_OBJECT)
  16725. min_value = XIA__FcWeightFromOpenTypeDouble(tls, min_value)
  16726. max_value = XIA__FcWeightFromOpenTypeDouble(tls, max_value)
  16727. variable_weight = int32(m_FcTrue)
  16728. weight = libc.Float64FromInt32(0) /* To stop looking for weight. */
  16729. 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'))):
  16730. obj = int32(_FC_WIDTH_OBJECT)
  16731. /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
  16732. variable_width = int32(m_FcTrue)
  16733. width = libc.Float64FromInt32(0) /* To stop looking for width. */
  16734. 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'))):
  16735. obj = int32(_FC_SIZE_OBJECT)
  16736. /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
  16737. variable_size = int32(m_FcTrue)
  16738. break
  16739. }
  16740. if obj != int32(_FC_INVALID_OBJECT) {
  16741. r = XIA__FcRangeCreateDouble(tls, min_value, max_value)
  16742. if !(XFcPatternObjectAddRange(tls, pat, obj, r) != 0) {
  16743. XIA__FcRangeDestroy(tls, r)
  16744. goto bail1
  16745. }
  16746. XIA__FcRangeDestroy(tls, r)
  16747. variable = int32(m_FcTrue)
  16748. }
  16749. goto _1
  16750. _1:
  16751. ;
  16752. i++
  16753. }
  16754. if !(variable != 0) {
  16755. goto bail1
  16756. }
  16757. id &= uint32(0xFFFF)
  16758. } else {
  16759. if id>>int32(16)-uint32(1) < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_namedstyles {
  16760. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnamedstyle + uintptr(id>>int32(16)-uint32(1))*12
  16761. i1 = uint32(0)
  16762. for {
  16763. if !(i1 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16764. break
  16765. }
  16766. value = float64(*(*TFT_Fixed)(unsafe.Pointer((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords + uintptr(i1)*4))) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16767. 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))
  16768. if default_value != 0 {
  16769. v3 = value / default_value
  16770. } else {
  16771. v3 = libc.Float64FromInt32(1)
  16772. }
  16773. mult = v3
  16774. //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
  16775. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*24))).Ftag {
  16776. 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'))):
  16777. weight_mult = mult
  16778. 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'))):
  16779. width_mult = mult
  16780. 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'))):
  16781. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), value) != 0) {
  16782. goto bail1
  16783. }
  16784. break
  16785. }
  16786. goto _2
  16787. _2:
  16788. ;
  16789. i1++
  16790. }
  16791. } else {
  16792. goto bail1
  16793. }
  16794. }
  16795. } else {
  16796. if !(ftresult != 0) {
  16797. i2 = uint32(0)
  16798. for {
  16799. if !(i2 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16800. break
  16801. }
  16802. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*24))).Ftag {
  16803. 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'))):
  16804. 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) {
  16805. goto bail1
  16806. }
  16807. variable_size = int32(m_FcTrue)
  16808. break
  16809. }
  16810. goto _4
  16811. _4:
  16812. ;
  16813. i2++
  16814. }
  16815. } else {
  16816. /* ignore an error of FT_Get_MM_Var() */
  16817. }
  16818. }
  16819. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_VARIABLE_OBJECT), variable) != 0) {
  16820. goto bail1
  16821. }
  16822. /*
  16823. * Get the OS/2 table
  16824. */
  16825. os2 = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_OS2))
  16826. /*
  16827. * Look first in the OS/2 table for the foundry, if
  16828. * not found here, the various notices will be searched for
  16829. * that information, either from the sfnt name tables or
  16830. * the Postscript FontInfo dictionary. Finally, the
  16831. * BDF properties will queried.
  16832. */
  16833. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16834. if int32(*(*TFT_Char)(unsafe.Pointer(os2 + 60))) != 0 {
  16835. foundry_ = libc.Xmalloc(tls, libc.Uint32FromInt64(4)+libc.Uint32FromInt32(1))
  16836. libc.Xmemcpy(tls, foundry_, os2+60, uint32(4))
  16837. *(*TFcChar8)(unsafe.Pointer(foundry_ + uintptr(4))) = uint8(0)
  16838. foundry = foundry_
  16839. }
  16840. }
  16841. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16842. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  16843. }
  16844. /*
  16845. * Grub through the name table looking for family
  16846. * and style names. FreeType makes quite a hash
  16847. * of them
  16848. */
  16849. name_count = libc.Int32FromUint32(libfreetype.XFT_Get_Sfnt_Name_Count(tls, face))
  16850. if nm_share != 0 {
  16851. name_mapping = *(*uintptr)(unsafe.Pointer(nm_share))
  16852. }
  16853. if !(name_mapping != 0) {
  16854. i3 = 0
  16855. name_mapping = libc.Xmalloc(tls, libc.Uint32FromInt32(name_count)*uint32(20))
  16856. if !(name_mapping != 0) {
  16857. name_count = 0
  16858. }
  16859. i3 = 0
  16860. for {
  16861. if !(i3 < name_count) {
  16862. break
  16863. }
  16864. p1 = name_mapping + uintptr(i3)*20
  16865. if libfreetype.XFT_Get_Sfnt_Name(tls, face, libc.Uint32FromInt32(i3), bp+76) == 0 {
  16866. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 76))).Fplatform_id)
  16867. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 76))).Fname_id)
  16868. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 76))).Fencoding_id)
  16869. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 76))).Flanguage_id)
  16870. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = libc.Uint32FromInt32(i3)
  16871. } else {
  16872. v9 = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  16873. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = v9
  16874. v8 = v9
  16875. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = v8
  16876. v7 = v8
  16877. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = v7
  16878. v6 = v7
  16879. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = v6
  16880. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = v6
  16881. }
  16882. goto _5
  16883. _5:
  16884. ;
  16885. i3++
  16886. }
  16887. libc.Xqsort(tls, name_mapping, libc.Uint32FromInt32(name_count), uint32(20), __ccgo_fp(_name_mapping_cmp))
  16888. if nm_share != 0 {
  16889. *(*uintptr)(unsafe.Pointer(nm_share)) = name_mapping
  16890. }
  16891. }
  16892. p = uint32(0)
  16893. for {
  16894. if !(p < libc.Uint32FromInt64(8)/libc.Uint32FromInt64(2)) {
  16895. break
  16896. }
  16897. platform = libc.Int32FromUint16(_platform_order[p])
  16898. /*
  16899. * Order nameids so preferred names appear first
  16900. * in the resulting list
  16901. */
  16902. n = uint32(0)
  16903. for {
  16904. if !(n < libc.Uint32FromInt64(20)/libc.Uint32FromInt64(2)) {
  16905. break
  16906. }
  16907. np = uintptr(0)
  16908. nlangp = uintptr(0)
  16909. obj1 = int32(_FC_INVALID_OBJECT)
  16910. objlang = int32(_FC_INVALID_OBJECT)
  16911. v12 = libc.Int32FromUint16(_nameid_order[n])
  16912. lookupid = v12
  16913. nameid = v12
  16914. if instance != 0 {
  16915. /* For named-instances, we skip regular style nameIDs,
  16916. * and treat the instance's nameid as FONT_SUBFAMILY.
  16917. * Postscript name is automatically handled by FreeType. */
  16918. 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) {
  16919. goto _11
  16920. }
  16921. if nameid == int32(m_TT_NAME_ID_FONT_SUBFAMILY) {
  16922. lookupid = libc.Int32FromUint32((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fstrid)
  16923. }
  16924. }
  16925. nameidx = _FcFreeTypeGetFirstName(tls, face, libc.Uint32FromInt32(platform), libc.Uint32FromInt32(lookupid), name_mapping, libc.Uint32FromInt32(name_count), bp+92)
  16926. if nameidx == -int32(1) {
  16927. goto _11
  16928. }
  16929. for {
  16930. switch nameid {
  16931. case int32(m_TT_NAME_ID_WWS_FAMILY):
  16932. fallthrough
  16933. case int32(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY):
  16934. fallthrough
  16935. case int32(m_TT_NAME_ID_FONT_FAMILY):
  16936. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16937. 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)))
  16938. }
  16939. obj1 = int32(_FC_FAMILY_OBJECT)
  16940. objlang = int32(_FC_FAMILYLANG_OBJECT)
  16941. np = bp + 48
  16942. nlangp = bp + 52
  16943. case int32(m_TT_NAME_ID_MAC_FULL_NAME):
  16944. fallthrough
  16945. case int32(m_TT_NAME_ID_FULL_NAME):
  16946. if variable != 0 {
  16947. break
  16948. }
  16949. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16950. 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)))
  16951. }
  16952. obj1 = int32(_FC_FULLNAME_OBJECT)
  16953. objlang = int32(_FC_FULLNAMELANG_OBJECT)
  16954. np = bp + 64
  16955. nlangp = bp + 68
  16956. case int32(m_TT_NAME_ID_WWS_SUBFAMILY):
  16957. fallthrough
  16958. case int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY):
  16959. fallthrough
  16960. case int32(m_TT_NAME_ID_FONT_SUBFAMILY):
  16961. if variable != 0 {
  16962. break
  16963. }
  16964. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16965. 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)))
  16966. }
  16967. obj1 = int32(_FC_STYLE_OBJECT)
  16968. objlang = int32(_FC_STYLELANG_OBJECT)
  16969. np = bp + 56
  16970. nlangp = bp + 60
  16971. case int32(m_TT_NAME_ID_TRADEMARK):
  16972. fallthrough
  16973. case int32(m_TT_NAME_ID_MANUFACTURER):
  16974. /* If the foundry wasn't found in the OS/2 table, look here */
  16975. if !(foundry != 0) {
  16976. utf8 = _FcSfntNameTranscode(tls, bp+92)
  16977. foundry = _FcNoticeFoundry(tls, utf8)
  16978. libc.Xfree(tls, utf8)
  16979. }
  16980. break
  16981. }
  16982. if obj1 != int32(_FC_INVALID_OBJECT) {
  16983. utf81 = _FcSfntNameTranscode(tls, bp+92)
  16984. lang = _FcSfntNameLanguage(tls, bp+92)
  16985. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16986. if utf81 != 0 {
  16987. v15 = utf81
  16988. } else {
  16989. v15 = __ccgo_ts + 4404
  16990. }
  16991. libc.Xprintf(tls, __ccgo_ts+4411, libc.VaList(bp+480, v15))
  16992. }
  16993. if !(utf81 != 0) {
  16994. goto _14
  16995. }
  16996. /* Trim surrounding whitespace. */
  16997. pp = utf81
  16998. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp))) == int32(' ') {
  16999. pp++
  17000. }
  17001. len1 = libc.Xstrlen(tls, pp)
  17002. libc.Xmemmove(tls, utf81, pp, len1+uint32(1))
  17003. pp = utf81 + uintptr(len1)
  17004. for pp > utf81 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp - libc.UintptrFromInt32(1)))) == int32(' ') {
  17005. pp--
  17006. }
  17007. *(*TFcChar8)(unsafe.Pointer(pp)) = uint8(0)
  17008. if _FcStringInPatternElement(tls, pat, obj1, utf81) != 0 {
  17009. libc.Xfree(tls, utf81)
  17010. goto _14
  17011. }
  17012. /* add new element */
  17013. if !(XFcPatternObjectAddString(tls, pat, obj1, utf81) != 0) {
  17014. libc.Xfree(tls, utf81)
  17015. goto bail1
  17016. }
  17017. libc.Xfree(tls, utf81)
  17018. if lang != 0 {
  17019. /* pad lang list with 'und' to line up with elt */
  17020. for *(*int32)(unsafe.Pointer(nlangp)) < *(*int32)(unsafe.Pointer(np)) {
  17021. if !(XFcPatternObjectAddString(tls, pat, objlang, __ccgo_ts+1358) != 0) {
  17022. goto bail1
  17023. }
  17024. *(*int32)(unsafe.Pointer(nlangp))++
  17025. }
  17026. if !(XFcPatternObjectAddString(tls, pat, objlang, lang) != 0) {
  17027. goto bail1
  17028. }
  17029. *(*int32)(unsafe.Pointer(nlangp))++
  17030. }
  17031. *(*int32)(unsafe.Pointer(np))++
  17032. }
  17033. goto _14
  17034. _14:
  17035. ;
  17036. nameidx++
  17037. v13 = nameidx
  17038. 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)) {
  17039. break
  17040. }
  17041. }
  17042. goto _11
  17043. _11:
  17044. ;
  17045. n++
  17046. }
  17047. goto _10
  17048. _10:
  17049. ;
  17050. p++
  17051. }
  17052. if !(nm_share != 0) {
  17053. libc.Xfree(tls, name_mapping)
  17054. name_mapping = libc.UintptrFromInt32(0)
  17055. }
  17056. 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 {
  17057. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17058. libc.Xprintf(tls, __ccgo_ts+4415, libc.VaList(bp+480, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name))
  17059. }
  17060. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name) != 0) {
  17061. goto bail1
  17062. }
  17063. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2789) != 0) {
  17064. goto bail1
  17065. }
  17066. *(*int32)(unsafe.Pointer(bp + 48))++
  17067. }
  17068. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 56)) != 0) {
  17069. style_regular = __ccgo_ts + 4443
  17070. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name, __ccgo_ts+112) != 0 {
  17071. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17072. libc.Xprintf(tls, __ccgo_ts+4451, libc.VaList(bp+480, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name))
  17073. }
  17074. ss = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name
  17075. } else {
  17076. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17077. libc.Xprintf(tls, __ccgo_ts+4478, 0)
  17078. }
  17079. ss = style_regular
  17080. }
  17081. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLE_OBJECT), ss) != 0) {
  17082. goto bail1
  17083. }
  17084. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLELANG_OBJECT), __ccgo_ts+2789) != 0) {
  17085. goto bail1
  17086. }
  17087. *(*int32)(unsafe.Pointer(bp + 56))++
  17088. }
  17089. if !(*(*int32)(unsafe.Pointer(bp + 48)) != 0) && file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 {
  17090. start = libc.Xstrrchr(tls, file, int32('/'))
  17091. if start != 0 {
  17092. start++
  17093. } else {
  17094. start = file
  17095. }
  17096. end = libc.Xstrrchr(tls, start, int32('.'))
  17097. if !(end != 0) {
  17098. end = start + uintptr(libc.Xstrlen(tls, start))
  17099. }
  17100. /* freed below */
  17101. family = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(end)-int32(start)+int32(1)))
  17102. libc.Xstrncpy(tls, family, start, libc.Uint32FromInt32(int32(end)-int32(start)))
  17103. *(*TFcChar8)(unsafe.Pointer(family + uintptr(int32(end)-int32(start)))) = uint8('\000')
  17104. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17105. libc.Xprintf(tls, __ccgo_ts+4510, libc.VaList(bp+480, family))
  17106. }
  17107. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), family) != 0) {
  17108. libc.Xfree(tls, family)
  17109. goto bail1
  17110. }
  17111. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2789) != 0) {
  17112. libc.Xfree(tls, family)
  17113. goto bail1
  17114. }
  17115. libc.Xfree(tls, family)
  17116. *(*int32)(unsafe.Pointer(bp + 48))++
  17117. }
  17118. /* Add the fullname into the cache */
  17119. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 64)) != 0) {
  17120. *(*uintptr)(unsafe.Pointer(bp + 116)) = libc.UintptrFromInt32(0)
  17121. n1 = 0
  17122. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n1, bp+116) == int32(_FcResultMatch) {
  17123. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 116)), __ccgo_ts+2789) == 0 {
  17124. break
  17125. }
  17126. n1++
  17127. *(*uintptr)(unsafe.Pointer(bp + 116)) = libc.UintptrFromInt32(0)
  17128. }
  17129. if !(*(*uintptr)(unsafe.Pointer(bp + 116)) != 0) {
  17130. n1 = 0
  17131. }
  17132. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n1, bp+108) != int32(_FcResultMatch) {
  17133. goto bail1
  17134. }
  17135. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 108)))
  17136. i4 = len11
  17137. for {
  17138. if !(i4 > uint32(0)) {
  17139. break
  17140. }
  17141. v17 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 108)) + uintptr(i4-uint32(1)))))
  17142. v18 = libc.BoolInt32(v17 == int32(' ') || libc.Uint32FromInt32(v17)-uint32('\t') < uint32(5))
  17143. goto _19
  17144. _19:
  17145. if !(v18 != 0) {
  17146. break
  17147. }
  17148. goto _16
  17149. _16:
  17150. ;
  17151. i4--
  17152. }
  17153. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 108)) + uintptr(i4))) = uint8(0)
  17154. n1 = 0
  17155. for XFcPatternObjectGetString(tls, pat, int32(_FC_STYLELANG_OBJECT), n1, bp+116) == int32(_FcResultMatch) {
  17156. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 116)), __ccgo_ts+2789) == 0 {
  17157. break
  17158. }
  17159. n1++
  17160. *(*uintptr)(unsafe.Pointer(bp + 116)) = libc.UintptrFromInt32(0)
  17161. }
  17162. if !(*(*uintptr)(unsafe.Pointer(bp + 116)) != 0) {
  17163. n1 = 0
  17164. }
  17165. if XFcPatternObjectGetString(tls, pat, int32(_FC_STYLE_OBJECT), n1, bp+112) != int32(_FcResultMatch) {
  17166. goto bail1
  17167. }
  17168. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 112)))
  17169. i4 = uint32(0)
  17170. for {
  17171. if v24 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)) + uintptr(i4)))) != 0; v24 {
  17172. v21 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 112)) + uintptr(i4))))
  17173. v22 = libc.BoolInt32(v21 == int32(' ') || libc.Uint32FromInt32(v21)-uint32('\t') < uint32(5))
  17174. goto _23
  17175. _23:
  17176. }
  17177. if !(v24 && v22 != 0) {
  17178. break
  17179. }
  17180. goto _20
  17181. _20:
  17182. ;
  17183. i4++
  17184. }
  17185. libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 112)), *(*uintptr)(unsafe.Pointer(bp + 112))+uintptr(i4), len11-i4)
  17186. XFcStrBufInit(tls, bp+120, libc.UintptrFromInt32(0), 0)
  17187. XFcStrBufString(tls, bp+120, *(*uintptr)(unsafe.Pointer(bp + 108)))
  17188. XFcStrBufChar(tls, bp+120, uint8(' '))
  17189. XFcStrBufString(tls, bp+120, *(*uintptr)(unsafe.Pointer(bp + 112)))
  17190. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAME_OBJECT), XFcStrBufDoneStatic(tls, bp+120)) != 0) {
  17191. XFcStrBufDestroy(tls, bp+120)
  17192. goto bail1
  17193. }
  17194. XFcStrBufDestroy(tls, bp+120)
  17195. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAMELANG_OBJECT), __ccgo_ts+2789) != 0) {
  17196. goto bail1
  17197. }
  17198. *(*int32)(unsafe.Pointer(bp + 64))++
  17199. }
  17200. /* Add the PostScript name into the cache */
  17201. if !(variable != 0) {
  17202. tmp = libfreetype.XFT_Get_Postscript_Name(tls, face)
  17203. if !(tmp != 0) {
  17204. *(*uintptr)(unsafe.Pointer(bp + 464)) = libc.UintptrFromInt32(0)
  17205. n2 = 0
  17206. /* Workaround when FT_Get_Postscript_Name didn't give any name.
  17207. * try to find out the English family name and convert.
  17208. */
  17209. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n2, bp+464) == int32(_FcResultMatch) {
  17210. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 464)), __ccgo_ts+2789) == 0 {
  17211. break
  17212. }
  17213. n2++
  17214. *(*uintptr)(unsafe.Pointer(bp + 464)) = libc.UintptrFromInt32(0)
  17215. }
  17216. if !(*(*uintptr)(unsafe.Pointer(bp + 464)) != 0) {
  17217. n2 = 0
  17218. }
  17219. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n2, bp+460) != int32(_FcResultMatch) {
  17220. goto bail1
  17221. }
  17222. len2 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 460)))
  17223. /* the literal name in PostScript Language is limited to 127 characters though,
  17224. * It is the architectural limit. so assuming 255 characters may works enough.
  17225. */
  17226. i5 = uint32(0)
  17227. for {
  17228. if !(i5 < len2 && i5 < uint32(255)) {
  17229. break
  17230. }
  17231. if libc.Xstrchr(tls, uintptr(unsafe.Pointer(&_exclusive_chars)), libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 460)) + uintptr(i5))))) != libc.UintptrFromInt32(0) {
  17232. (*(*[256]int8)(unsafe.Pointer(bp + 204)))[i5] = int8('-')
  17233. } else {
  17234. (*(*[256]int8)(unsafe.Pointer(bp + 204)))[i5] = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 460)) + uintptr(i5))))
  17235. }
  17236. goto _25
  17237. _25:
  17238. ;
  17239. i5++
  17240. }
  17241. (*(*[256]int8)(unsafe.Pointer(bp + 204)))[i5] = 0
  17242. } else {
  17243. libc.Xstrncpy(tls, bp+204, tmp, uint32(255))
  17244. (*(*[256]int8)(unsafe.Pointer(bp + 204)))[int32(255)] = 0
  17245. }
  17246. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_POSTSCRIPT_NAME_OBJECT), bp+204) != 0) {
  17247. goto bail1
  17248. }
  17249. }
  17250. if file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 && !(XFcPatternObjectAddString(tls, pat, int32(_FC_FILE_OBJECT), file) != 0) {
  17251. goto bail1
  17252. }
  17253. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_INDEX_OBJECT), libc.Int32FromUint32(id)) != 0) {
  17254. goto bail1
  17255. }
  17256. /*
  17257. * Find the font revision (if available)
  17258. */
  17259. head = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD))
  17260. if head != 0 {
  17261. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), (*TTT_Header)(unsafe.Pointer(head)).FFont_Revision) != 0) {
  17262. goto bail1
  17263. }
  17264. } else {
  17265. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), 0) != 0) {
  17266. goto bail1
  17267. }
  17268. }
  17269. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_ORDER_OBJECT), 0) != 0) {
  17270. goto bail1
  17271. }
  17272. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  17273. i6 = uint32(0)
  17274. for {
  17275. if !(i6 < libc.Uint32FromInt32(libc.Int32FromUint32(libc.Uint32FromInt64(28)/libc.Uint32FromInt64(7)))) {
  17276. break
  17277. }
  17278. if int32(_FcCodePageRange[i6].Fbit) < int32(32) {
  17279. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange1
  17280. bit = int32(_FcCodePageRange[i6].Fbit)
  17281. } else {
  17282. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange2
  17283. bit = int32(_FcCodePageRange[i6].Fbit) - int32(32)
  17284. }
  17285. if bits&(libc.Uint32FromUint32(1)<<bit) != 0 {
  17286. /*
  17287. * If the font advertises support for multiple
  17288. * "exclusive" languages, then include support
  17289. * for any language found to have coverage
  17290. */
  17291. if exclusiveLang != 0 {
  17292. exclusiveLang = uintptr(0)
  17293. break
  17294. }
  17295. exclusiveLang = uintptr(unsafe.Pointer(&_FcCodePageRange)) + uintptr(i6)*7 + 1
  17296. }
  17297. goto _26
  17298. _26:
  17299. ;
  17300. i6++
  17301. }
  17302. }
  17303. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  17304. weight = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass)
  17305. weight = XIA__FcWeightFromOpenTypeDouble(tls, weight*weight_mult)
  17306. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && weight != float64(-libc.Int32FromInt32(1)) {
  17307. libc.Xprintf(tls, __ccgo_ts+4540, libc.VaList(bp+480, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass), weight_mult, weight))
  17308. }
  17309. switch libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass) {
  17310. case int32(1):
  17311. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  17312. case int32(2):
  17313. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  17314. case int32(3):
  17315. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  17316. case int32(4):
  17317. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  17318. case int32(5):
  17319. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17320. case int32(6):
  17321. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  17322. case int32(7):
  17323. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  17324. case int32(8):
  17325. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  17326. case int32(9):
  17327. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  17328. break
  17329. }
  17330. width *= width_mult
  17331. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && width != float64(-libc.Int32FromInt32(1)) {
  17332. libc.Xprintf(tls, __ccgo_ts+4594, libc.VaList(bp+480, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass), width_mult, width))
  17333. }
  17334. }
  17335. if v28 = os2 != 0; v28 {
  17336. v27 = _FcFontCapabilities(tls, face)
  17337. complex_ = v27
  17338. }
  17339. if v28 && v27 != 0 {
  17340. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_CAPABILITY_OBJECT), complex_) != 0) {
  17341. libc.Xfree(tls, complex_)
  17342. goto bail1
  17343. }
  17344. libc.Xfree(tls, complex_)
  17345. }
  17346. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_FONT_HAS_HINT_OBJECT), _FcFontHasHint(tls, face)) != 0) {
  17347. goto bail1
  17348. }
  17349. 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) {
  17350. /* usLowerPointSize and usUpperPointSize is actually twips */
  17351. lower_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusLowerOpticalPointSize) / libc.Float64FromFloat64(20)
  17352. upper_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusUpperOpticalPointSize) / libc.Float64FromFloat64(20)
  17353. if lower_size == upper_size {
  17354. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), lower_size) != 0) {
  17355. goto bail1
  17356. }
  17357. } else {
  17358. r1 = XIA__FcRangeCreateDouble(tls, lower_size, upper_size)
  17359. if !(XFcPatternObjectAddRange(tls, pat, int32(_FC_SIZE_OBJECT), r1) != 0) {
  17360. XIA__FcRangeDestroy(tls, r1)
  17361. goto bail1
  17362. }
  17363. XIA__FcRangeDestroy(tls, r1)
  17364. }
  17365. }
  17366. /*
  17367. * Type 1: Check for FontInfo dictionary information
  17368. * Code from g2@magestudios.net (Gerard Escalante)
  17369. */
  17370. if libfreetype.XFT_Get_PS_Font_Info(tls, face, bp+4) == 0 {
  17371. if weight == float64(-libc.Int32FromInt32(1)) && (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 4))).Fweight != 0 {
  17372. weight = float64(_FcStringIsConst(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 4))).Fweight, uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(184)/libc.Uint32FromInt64(8))))
  17373. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17374. libc.Xprintf(tls, __ccgo_ts+4646, libc.VaList(bp+480, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 4))).Fweight, weight))
  17375. }
  17376. }
  17377. if !(foundry != 0) {
  17378. foundry = _FcNoticeFoundry(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 4))).Fnotice)
  17379. }
  17380. }
  17381. /*
  17382. * Finally, look for a FOUNDRY BDF property if no other
  17383. * mechanism has managed to locate a foundry
  17384. */
  17385. if !(foundry != 0) {
  17386. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4675, bp+40)
  17387. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 40))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) {
  17388. foundry = *(*uintptr)(unsafe.Pointer(bp + 40 + 4))
  17389. }
  17390. }
  17391. if width == float64(-libc.Int32FromInt32(1)) {
  17392. 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)) {
  17393. if (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 40))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  17394. value1 = *(*TFT_Int32)(unsafe.Pointer(bp + 40 + 4))
  17395. } else {
  17396. value1 = libc.Int32FromUint32(*(*TFT_UInt32)(unsafe.Pointer(bp + 40 + 4)))
  17397. }
  17398. switch (value1 + libc.Int32FromInt32(5)) / libc.Int32FromInt32(10) {
  17399. case int32(1):
  17400. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  17401. case int32(2):
  17402. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  17403. case int32(3):
  17404. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  17405. case int32(4):
  17406. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  17407. case int32(5):
  17408. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17409. case int32(6):
  17410. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  17411. case int32(7):
  17412. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  17413. case int32(8):
  17414. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  17415. case int32(9):
  17416. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  17417. break
  17418. }
  17419. }
  17420. 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) {
  17421. width = float64(_FcStringIsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(80)/libc.Uint32FromInt64(8))))
  17422. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17423. libc.Xprintf(tls, __ccgo_ts+4715, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 40 + 4)), width))
  17424. }
  17425. }
  17426. }
  17427. /*
  17428. * Look for weight, width and slant names in the style value
  17429. */
  17430. st = 0
  17431. for {
  17432. if !(XIA__FcPatternGetString(tls, pat, __ccgo_ts+4740, st, bp+72) == int32(_FcResultMatch)) {
  17433. break
  17434. }
  17435. if weight == float64(-libc.Int32FromInt32(1)) {
  17436. weight = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(184)/libc.Uint32FromInt64(8))))
  17437. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17438. libc.Xprintf(tls, __ccgo_ts+4746, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 72)), weight))
  17439. }
  17440. }
  17441. if width == float64(-libc.Int32FromInt32(1)) {
  17442. width = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(80)/libc.Uint32FromInt64(8))))
  17443. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17444. libc.Xprintf(tls, __ccgo_ts+4775, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 72)), width))
  17445. }
  17446. }
  17447. if slant == -int32(1) {
  17448. slant = _FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(unsafe.Pointer(&_slantConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(24)/libc.Uint32FromInt64(8)))
  17449. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17450. libc.Xprintf(tls, __ccgo_ts+4803, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 72)), slant))
  17451. }
  17452. }
  17453. if decorative == m_FcFalse {
  17454. decorative = libc.BoolInt32(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(unsafe.Pointer(&_decorativeConsts)), libc.Int32FromUint32(libc.Uint32FromInt64(48)/libc.Uint32FromInt64(8))) > 0)
  17455. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17456. libc.Xprintf(tls, __ccgo_ts+4831, libc.VaList(bp+480, *(*uintptr)(unsafe.Pointer(bp + 72)), decorative))
  17457. }
  17458. }
  17459. goto _29
  17460. _29:
  17461. ;
  17462. st++
  17463. }
  17464. /*
  17465. * Pull default values from the FreeType flags if more
  17466. * specific values not found above
  17467. */
  17468. if slant == -int32(1) {
  17469. slant = m_FC_SLANT_ROMAN
  17470. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  17471. slant = int32(m_FC_SLANT_ITALIC)
  17472. }
  17473. }
  17474. if weight == float64(-libc.Int32FromInt32(1)) {
  17475. weight = libc.Float64FromInt32(m_FC_WEIGHT_MEDIUM)
  17476. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  17477. weight = libc.Float64FromInt32(m_FC_WEIGHT_BOLD)
  17478. }
  17479. }
  17480. if width == float64(-libc.Int32FromInt32(1)) {
  17481. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17482. }
  17483. if foundry == uintptr(0) {
  17484. foundry = __ccgo_ts + 4864
  17485. }
  17486. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SLANT_OBJECT), slant) != 0) {
  17487. goto bail1
  17488. }
  17489. if !(variable_weight != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WEIGHT_OBJECT), weight) != 0) {
  17490. goto bail1
  17491. }
  17492. if !(variable_width != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WIDTH_OBJECT), width) != 0) {
  17493. goto bail1
  17494. }
  17495. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FOUNDRY_OBJECT), foundry) != 0) {
  17496. goto bail1
  17497. }
  17498. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_DECORATIVE_OBJECT), decorative) != 0) {
  17499. goto bail1
  17500. }
  17501. /*
  17502. * Compute the unicode coverage for the font
  17503. */
  17504. if cs_share != 0 && *(*uintptr)(unsafe.Pointer(cs_share)) != 0 {
  17505. cs = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(cs_share)))
  17506. } else {
  17507. cs = XIA__FcFreeTypeCharSet(tls, face, libc.UintptrFromInt32(0))
  17508. if cs_share != 0 {
  17509. *(*uintptr)(unsafe.Pointer(cs_share)) = XIA__FcCharSetCopy(tls, cs)
  17510. }
  17511. }
  17512. if !(cs != 0) {
  17513. goto bail1
  17514. }
  17515. /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
  17516. 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))
  17517. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SYMBOL_OBJECT), symbol) != 0) {
  17518. goto bail1
  17519. }
  17520. spacing = _FcFreeTypeSpacing(tls, face)
  17521. /* For PCF fonts, override the computed spacing with the one from
  17522. the property */
  17523. 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) {
  17524. 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) {
  17525. spacing = int32(m_FC_CHARCELL)
  17526. } else {
  17527. 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) {
  17528. spacing = int32(m_FC_MONO)
  17529. } else {
  17530. 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) {
  17531. spacing = m_FC_PROPORTIONAL
  17532. }
  17533. }
  17534. }
  17535. }
  17536. /*
  17537. * Skip over PCF fonts that have no encoded characters; they're
  17538. * usually just Unicode fonts transcoded to some legacy encoding
  17539. * FT forces us to approximate whether a font is a PCF font
  17540. * or not by whether it has any BDF properties. Try PIXEL_SIZE;
  17541. * I don't know how to get a list of BDF properties on the font. -PL
  17542. */
  17543. if XIA__FcCharSetCount(tls, cs) == uint32(0) {
  17544. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4272, bp+40) == 0 {
  17545. goto bail2
  17546. }
  17547. }
  17548. if !(XFcPatternObjectAddCharSet(tls, pat, int32(_FC_CHARSET_OBJECT), cs) != 0) {
  17549. goto bail2
  17550. }
  17551. if !(symbol != 0) {
  17552. if ls_share != 0 && *(*uintptr)(unsafe.Pointer(ls_share)) != 0 {
  17553. ls = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(ls_share)))
  17554. } else {
  17555. ls = XFcFreeTypeLangSet(tls, cs, exclusiveLang)
  17556. if ls_share != 0 {
  17557. *(*uintptr)(unsafe.Pointer(ls_share)) = XIA__FcLangSetCopy(tls, ls)
  17558. }
  17559. }
  17560. if !(ls != 0) {
  17561. goto bail2
  17562. }
  17563. } else {
  17564. /* Symbol fonts don't cover any language, even though they
  17565. * claim to support Latin1 range. */
  17566. ls = XIA__FcLangSetCreate(tls)
  17567. }
  17568. if !(XFcPatternObjectAddLangSet(tls, pat, int32(_FC_LANG_OBJECT), ls) != 0) {
  17569. XIA__FcLangSetDestroy(tls, ls)
  17570. goto bail2
  17571. }
  17572. XIA__FcLangSetDestroy(tls, ls)
  17573. if spacing != m_FC_PROPORTIONAL {
  17574. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SPACING_OBJECT), spacing) != 0) {
  17575. goto bail2
  17576. }
  17577. }
  17578. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0) {
  17579. i7 = 0
  17580. for {
  17581. if !(i7 < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  17582. break
  17583. }
  17584. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_PIXEL_SIZE_OBJECT), _FcGetPixelSize(tls, face, i7)) != 0) {
  17585. goto bail2
  17586. }
  17587. goto _30
  17588. _30:
  17589. ;
  17590. i7++
  17591. }
  17592. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_ANTIALIAS_OBJECT), m_FcFalse) != 0) {
  17593. goto bail2
  17594. }
  17595. }
  17596. /*
  17597. * Use the (not well documented or supported) X-specific function
  17598. * from FreeType to figure out the font format
  17599. */
  17600. font_format = libfreetype.XFT_Get_X11_Font_Format(tls, face)
  17601. if font_format != 0 {
  17602. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FONTFORMAT_OBJECT), font_format) != 0) {
  17603. goto bail2
  17604. }
  17605. }
  17606. /*
  17607. * Drop our reference to the charset
  17608. */
  17609. XIA__FcCharSetDestroy(tls, cs)
  17610. if foundry_ != 0 {
  17611. libc.Xfree(tls, foundry_)
  17612. }
  17613. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  17614. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph != 0 {
  17615. libfreetype.XFT_Done_MM_Var(tls, (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Flibrary, *(*uintptr)(unsafe.Pointer(bp)))
  17616. }
  17617. }
  17618. return pat
  17619. goto bail2
  17620. bail2:
  17621. ;
  17622. XIA__FcCharSetDestroy(tls, cs)
  17623. goto bail1
  17624. bail1:
  17625. ;
  17626. XIA__FcPatternDestroy(tls, pat)
  17627. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  17628. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph != 0 {
  17629. libfreetype.XFT_Done_MM_Var(tls, (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Flibrary, *(*uintptr)(unsafe.Pointer(bp)))
  17630. }
  17631. }
  17632. if !(nm_share != 0) && name_mapping != 0 {
  17633. libc.Xfree(tls, name_mapping)
  17634. }
  17635. if foundry_ != 0 {
  17636. libc.Xfree(tls, foundry_)
  17637. }
  17638. goto bail0
  17639. bail0:
  17640. ;
  17641. return libc.UintptrFromInt32(0)
  17642. return r2
  17643. }
  17644. /* those characters are not allowed to be the literal name in PostScript */
  17645. var _exclusive_chars = [16]int8{4, '(', ')', '/', '<', '>', '[', ']', '{', '}', 9, 12, 13, 10, ' '}
  17646. func XIA__FcFreeTypeQueryFace(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, blanks uintptr) (r uintptr) {
  17647. return _FcFreeTypeQueryFaceInternal(tls, face, file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  17648. }
  17649. var XFcFreeTypeQueryFace = XIA__FcFreeTypeQueryFace
  17650. func XIA__FcFreeTypeQuery(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr) (r uintptr) {
  17651. bp := tls.Alloc(16)
  17652. defer tls.Free(16)
  17653. var pat uintptr
  17654. var _ /* face at bp+0 */ TFT_Face
  17655. var _ /* ftLibrary at bp+4 */ TFT_Library
  17656. _ = pat
  17657. pat = libc.UintptrFromInt32(0)
  17658. if libfreetype.XFT_Init_FreeType(tls, bp+4) != 0 {
  17659. return libc.UintptrFromInt32(0)
  17660. }
  17661. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)), file, libc.Int32FromUint32(id&uint32(0x7FFFFFFF)), bp) != 0 {
  17662. goto bail
  17663. }
  17664. if count != 0 {
  17665. *(*int32)(unsafe.Pointer(count)) = (*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces
  17666. }
  17667. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  17668. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17669. goto bail
  17670. bail:
  17671. ;
  17672. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)))
  17673. return pat
  17674. }
  17675. var XFcFreeTypeQuery = XIA__FcFreeTypeQuery
  17676. func XIA__FcFreeTypeQueryAll(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr, set uintptr) (r uint32) {
  17677. bp := tls.Alloc(32)
  17678. defer tls.Free(32)
  17679. var coords, instance, pat uintptr
  17680. var err int32
  17681. var face_num, i, instance_num, num_faces, num_instances, ret, set_face_num, set_instance_num, v1, v2 uint32
  17682. var index_set, nonzero TFcBool
  17683. var _ /* cs at bp+8 */ uintptr
  17684. var _ /* face at bp+0 */ TFT_Face
  17685. var _ /* ftLibrary at bp+4 */ TFT_Library
  17686. var _ /* ls at bp+12 */ uintptr
  17687. var _ /* mm_var at bp+20 */ uintptr
  17688. var _ /* nm at bp+16 */ uintptr
  17689. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  17690. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  17691. *(*TFT_Library)(unsafe.Pointer(bp + 4)) = libc.UintptrFromInt32(0)
  17692. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  17693. *(*uintptr)(unsafe.Pointer(bp + 12)) = libc.UintptrFromInt32(0)
  17694. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  17695. *(*uintptr)(unsafe.Pointer(bp + 20)) = libc.UintptrFromInt32(0)
  17696. index_set = libc.BoolInt32(id != libc.Uint32FromInt32(-libc.Int32FromInt32(1)))
  17697. if index_set != 0 {
  17698. v1 = id & uint32(0xFFFF)
  17699. } else {
  17700. v1 = uint32(0)
  17701. }
  17702. set_face_num = v1
  17703. if index_set != 0 {
  17704. v2 = id >> int32(16)
  17705. } else {
  17706. v2 = uint32(0)
  17707. }
  17708. set_instance_num = v2
  17709. face_num = set_face_num
  17710. instance_num = set_instance_num
  17711. num_faces = uint32(0)
  17712. num_instances = uint32(0)
  17713. ret = uint32(0)
  17714. err = 0
  17715. if count != 0 {
  17716. *(*int32)(unsafe.Pointer(count)) = 0
  17717. }
  17718. if libfreetype.XFT_Init_FreeType(tls, bp+4) != 0 {
  17719. return uint32(0)
  17720. }
  17721. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)), file, libc.Int32FromUint32(face_num), bp) != 0 {
  17722. goto bail
  17723. }
  17724. num_faces = libc.Uint32FromInt32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  17725. num_instances = libc.Uint32FromInt32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fstyle_flags >> int32(16))
  17726. if num_instances != 0 && (!(index_set != 0) || instance_num != 0) {
  17727. libfreetype.XFT_Get_MM_Var(tls, *(*TFT_Face)(unsafe.Pointer(bp)), bp+20)
  17728. if !(*(*uintptr)(unsafe.Pointer(bp + 20)) != 0) {
  17729. num_instances = uint32(0)
  17730. }
  17731. }
  17732. if count != 0 {
  17733. *(*int32)(unsafe.Pointer(count)) = libc.Int32FromUint32(num_faces)
  17734. }
  17735. for cond := true; cond; cond = !(err != 0) && (!(index_set != 0) || face_num == set_face_num) && face_num < num_faces {
  17736. pat = libc.UintptrFromInt32(0)
  17737. if instance_num == uint32(0x8000) || instance_num > num_instances {
  17738. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), uint32(0), libc.UintptrFromInt32(0))
  17739. } else {
  17740. if instance_num != 0 {
  17741. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20)))).Fnamedstyle + uintptr(instance_num-uint32(1))*12
  17742. coords = (*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords
  17743. /* Skip named-instance that coincides with base instance. */
  17744. nonzero = m_FcFalse
  17745. i = uint32(0)
  17746. for {
  17747. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 20)))).Fnum_axis) {
  17748. break
  17749. }
  17750. 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 {
  17751. nonzero = int32(m_FcTrue)
  17752. break
  17753. }
  17754. goto _3
  17755. _3:
  17756. ;
  17757. i++
  17758. }
  17759. if !(nonzero != 0) {
  17760. goto skip
  17761. }
  17762. 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)
  17763. }
  17764. }
  17765. id = instance_num<<int32(16) + face_num
  17766. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, bp+8, bp+12, bp+16)
  17767. if pat != 0 {
  17768. ret++
  17769. if !(set != 0) || !(XIA__FcFontSetAdd(tls, set, pat) != 0) {
  17770. XIA__FcPatternDestroy(tls, pat)
  17771. }
  17772. } else {
  17773. if instance_num != uint32(0x8000) {
  17774. err = int32(1)
  17775. }
  17776. }
  17777. goto skip
  17778. skip:
  17779. ;
  17780. if !(index_set != 0) && instance_num < num_instances {
  17781. instance_num++
  17782. } else {
  17783. if !(index_set != 0) && instance_num == num_instances {
  17784. instance_num = uint32(0x8000)
  17785. } else {
  17786. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  17787. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  17788. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
  17789. *(*uintptr)(unsafe.Pointer(bp + 12)) = libc.UintptrFromInt32(0)
  17790. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  17791. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  17792. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17793. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  17794. face_num++
  17795. instance_num = set_instance_num
  17796. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)), file, libc.Int32FromUint32(face_num), bp) != 0 {
  17797. break
  17798. }
  17799. }
  17800. }
  17801. }
  17802. goto bail
  17803. bail:
  17804. ;
  17805. libfreetype.XFT_Done_MM_Var(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp + 20)))
  17806. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
  17807. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  17808. if *(*TFT_Face)(unsafe.Pointer(bp)) != 0 {
  17809. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17810. }
  17811. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 4)))
  17812. if *(*uintptr)(unsafe.Pointer(bp + 16)) != 0 {
  17813. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  17814. }
  17815. return ret
  17816. }
  17817. var XFcFreeTypeQueryAll = XIA__FcFreeTypeQueryAll
  17818. var _fcFontEncodings = [2]TFT_Encoding{
  17819. 0: int32(_FT_ENCODING_UNICODE),
  17820. 1: int32(_FT_ENCODING_MS_SYMBOL),
  17821. }
  17822. /*
  17823. * Map a UCS4 glyph to a glyph index. Use all available encoding
  17824. * tables to try and find one that works. This information is expected
  17825. * to be cached by higher levels, so performance isn't critical
  17826. */
  17827. func XIA__FcFreeTypeCharIndex(tls *libc.TLS, face TFT_Face, ucs4 TFcChar32) (r TFT_UInt) {
  17828. var decode, initial, offset int32
  17829. var glyphindex TFT_UInt
  17830. _, _, _, _ = decode, glyphindex, initial, offset
  17831. initial = 0
  17832. if !(face != 0) {
  17833. return uint32(0)
  17834. }
  17835. /*
  17836. * Find the current encoding
  17837. */
  17838. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 {
  17839. for {
  17840. if !(initial < libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) {
  17841. break
  17842. }
  17843. if _fcFontEncodings[initial] == (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding {
  17844. break
  17845. }
  17846. goto _1
  17847. _1:
  17848. ;
  17849. initial++
  17850. }
  17851. if initial == libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4)) {
  17852. initial = 0
  17853. }
  17854. }
  17855. /*
  17856. * Check each encoding for the glyph, starting with the current one
  17857. */
  17858. offset = 0
  17859. for {
  17860. if !(offset < libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) {
  17861. break
  17862. }
  17863. decode = (initial + offset) % libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))
  17864. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0) || (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding != _fcFontEncodings[decode] {
  17865. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[decode]) != 0 {
  17866. goto _2
  17867. }
  17868. }
  17869. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, ucs4)
  17870. if glyphindex != 0 {
  17871. return glyphindex
  17872. }
  17873. 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) {
  17874. /* For symbol-encoded OpenType fonts, we duplicate the
  17875. * U+F000..F0FF range at U+0000..U+00FF. That's what
  17876. * Windows seems to do, and that's hinted about at:
  17877. * http://www.microsoft.com/typography/otspec/recom.htm
  17878. * under "Non-Standard (Symbol) Fonts".
  17879. *
  17880. * See thread with subject "Webdings and other MS symbol
  17881. * fonts don't display" on mailing list from May 2015.
  17882. */
  17883. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, ucs4+uint32(0xF000))
  17884. if glyphindex != 0 {
  17885. return glyphindex
  17886. }
  17887. }
  17888. goto _2
  17889. _2:
  17890. ;
  17891. offset++
  17892. }
  17893. return uint32(0)
  17894. }
  17895. var XFcFreeTypeCharIndex = XIA__FcFreeTypeCharIndex
  17896. func _fc_min(tls *libc.TLS, a int32, b int32) (r int32) {
  17897. var v1 int32
  17898. _ = v1
  17899. if a <= b {
  17900. v1 = a
  17901. } else {
  17902. v1 = b
  17903. }
  17904. return v1
  17905. }
  17906. func _fc_max(tls *libc.TLS, a int32, b int32) (r int32) {
  17907. var v1 int32
  17908. _ = v1
  17909. if a >= b {
  17910. v1 = a
  17911. } else {
  17912. v1 = b
  17913. }
  17914. return v1
  17915. }
  17916. func _fc_approximately_equal(tls *libc.TLS, x int32, y int32) (r TFcBool) {
  17917. return libc.BoolInt32(libc.Xabs(tls, x-y)*int32(33) <= _fc_max(tls, libc.Xabs(tls, x), libc.Xabs(tls, y)))
  17918. }
  17919. func _FcFreeTypeSpacing(tls *libc.TLS, face TFT_Face) (r int32) {
  17920. bp := tls.Alloc(16)
  17921. defer tls.Free(16)
  17922. var advances [3]TFT_Pos
  17923. var i, load_flags, strike_index TFT_Int
  17924. var j, num_advances, v4 uint32
  17925. var o int32
  17926. var ucs4 TFcChar32
  17927. var _ /* advance at bp+4 */ TFT_Pos
  17928. var _ /* glyph at bp+0 */ TFT_UInt
  17929. _, _, _, _, _, _, _, _, _ = advances, i, j, load_flags, num_advances, o, strike_index, ucs4, v4
  17930. load_flags = libc.Int32FromInt32(1)<<libc.Int32FromInt32(9) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(0) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)
  17931. advances = [3]TFT_Pos{}
  17932. num_advances = uint32(0)
  17933. /* When using scalable fonts, only report those glyphs
  17934. * which can be scaled; otherwise those fonts will
  17935. * only be available at some sizes, and never when
  17936. * transformed. Avoid this by simply reporting bitmap-only
  17937. * glyphs as missing
  17938. */
  17939. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  17940. load_flags = load_flags | libc.Int32FromInt32(1)<<libc.Int32FromInt32(3)
  17941. }
  17942. 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 {
  17943. strike_index = 0
  17944. /* Select the face closest to 16 pixels tall */
  17945. i = int32(1)
  17946. for {
  17947. if !(i < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  17948. break
  17949. }
  17950. 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)) {
  17951. strike_index = i
  17952. }
  17953. goto _1
  17954. _1:
  17955. ;
  17956. i++
  17957. }
  17958. libfreetype.XFT_Select_Size(tls, face, strike_index)
  17959. }
  17960. o = 0
  17961. for {
  17962. if !(o < libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) {
  17963. break
  17964. }
  17965. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  17966. goto _2
  17967. }
  17968. ucs4 = libfreetype.XFT_Get_First_Char(tls, face, bp)
  17969. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) && num_advances < uint32(3) {
  17970. *(*TFT_Pos)(unsafe.Pointer(bp + 4)) = 0
  17971. if !(libfreetype.XFT_Get_Advance(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags, bp+4) != 0) && *(*TFT_Pos)(unsafe.Pointer(bp + 4)) != 0 {
  17972. j = uint32(0)
  17973. for {
  17974. if !(j < num_advances) {
  17975. break
  17976. }
  17977. if _fc_approximately_equal(tls, *(*TFT_Pos)(unsafe.Pointer(bp + 4)), advances[j]) != 0 {
  17978. break
  17979. }
  17980. goto _3
  17981. _3:
  17982. ;
  17983. j++
  17984. }
  17985. if j == num_advances {
  17986. v4 = num_advances
  17987. num_advances++
  17988. advances[v4] = *(*TFT_Pos)(unsafe.Pointer(bp + 4))
  17989. }
  17990. }
  17991. ucs4 = libfreetype.XFT_Get_Next_Char(tls, face, ucs4, bp)
  17992. }
  17993. break
  17994. goto _2
  17995. _2:
  17996. ;
  17997. o++
  17998. }
  17999. if num_advances <= uint32(1) {
  18000. return int32(m_FC_MONO)
  18001. } else {
  18002. 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 {
  18003. return int32(m_FC_DUAL)
  18004. } else {
  18005. return m_FC_PROPORTIONAL
  18006. }
  18007. }
  18008. return r
  18009. }
  18010. func XIA__FcFreeTypeCharSet(tls *libc.TLS, face TFT_Face, blanks uintptr) (r uintptr) {
  18011. bp := tls.Alloc(16)
  18012. defer tls.Free(16)
  18013. var fcs, leaf uintptr
  18014. var good TFcBool
  18015. var load_flags TFT_Int
  18016. var o int32
  18017. var off, page, ucs4 TFcChar32
  18018. var _ /* glyph at bp+0 */ TFT_UInt
  18019. _, _, _, _, _, _, _, _ = fcs, good, leaf, load_flags, o, off, page, ucs4
  18020. load_flags = libc.Int32FromInt32(1)<<libc.Int32FromInt32(9) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(0) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)
  18021. fcs = XIA__FcCharSetCreate(tls)
  18022. if !(fcs != 0) {
  18023. goto bail
  18024. }
  18025. o = 0
  18026. for {
  18027. if !(o < libc.Int32FromUint32(libc.Uint32FromInt64(8)/libc.Uint32FromInt64(4))) {
  18028. break
  18029. }
  18030. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  18031. goto _1
  18032. }
  18033. page = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  18034. leaf = libc.UintptrFromInt32(0)
  18035. ucs4 = libfreetype.XFT_Get_First_Char(tls, face, bp)
  18036. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) {
  18037. good = int32(m_FcTrue)
  18038. /* CID fonts built by Adobe used to make ASCII control chars to cid1
  18039. * (space glyph). As such, always check contour for those characters. */
  18040. if ucs4 <= uint32(0x001F) {
  18041. 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 {
  18042. good = m_FcFalse
  18043. }
  18044. }
  18045. if good != 0 {
  18046. XIA__FcCharSetAddChar(tls, fcs, ucs4)
  18047. if ucs4>>libc.Int32FromInt32(8) != page {
  18048. page = ucs4 >> int32(8)
  18049. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  18050. if !(leaf != 0) {
  18051. goto bail
  18052. }
  18053. }
  18054. off = ucs4 & uint32(0xff)
  18055. *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(off>>int32(5))*4)) |= uint32(1) << (off & uint32(0x1f))
  18056. }
  18057. ucs4 = libfreetype.XFT_Get_Next_Char(tls, face, ucs4, bp)
  18058. }
  18059. if _fcFontEncodings[o] == int32(_FT_ENCODING_MS_SYMBOL) {
  18060. /* For symbol-encoded OpenType fonts, we duplicate the
  18061. * U+F000..F0FF range at U+0000..U+00FF. That's what
  18062. * Windows seems to do, and that's hinted about at:
  18063. * http://www.microsoft.com/typography/otspec/recom.htm
  18064. * under "Non-Standard (Symbol) Fonts".
  18065. *
  18066. * See thread with subject "Webdings and other MS symbol
  18067. * fonts don't display" on mailing list from May 2015.
  18068. */
  18069. ucs4 = uint32(0xF000)
  18070. for {
  18071. if !(ucs4 < uint32(0xF100)) {
  18072. break
  18073. }
  18074. if XIA__FcCharSetHasChar(tls, fcs, ucs4) != 0 {
  18075. XIA__FcCharSetAddChar(tls, fcs, ucs4-uint32(0xF000))
  18076. }
  18077. goto _2
  18078. _2:
  18079. ;
  18080. ucs4++
  18081. }
  18082. }
  18083. break
  18084. goto _1
  18085. _1:
  18086. ;
  18087. o++
  18088. }
  18089. return fcs
  18090. goto bail
  18091. bail:
  18092. ;
  18093. XIA__FcCharSetDestroy(tls, fcs)
  18094. return uintptr(0)
  18095. }
  18096. var XFcFreeTypeCharSet = XIA__FcFreeTypeCharSet
  18097. func XIA__FcFreeTypeCharSetAndSpacing(tls *libc.TLS, face TFT_Face, blanks uintptr, spacing uintptr) (r uintptr) {
  18098. if spacing != 0 {
  18099. *(*int32)(unsafe.Pointer(spacing)) = _FcFreeTypeSpacing(tls, face)
  18100. }
  18101. return XIA__FcFreeTypeCharSet(tls, face, blanks)
  18102. }
  18103. var XFcFreeTypeCharSetAndSpacing = XIA__FcFreeTypeCharSetAndSpacing
  18104. /* space + head + id */
  18105. /*
  18106. * This is a bit generous; the registry has only lower case and space
  18107. * except for 'DFLT'.
  18108. */
  18109. func _addtag(tls *libc.TLS, complex_ uintptr, tag TFT_ULong) {
  18110. bp := tls.Alloc(16)
  18111. defer tls.Free(16)
  18112. var _ /* tagstring at bp+0 */ [5]TFcChar8
  18113. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0] = uint8(tag >> libc.Int32FromInt32(24))
  18114. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)] = uint8(tag >> libc.Int32FromInt32(16))
  18115. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)] = uint8(tag >> libc.Int32FromInt32(8))
  18116. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)] = uint8(tag)
  18117. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(4)] = uint8('\000')
  18118. /* skip tags which aren't alphanumeric, under the assumption that
  18119. * they're probably broken
  18120. */
  18121. 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)])) {
  18122. return
  18123. }
  18124. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(complex_))) != int32('\000') {
  18125. libc.Xstrcat(tls, complex_, __ccgo_ts+1989)
  18126. }
  18127. libc.Xstrcat(tls, complex_, __ccgo_ts+4892)
  18128. libc.Xstrcat(tls, complex_, bp)
  18129. }
  18130. func _compareulong(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  18131. var ua, ub uintptr
  18132. _, _ = ua, ub
  18133. ua = a
  18134. ub = b
  18135. return libc.Int32FromUint32(*(*TFT_ULong)(unsafe.Pointer(ua)) - *(*TFT_ULong)(unsafe.Pointer(ub)))
  18136. }
  18137. func _FindTable(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong) (r TFcBool) {
  18138. var error1, v1 TFT_Error
  18139. var stream TFT_Stream
  18140. _, _, _ = error1, stream, v1
  18141. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  18142. if !(stream != 0) {
  18143. return m_FcFalse
  18144. }
  18145. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  18146. error1 = v1
  18147. if v1 != 0 {
  18148. return m_FcFalse
  18149. }
  18150. return int32(m_FcTrue)
  18151. }
  18152. func _GetScriptTags(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong, stags uintptr) (r int32) {
  18153. var base_offset, cur_offset, new_offset TFT_ULong
  18154. var error1, v1 TFT_Error
  18155. var n, p TFT_UShort
  18156. var script_count int32
  18157. var stream TFT_Stream
  18158. _, _, _, _, _, _, _, _, _ = base_offset, cur_offset, error1, n, new_offset, p, script_count, stream, v1
  18159. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  18160. if !(stream != 0) {
  18161. return 0
  18162. }
  18163. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  18164. error1 = v1
  18165. if v1 != 0 {
  18166. return 0
  18167. }
  18168. base_offset = libc.Uint32FromInt32(Xftglue_stream_pos(tls, stream))
  18169. /* skip version */
  18170. if Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(base_offset+uint32(4))) != 0 || Xftglue_stream_frame_enter(tls, stream, uint32(2)) != 0 {
  18171. return 0
  18172. }
  18173. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(2)
  18174. 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
  18175. Xftglue_stream_frame_exit(tls, stream)
  18176. cur_offset = libc.Uint32FromInt32(Xftglue_stream_pos(tls, stream))
  18177. if Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(new_offset)) != int32(_FT_Err_Ok) {
  18178. return 0
  18179. }
  18180. base_offset = libc.Uint32FromInt32(Xftglue_stream_pos(tls, stream))
  18181. if Xftglue_stream_frame_enter(tls, stream, uint32(2)) != 0 {
  18182. return 0
  18183. }
  18184. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(2)
  18185. 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)))))))
  18186. Xftglue_stream_frame_exit(tls, stream)
  18187. *(*uintptr)(unsafe.Pointer(stags)) = libc.Xmalloc(tls, libc.Uint32FromInt32(script_count)*uint32(4))
  18188. if !(*(*uintptr)(unsafe.Pointer(stags)) != 0) {
  18189. return 0
  18190. }
  18191. p = uint16(0)
  18192. n = uint16(0)
  18193. for {
  18194. if !(libc.Int32FromUint16(n) < script_count) {
  18195. break
  18196. }
  18197. if Xftglue_stream_frame_enter(tls, stream, uint32(6)) != 0 {
  18198. goto Fail
  18199. }
  18200. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  18201. *(*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))))))
  18202. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(2)
  18203. 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
  18204. Xftglue_stream_frame_exit(tls, stream)
  18205. cur_offset = libc.Uint32FromInt32(Xftglue_stream_pos(tls, stream))
  18206. error1 = Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(new_offset))
  18207. if error1 == int32(_FT_Err_Ok) {
  18208. p++
  18209. }
  18210. Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(cur_offset))
  18211. goto _2
  18212. _2:
  18213. ;
  18214. n++
  18215. }
  18216. if !(p != 0) {
  18217. goto Fail
  18218. }
  18219. /* sort the tag list before returning it */
  18220. libc.Xqsort(tls, *(*uintptr)(unsafe.Pointer(stags)), libc.Uint32FromInt32(script_count), uint32(4), __ccgo_fp(_compareulong))
  18221. return script_count
  18222. goto Fail
  18223. Fail:
  18224. ;
  18225. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(stags)))
  18226. *(*uintptr)(unsafe.Pointer(stags)) = libc.UintptrFromInt32(0)
  18227. return 0
  18228. }
  18229. func _FcFontCapabilities(tls *libc.TLS, face TFT_Face) (r uintptr) {
  18230. bp := tls.Alloc(32)
  18231. defer tls.Free(32)
  18232. var complex_ uintptr
  18233. var err TFT_Error
  18234. var gpos_count, gsub_count TFT_UShort
  18235. var indx1, indx2, v1 int32
  18236. var issilgraphitefont TFcBool
  18237. var maxsize TFT_ULong
  18238. var _ /* gpostags at bp+8 */ uintptr
  18239. var _ /* gsubtags at bp+4 */ uintptr
  18240. var _ /* len at bp+0 */ TFT_ULong
  18241. _, _, _, _, _, _, _, _, _ = complex_, err, gpos_count, gsub_count, indx1, indx2, issilgraphitefont, maxsize, v1
  18242. issilgraphitefont = 0
  18243. *(*TFT_ULong)(unsafe.Pointer(bp)) = uint32(0)
  18244. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.UintptrFromInt32(0)
  18245. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  18246. gsub_count = uint16(0)
  18247. gpos_count = uint16(0)
  18248. complex_ = libc.UintptrFromInt32(0)
  18249. indx1 = 0
  18250. indx2 = 0
  18251. 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)
  18252. issilgraphitefont = libc.BoolInt32(err == int32(_FT_Err_Ok))
  18253. 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))
  18254. 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))
  18255. if !(issilgraphitefont != 0) && !(gsub_count != 0) && !(gpos_count != 0) {
  18256. goto bail
  18257. }
  18258. if issilgraphitefont != 0 {
  18259. v1 = int32(13)
  18260. } else {
  18261. v1 = 0
  18262. }
  18263. 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)
  18264. complex_ = libc.Xmalloc(tls, uint32(1)*maxsize)
  18265. if !(complex_ != 0) {
  18266. goto bail
  18267. }
  18268. *(*TFcChar8)(unsafe.Pointer(complex_)) = uint8('\000')
  18269. if issilgraphitefont != 0 {
  18270. libc.Xstrcpy(tls, complex_, __ccgo_ts+4902)
  18271. }
  18272. for indx1 < libc.Int32FromUint16(gsub_count) || indx2 < libc.Int32FromUint16(gpos_count) {
  18273. if indx1 == libc.Int32FromUint16(gsub_count) {
  18274. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx2)*4)))
  18275. indx2++
  18276. } else {
  18277. 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)) {
  18278. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)) + uintptr(indx1)*4)))
  18279. indx1++
  18280. } else {
  18281. 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)) {
  18282. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)) + uintptr(indx1)*4)))
  18283. indx1++
  18284. indx2++
  18285. } else {
  18286. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx2)*4)))
  18287. indx2++
  18288. }
  18289. }
  18290. }
  18291. }
  18292. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  18293. libc.Xprintf(tls, __ccgo_ts+4915, libc.VaList(bp+24, complex_))
  18294. }
  18295. goto bail
  18296. bail:
  18297. ;
  18298. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  18299. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  18300. return complex_
  18301. }
  18302. func _FcFontHasHint(tls *libc.TLS, face TFT_Face) (r TFcBool) {
  18303. 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'))))
  18304. }
  18305. func XIA__FcFontSetCreate(tls *libc.TLS) (r uintptr) {
  18306. var s uintptr
  18307. _ = s
  18308. s = libc.Xmalloc(tls, uint32(12))
  18309. if !(s != 0) {
  18310. return uintptr(0)
  18311. }
  18312. (*TFcFontSet)(unsafe.Pointer(s)).Fnfont = 0
  18313. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = 0
  18314. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = uintptr(0)
  18315. return s
  18316. }
  18317. var XFcFontSetCreate = XIA__FcFontSetCreate
  18318. func XIA__FcFontSetDestroy(tls *libc.TLS, s uintptr) {
  18319. var i int32
  18320. _ = i
  18321. i = 0
  18322. for {
  18323. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18324. break
  18325. }
  18326. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*4)))
  18327. goto _1
  18328. _1:
  18329. ;
  18330. i++
  18331. }
  18332. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  18333. libc.Xfree(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  18334. }
  18335. libc.Xfree(tls, s)
  18336. }
  18337. var XFcFontSetDestroy = XIA__FcFontSetDestroy
  18338. func XIA__FcFontSetAdd(tls *libc.TLS, s uintptr, font uintptr) (r TFcBool) {
  18339. var f, v2 uintptr
  18340. var sfont, v1 int32
  18341. _, _, _, _ = f, sfont, v1, v2
  18342. if (*TFcFontSet)(unsafe.Pointer(s)).Fnfont == (*TFcFontSet)(unsafe.Pointer(s)).Fsfont {
  18343. sfont = (*TFcFontSet)(unsafe.Pointer(s)).Fsfont + int32(32)
  18344. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  18345. f = libc.Xrealloc(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Uint32FromInt32(sfont)*uint32(4))
  18346. } else {
  18347. f = libc.Xmalloc(tls, libc.Uint32FromInt32(sfont)*uint32(4))
  18348. }
  18349. if !(f != 0) {
  18350. return m_FcFalse
  18351. }
  18352. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = sfont
  18353. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = f
  18354. }
  18355. v2 = s
  18356. v1 = *(*int32)(unsafe.Pointer(v2))
  18357. *(*int32)(unsafe.Pointer(v2))++
  18358. *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(v1)*4)) = font
  18359. return int32(m_FcTrue)
  18360. }
  18361. var XFcFontSetAdd = XIA__FcFontSetAdd
  18362. func XFcFontSetSerializeAlloc(tls *libc.TLS, serialize uintptr, s uintptr) (r TFcBool) {
  18363. var i int32
  18364. _ = i
  18365. if !(XFcSerializeAlloc(tls, serialize, s, int32(12)) != 0) {
  18366. return m_FcFalse
  18367. }
  18368. if !(XFcSerializeAlloc(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Int32FromUint32(libc.Uint32FromInt32((*TFcFontSet)(unsafe.Pointer(s)).Fnfont)*uint32(4))) != 0) {
  18369. return m_FcFalse
  18370. }
  18371. i = 0
  18372. for {
  18373. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18374. break
  18375. }
  18376. if !(XFcPatternSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*4))) != 0) {
  18377. return m_FcFalse
  18378. }
  18379. goto _1
  18380. _1:
  18381. ;
  18382. i++
  18383. }
  18384. return int32(m_FcTrue)
  18385. }
  18386. func XFcFontSetSerialize(tls *libc.TLS, serialize uintptr, s uintptr) (r uintptr) {
  18387. var fonts_serialize, p_serialize, s_serialize uintptr
  18388. var i int32
  18389. _, _, _, _ = fonts_serialize, i, p_serialize, s_serialize
  18390. s_serialize = XFcSerializePtr(tls, serialize, s)
  18391. if !(s_serialize != 0) {
  18392. return libc.UintptrFromInt32(0)
  18393. }
  18394. *(*TFcFontSet)(unsafe.Pointer(s_serialize)) = *(*TFcFontSet)(unsafe.Pointer(s))
  18395. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fsfont = (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fnfont
  18396. fonts_serialize = XFcSerializePtr(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  18397. if !(fonts_serialize != 0) {
  18398. return libc.UintptrFromInt32(0)
  18399. }
  18400. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Ffonts = uintptr(int32(fonts_serialize) - int32(s_serialize) | libc.Int32FromInt32(1))
  18401. i = 0
  18402. for {
  18403. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18404. break
  18405. }
  18406. p_serialize = XFcPatternSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*4)))
  18407. if !(p_serialize != 0) {
  18408. return libc.UintptrFromInt32(0)
  18409. }
  18410. *(*uintptr)(unsafe.Pointer(fonts_serialize + uintptr(i)*4)) = uintptr(int32(p_serialize) - int32(s_serialize) | libc.Int32FromInt32(1))
  18411. goto _1
  18412. _1:
  18413. ;
  18414. i++
  18415. }
  18416. return s_serialize
  18417. }
  18418. func XFcFontSetDeserialize(tls *libc.TLS, set uintptr) (r uintptr) {
  18419. var i int32
  18420. var new1, v2, v3 uintptr
  18421. _, _, _, _ = i, new1, v2, v3
  18422. new1 = XIA__FcFontSetCreate(tls)
  18423. if !(new1 != 0) {
  18424. return libc.UintptrFromInt32(0)
  18425. }
  18426. i = 0
  18427. for {
  18428. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  18429. break
  18430. }
  18431. if int32((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int32(1) != 0 {
  18432. if int32((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int32(1) != 0 {
  18433. v3 = uintptr(int32(set) + int32((*TFcFontSet)(unsafe.Pointer(set)).Ffonts) & ^libc.Int32FromInt32(1))
  18434. } else {
  18435. v3 = (*TFcFontSet)(unsafe.Pointer(set)).Ffonts
  18436. }
  18437. v2 = uintptr(int32(set) + int32(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*4))) & ^libc.Int32FromInt32(1))
  18438. } else {
  18439. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*4))
  18440. }
  18441. if !(XIA__FcFontSetAdd(tls, new1, XIA__FcPatternDuplicate(tls, v2)) != 0) {
  18442. goto bail
  18443. }
  18444. goto _1
  18445. _1:
  18446. ;
  18447. i++
  18448. }
  18449. return new1
  18450. goto bail
  18451. bail:
  18452. ;
  18453. XIA__FcFontSetDestroy(tls, new1)
  18454. return libc.UintptrFromInt32(0)
  18455. }
  18456. type TFcPtrList = struct {
  18457. Fdestroy_func TFcDestroyFunc
  18458. Flist uintptr
  18459. }
  18460. type T_FcPtrList = TFcPtrList
  18461. type TFcPtrListEntry = struct {
  18462. Fnext uintptr
  18463. Fdata uintptr
  18464. }
  18465. type T_FcPtrListEntry = TFcPtrListEntry
  18466. type TFcPtrListIterPrivate = struct {
  18467. Flist uintptr
  18468. Fentry uintptr
  18469. Fprev uintptr
  18470. }
  18471. type T_FcPtrListIterPrivate = TFcPtrListIterPrivate
  18472. func XFcPtrListCreate(tls *libc.TLS, func1 TFcDestroyFunc) (r uintptr) {
  18473. var ret uintptr
  18474. _ = ret
  18475. ret = libc.Xmalloc(tls, uint32(8))
  18476. if ret != 0 {
  18477. (*TFcPtrList)(unsafe.Pointer(ret)).Fdestroy_func = func1
  18478. (*TFcPtrList)(unsafe.Pointer(ret)).Flist = libc.UintptrFromInt32(0)
  18479. }
  18480. return ret
  18481. }
  18482. func XFcPtrListDestroy(tls *libc.TLS, list uintptr) {
  18483. bp := tls.Alloc(16)
  18484. defer tls.Free(16)
  18485. var _ /* iter at bp+0 */ TFcPtrListIter
  18486. XFcPtrListIterInit(tls, list, bp)
  18487. for cond := true; cond; cond = XFcPtrListIterIsValid(tls, list, bp) != 0 {
  18488. if XFcPtrListIterGetValue(tls, list, bp) != 0 {
  18489. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcPtrList)(unsafe.Pointer(list)).Fdestroy_func})))(tls, XFcPtrListIterGetValue(tls, list, bp))
  18490. }
  18491. XFcPtrListIterRemove(tls, list, bp)
  18492. }
  18493. libc.Xfree(tls, list)
  18494. }
  18495. func XFcPtrListIterInit(tls *libc.TLS, list uintptr, iter uintptr) {
  18496. var priv uintptr
  18497. _ = priv
  18498. priv = iter
  18499. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  18500. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrList)(unsafe.Pointer(list)).Flist
  18501. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = libc.UintptrFromInt32(0)
  18502. }
  18503. func XFcPtrListIterInitAtLast(tls *libc.TLS, list uintptr, iter uintptr) {
  18504. var e, p, priv uintptr
  18505. _, _, _ = e, p, priv
  18506. priv = iter
  18507. e = list + 4
  18508. p = e
  18509. for {
  18510. if !(*(*uintptr)(unsafe.Pointer(e)) != 0) {
  18511. break
  18512. }
  18513. goto _1
  18514. _1:
  18515. ;
  18516. p = e
  18517. e = *(*uintptr)(unsafe.Pointer(e))
  18518. }
  18519. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  18520. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = *(*uintptr)(unsafe.Pointer(e))
  18521. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = *(*uintptr)(unsafe.Pointer(p))
  18522. }
  18523. func XFcPtrListIterNext(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18524. var priv uintptr
  18525. _ = priv
  18526. priv = iter
  18527. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18528. return m_FcFalse
  18529. }
  18530. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  18531. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18532. return libc.BoolInt32((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != libc.UintptrFromInt32(0))
  18533. }
  18534. func XFcPtrListIterIsValid(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18535. var priv uintptr
  18536. _ = priv
  18537. priv = iter
  18538. return libc.BoolInt32(list == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist && (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0)
  18539. }
  18540. func XFcPtrListIterGetValue(tls *libc.TLS, list uintptr, iter uintptr) (r uintptr) {
  18541. var priv uintptr
  18542. _ = priv
  18543. priv = iter
  18544. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist || !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  18545. return libc.UintptrFromInt32(0)
  18546. }
  18547. return (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fdata
  18548. }
  18549. func XFcPtrListIterAdd(tls *libc.TLS, list uintptr, iter uintptr, data uintptr) (r TFcBool) {
  18550. var e, priv uintptr
  18551. _, _ = e, priv
  18552. priv = iter
  18553. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18554. return m_FcFalse
  18555. }
  18556. e = libc.Xmalloc(tls, uint32(8))
  18557. if !(e != 0) {
  18558. return m_FcFalse
  18559. }
  18560. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fdata = data
  18561. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0 {
  18562. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18563. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext = e
  18564. } else {
  18565. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = libc.UintptrFromInt32(0)
  18566. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  18567. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = e
  18568. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev
  18569. } else {
  18570. (*TFcPtrList)(unsafe.Pointer(list)).Flist = e
  18571. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = e
  18572. return int32(m_FcTrue)
  18573. }
  18574. }
  18575. return XFcPtrListIterNext(tls, list, iter)
  18576. }
  18577. func XFcPtrListIterRemove(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18578. var e, priv uintptr
  18579. _, _ = e, priv
  18580. priv = iter
  18581. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18582. return m_FcFalse
  18583. }
  18584. if !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  18585. return int32(m_FcTrue)
  18586. }
  18587. if (*TFcPtrList)(unsafe.Pointer(list)).Flist == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry {
  18588. (*TFcPtrList)(unsafe.Pointer(list)).Flist = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrList)(unsafe.Pointer(list)).Flist)).Fnext
  18589. }
  18590. e = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  18591. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  18592. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18593. }
  18594. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18595. libc.Xfree(tls, e)
  18596. return int32(m_FcTrue)
  18597. }
  18598. const m_FC_HASH_SIZE = 227
  18599. type TFcHashTable = struct {
  18600. Fbuckets [227]uintptr
  18601. Fhash_func TFcHashFunc
  18602. Fcompare_func TFcCompareFunc
  18603. Fkey_copy_func TFcCopyFunc
  18604. Fvalue_copy_func TFcCopyFunc
  18605. Fkey_destroy_func TFcDestroyFunc
  18606. Fvalue_destroy_func TFcDestroyFunc
  18607. }
  18608. type T_FcHashTable = TFcHashTable
  18609. type TFcHashBucket = struct {
  18610. Fnext uintptr
  18611. Fkey uintptr
  18612. Fvalue uintptr
  18613. }
  18614. type T_FcHashBucket = TFcHashBucket
  18615. func XFcHashStrCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  18616. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  18617. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(dest)) != libc.UintptrFromInt32(0))
  18618. }
  18619. 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) {
  18620. var ret uintptr
  18621. _ = ret
  18622. ret = libc.Xmalloc(tls, uint32(932))
  18623. if ret != 0 {
  18624. libc.Xmemset(tls, ret, 0, libc.Uint32FromInt64(4)*libc.Uint32FromInt32(m_FC_HASH_SIZE))
  18625. (*TFcHashTable)(unsafe.Pointer(ret)).Fhash_func = hash_func
  18626. (*TFcHashTable)(unsafe.Pointer(ret)).Fcompare_func = compare_func
  18627. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_copy_func = key_copy_func
  18628. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_copy_func = value_copy_func
  18629. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_destroy_func = key_destroy_func
  18630. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_destroy_func = value_destroy_func
  18631. }
  18632. return ret
  18633. }
  18634. func XFcHashTableDestroy(tls *libc.TLS, table uintptr) {
  18635. var bucket, prev uintptr
  18636. var i int32
  18637. _, _, _ = bucket, i, prev
  18638. i = 0
  18639. for {
  18640. if !(i < int32(m_FC_HASH_SIZE)) {
  18641. break
  18642. }
  18643. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(i)*4))
  18644. for bucket != 0 {
  18645. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18646. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18647. }
  18648. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18649. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18650. }
  18651. prev = bucket
  18652. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18653. libc.Xfree(tls, prev)
  18654. }
  18655. *(*uintptr)(unsafe.Pointer(table + uintptr(i)*4)) = libc.UintptrFromInt32(0)
  18656. goto _1
  18657. _1:
  18658. ;
  18659. i++
  18660. }
  18661. libc.Xfree(tls, table)
  18662. }
  18663. func XFcHashTableFind(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18664. var bucket uintptr
  18665. var hash TFcChar32
  18666. _, _ = bucket, hash
  18667. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18668. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(hash%uint32(m_FC_HASH_SIZE))*4))
  18669. for {
  18670. if !(bucket != 0) {
  18671. break
  18672. }
  18673. 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) {
  18674. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  18675. 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) {
  18676. return m_FcFalse
  18677. }
  18678. } else {
  18679. *(*uintptr)(unsafe.Pointer(value)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue
  18680. }
  18681. return int32(m_FcTrue)
  18682. }
  18683. goto _1
  18684. _1:
  18685. ;
  18686. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18687. }
  18688. return m_FcFalse
  18689. }
  18690. func _FcHashTableAddInternal(tls *libc.TLS, table uintptr, key uintptr, value uintptr, replace TFcBool) (r TFcBool) {
  18691. var b, bucket, prev, v3 uintptr
  18692. var hash TFcChar32
  18693. var ret TFcBool
  18694. var v4, v5 int32
  18695. _, _, _, _, _, _, _, _ = b, bucket, hash, prev, ret, v3, v4, v5
  18696. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18697. ret = m_FcFalse
  18698. bucket = libc.Xmalloc(tls, uint32(12))
  18699. if !(bucket != 0) {
  18700. return m_FcFalse
  18701. }
  18702. libc.Xmemset(tls, bucket, 0, uint32(12))
  18703. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func != 0 {
  18704. 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))
  18705. } else {
  18706. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey = key
  18707. }
  18708. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  18709. 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))
  18710. } else {
  18711. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue = value
  18712. }
  18713. if !(ret != 0) {
  18714. goto _1
  18715. }
  18716. goto destroy
  18717. destroy:
  18718. ;
  18719. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18720. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18721. }
  18722. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18723. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18724. }
  18725. libc.Xfree(tls, bucket)
  18726. return libc.BoolInt32(!(ret != 0))
  18727. _1:
  18728. ;
  18729. goto retry
  18730. retry:
  18731. ;
  18732. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*4
  18733. for {
  18734. v3 = *(*uintptr)(unsafe.Pointer(prev))
  18735. b = v3
  18736. if !(v3 != 0) {
  18737. break
  18738. }
  18739. 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) {
  18740. if replace != 0 {
  18741. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = (*TFcHashBucket)(unsafe.Pointer(b)).Fnext
  18742. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  18743. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  18744. v4 = libc.Int32FromInt32(m_FcTrue)
  18745. } else {
  18746. v4 = m_FcFalse
  18747. }
  18748. if !(v4 != 0) {
  18749. goto retry
  18750. }
  18751. bucket = b
  18752. } else {
  18753. ret = int32(m_FcTrue)
  18754. }
  18755. goto destroy
  18756. }
  18757. goto _2
  18758. _2:
  18759. ;
  18760. prev = b
  18761. }
  18762. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = libc.UintptrFromInt32(0)
  18763. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  18764. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  18765. v5 = libc.Int32FromInt32(m_FcTrue)
  18766. } else {
  18767. v5 = m_FcFalse
  18768. }
  18769. if !(v5 != 0) {
  18770. goto retry
  18771. }
  18772. return int32(m_FcTrue)
  18773. }
  18774. func XFcHashTableAdd(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18775. return _FcHashTableAddInternal(tls, table, key, value, m_FcFalse)
  18776. }
  18777. func XFcHashTableReplace(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18778. return _FcHashTableAddInternal(tls, table, key, value, int32(m_FcTrue))
  18779. }
  18780. func XFcHashTableRemove(tls *libc.TLS, table uintptr, key uintptr) (r TFcBool) {
  18781. var bucket, prev, v2 uintptr
  18782. var hash TFcChar32
  18783. var ret TFcBool
  18784. var v3 int32
  18785. _, _, _, _, _, _ = bucket, hash, prev, ret, v2, v3
  18786. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18787. ret = m_FcFalse
  18788. goto retry
  18789. retry:
  18790. ;
  18791. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*4
  18792. for {
  18793. v2 = *(*uintptr)(unsafe.Pointer(prev))
  18794. bucket = v2
  18795. if !(v2 != 0) {
  18796. break
  18797. }
  18798. 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) {
  18799. if *(*uintptr)(unsafe.Pointer(prev)) == bucket {
  18800. *(*uintptr)(unsafe.Pointer(prev)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18801. v3 = libc.Int32FromInt32(m_FcTrue)
  18802. } else {
  18803. v3 = m_FcFalse
  18804. }
  18805. if !(v3 != 0) {
  18806. goto retry
  18807. }
  18808. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18809. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18810. }
  18811. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18812. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18813. }
  18814. libc.Xfree(tls, bucket)
  18815. ret = int32(m_FcTrue)
  18816. break
  18817. }
  18818. goto _1
  18819. _1:
  18820. ;
  18821. prev = bucket
  18822. }
  18823. return ret
  18824. }
  18825. const m_FC_DIR_SEPARATOR_S3 = "/fontconfig"
  18826. func _FcInitFallbackConfig(tls *libc.TLS, sysroot uintptr) (r uintptr) {
  18827. var config, fallback uintptr
  18828. _, _ = config, fallback
  18829. fallback = __ccgo_ts + 4951
  18830. config = XIA__FcConfigCreate(tls)
  18831. if !(config != 0) {
  18832. goto bail0
  18833. }
  18834. XIA__FcConfigSetSysRoot(tls, config, sysroot)
  18835. if !(XIA__FcConfigParseAndLoadFromMemory(tls, config, fallback, m_FcFalse) != 0) {
  18836. goto bail1
  18837. }
  18838. return config
  18839. goto bail1
  18840. bail1:
  18841. ;
  18842. XIA__FcConfigDestroy(tls, config)
  18843. goto bail0
  18844. bail0:
  18845. ;
  18846. return uintptr(0)
  18847. return r
  18848. }
  18849. func XIA__FcGetVersion(tls *libc.TLS) (r int32) {
  18850. return libc.Int32FromInt32(m_FC_MAJOR)*libc.Int32FromInt32(10000) + libc.Int32FromInt32(m_FC_MINOR)*libc.Int32FromInt32(100) + libc.Int32FromInt32(m_FC_REVISION)
  18851. }
  18852. var XFcGetVersion = XIA__FcGetVersion
  18853. // C documentation
  18854. //
  18855. // /*
  18856. // * Load the configuration files
  18857. // */
  18858. func XFcInitLoadOwnConfig(tls *libc.TLS, config uintptr) (r uintptr) {
  18859. bp := tls.Alloc(16)
  18860. defer tls.Free(16)
  18861. var env_file, env_path, fallback, fallback1, p, prefix, sysroot, sysroot1 uintptr
  18862. var have_own TFcBool
  18863. var plen Tsize_t
  18864. _, _, _, _, _, _, _, _, _, _ = env_file, env_path, fallback, fallback1, have_own, p, plen, prefix, sysroot, sysroot1
  18865. if !(config != 0) {
  18866. config = XIA__FcConfigCreate(tls)
  18867. if !(config != 0) {
  18868. return libc.UintptrFromInt32(0)
  18869. }
  18870. }
  18871. XFcInitDebug(tls)
  18872. if !(XIA__FcConfigParseAndLoad(tls, config, uintptr(0), int32(m_FcTrue)) != 0) {
  18873. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  18874. fallback = _FcInitFallbackConfig(tls, sysroot)
  18875. XIA__FcConfigDestroy(tls, config)
  18876. return fallback
  18877. }
  18878. XFcConfigParseOnly(tls, config, __ccgo_ts+5336, m_FcFalse)
  18879. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0 && (*TFcStrSet)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)).Fnum == 0) {
  18880. goto _1
  18881. }
  18882. have_own = m_FcFalse
  18883. env_file = libc.Xgetenv(tls, __ccgo_ts+1647)
  18884. env_path = libc.Xgetenv(tls, __ccgo_ts+1497)
  18885. if env_file != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(env_file))) != 0 || env_path != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(env_path))) != 0 {
  18886. have_own = int32(m_FcTrue)
  18887. }
  18888. if !(have_own != 0) {
  18889. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5369, 0)
  18890. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5441, libc.VaList(bp+8, __ccgo_ts+5493))
  18891. }
  18892. prefix = XFcConfigXdgCacheHome(tls)
  18893. if !(prefix != 0) {
  18894. goto bail
  18895. }
  18896. plen = libc.Xstrlen(tls, prefix)
  18897. p = libc.Xrealloc(tls, prefix, plen+uint32(12))
  18898. if !(p != 0) {
  18899. goto bail
  18900. }
  18901. prefix = p
  18902. libc.Xmemcpy(tls, prefix+uintptr(plen), __ccgo_ts+5519, uint32(11))
  18903. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint32(11)))) = uint8(0)
  18904. if !(have_own != 0) {
  18905. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5531, 0)
  18906. }
  18907. if !(!(XFcConfigAddCacheDir(tls, config, __ccgo_ts+5493) != 0) || !(XFcConfigAddCacheDir(tls, config, prefix) != 0)) {
  18908. goto _2
  18909. }
  18910. goto bail
  18911. bail:
  18912. ;
  18913. sysroot1 = XIA__FcConfigGetSysRoot(tls, config)
  18914. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5604, 0)
  18915. if prefix != 0 {
  18916. XIA__FcStrFree(tls, prefix)
  18917. }
  18918. fallback1 = _FcInitFallbackConfig(tls, sysroot1)
  18919. XIA__FcConfigDestroy(tls, config)
  18920. return fallback1
  18921. _2:
  18922. ;
  18923. XIA__FcStrFree(tls, prefix)
  18924. _1:
  18925. ;
  18926. return config
  18927. }
  18928. func XIA__FcInitLoadConfig(tls *libc.TLS) (r uintptr) {
  18929. return XFcInitLoadOwnConfig(tls, libc.UintptrFromInt32(0))
  18930. }
  18931. var XFcInitLoadConfig = XIA__FcInitLoadConfig
  18932. // C documentation
  18933. //
  18934. // /*
  18935. // * Load the configuration files and scan for available fonts
  18936. // */
  18937. func XFcInitLoadOwnConfigAndFonts(tls *libc.TLS, config uintptr) (r uintptr) {
  18938. config = XFcInitLoadOwnConfig(tls, config)
  18939. if !(config != 0) {
  18940. return uintptr(0)
  18941. }
  18942. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  18943. XIA__FcConfigDestroy(tls, config)
  18944. return uintptr(0)
  18945. }
  18946. return config
  18947. }
  18948. func XIA__FcInitLoadConfigAndFonts(tls *libc.TLS) (r uintptr) {
  18949. return XFcInitLoadOwnConfigAndFonts(tls, libc.UintptrFromInt32(0))
  18950. }
  18951. var XFcInitLoadConfigAndFonts = XIA__FcInitLoadConfigAndFonts
  18952. // C documentation
  18953. //
  18954. // /*
  18955. // * Initialize the default library configuration
  18956. // */
  18957. func XIA__FcInit(tls *libc.TLS) (r TFcBool) {
  18958. return XFcConfigInit(tls)
  18959. }
  18960. var XFcInit = XIA__FcInit
  18961. // C documentation
  18962. //
  18963. // /*
  18964. // * Free all library-allocated data structures.
  18965. // */
  18966. func XIA__FcFini(tls *libc.TLS) {
  18967. XFcConfigFini(tls)
  18968. XFcConfigPathFini(tls)
  18969. XFcDefaultFini(tls)
  18970. XFcObjectFini(tls)
  18971. XFcCacheFini(tls)
  18972. }
  18973. var XFcFini = XIA__FcFini
  18974. // C documentation
  18975. //
  18976. // /*
  18977. // * Reread the configuration and available font lists
  18978. // */
  18979. func XIA__FcInitReinitialize(tls *libc.TLS) (r TFcBool) {
  18980. var config uintptr
  18981. var ret TFcBool
  18982. _, _ = config, ret
  18983. config = XIA__FcInitLoadConfigAndFonts(tls)
  18984. if !(config != 0) {
  18985. return m_FcFalse
  18986. }
  18987. ret = XIA__FcConfigSetCurrent(tls, config)
  18988. /* FcConfigSetCurrent() increases the refcount.
  18989. * decrease it here to avoid the memory leak.
  18990. */
  18991. XIA__FcConfigDestroy(tls, config)
  18992. return ret
  18993. }
  18994. var XFcInitReinitialize = XIA__FcInitReinitialize
  18995. func XIA__FcInitBringUptoDate(tls *libc.TLS) (r TFcBool) {
  18996. var config uintptr
  18997. var now Ttime_t
  18998. var ret TFcBool
  18999. _, _, _ = config, now, ret
  19000. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  19001. ret = int32(m_FcTrue)
  19002. if !(config != 0) {
  19003. return m_FcFalse
  19004. }
  19005. /*
  19006. * rescanInterval == 0 disables automatic up to date
  19007. */
  19008. if (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval == 0 {
  19009. goto bail
  19010. }
  19011. /*
  19012. * Check no more often than rescanInterval seconds
  19013. */
  19014. now = libc.Xtime(tls, uintptr(0))
  19015. if (*TFcConfig)(unsafe.Pointer(config)).FrescanTime+int64((*TFcConfig)(unsafe.Pointer(config)).FrescanInterval)-now > 0 {
  19016. goto bail
  19017. }
  19018. /*
  19019. * If up to date, don't reload configuration
  19020. */
  19021. if XIA__FcConfigUptoDate(tls, uintptr(0)) != 0 {
  19022. goto bail
  19023. }
  19024. ret = XIA__FcInitReinitialize(tls)
  19025. goto bail
  19026. bail:
  19027. ;
  19028. XIA__FcConfigDestroy(tls, config)
  19029. return ret
  19030. }
  19031. var XFcInitBringUptoDate = XIA__FcInitBringUptoDate
  19032. const m_FC_DIR_SEPARATOR_S4 = "/"
  19033. const m_FcFreeTypeCharIndex = "IA__FcFreeTypeCharIndex"
  19034. const m_FcFreeTypeCharSet = "IA__FcFreeTypeCharSet"
  19035. const m_FcFreeTypeCharSetAndSpacing = "IA__FcFreeTypeCharSetAndSpacing"
  19036. const m_FcFreeTypeQueryFace = "IA__FcFreeTypeQueryFace"
  19037. const m_NUM_COUNTRY_SET = 10
  19038. const m_NUM_LANG_CHAR_SET = 246
  19039. const m_NUM_LANG_SET_MAP = 8
  19040. type TFcLangSet = struct {
  19041. Fextra uintptr
  19042. Fmap_size TFcChar32
  19043. Fmap1 [8]TFcChar32
  19044. }
  19045. type T_FcLangSet = TFcLangSet
  19046. /* Objects MT-safe for readonly access. */
  19047. type TFcLangCharSet = struct {
  19048. Flang [16]TFcChar8
  19049. Fcharset TFcCharSet
  19050. }
  19051. type TFcLangCharSetRange = struct {
  19052. Fbegin int32
  19053. Fend int32
  19054. }
  19055. var _fcLangData = struct {
  19056. FlangCharSets [246]TFcLangCharSet
  19057. Fleaves [725]TFcCharLeaf
  19058. Fleaf_offsets [780]Tuintptr_t
  19059. Fnumbers [780]TFcChar16
  19060. FlangIndices [246]TFcChar8
  19061. FlangIndicesInv [246]TFcChar8
  19062. }{
  19063. FlangCharSets: [246]TFcLangCharSet{
  19064. 0: {
  19065. Flang: [16]TFcChar8{'a', 'a'},
  19066. Fcharset: TFcCharSet{
  19067. Fref: TFcRef{
  19068. Fcount: -libc.Int32FromInt32(1),
  19069. },
  19070. Fnum: int32(1),
  19071. 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))),
  19072. 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))),
  19073. },
  19074. },
  19075. 1: {
  19076. Flang: [16]TFcChar8{'a', 'b'},
  19077. Fcharset: TFcCharSet{
  19078. Fref: TFcRef{
  19079. Fcount: -libc.Int32FromInt32(1),
  19080. },
  19081. Fnum: int32(1),
  19082. 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))),
  19083. 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))),
  19084. },
  19085. },
  19086. 2: {
  19087. Flang: [16]TFcChar8{'a', 'f'},
  19088. Fcharset: TFcCharSet{
  19089. Fref: TFcRef{
  19090. Fcount: -libc.Int32FromInt32(1),
  19091. },
  19092. Fnum: int32(2),
  19093. 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))),
  19094. 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))),
  19095. },
  19096. },
  19097. 3: {
  19098. Flang: [16]TFcChar8{'a', 'k'},
  19099. Fcharset: TFcCharSet{
  19100. Fref: TFcRef{
  19101. Fcount: -libc.Int32FromInt32(1),
  19102. },
  19103. Fnum: int32(5),
  19104. 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))),
  19105. 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))),
  19106. },
  19107. },
  19108. 4: {
  19109. Flang: [16]TFcChar8{'a', 'm'},
  19110. Fcharset: TFcCharSet{
  19111. Fref: TFcRef{
  19112. Fcount: -libc.Int32FromInt32(1),
  19113. },
  19114. Fnum: int32(2),
  19115. 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))),
  19116. 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))),
  19117. },
  19118. },
  19119. 5: {
  19120. Flang: [16]TFcChar8{'a', 'n'},
  19121. Fcharset: TFcCharSet{
  19122. Fref: TFcRef{
  19123. Fcount: -libc.Int32FromInt32(1),
  19124. },
  19125. Fnum: int32(1),
  19126. 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))),
  19127. 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))),
  19128. },
  19129. },
  19130. 6: {
  19131. Flang: [16]TFcChar8{'a', 'r'},
  19132. Fcharset: TFcCharSet{
  19133. Fref: TFcRef{
  19134. Fcount: -libc.Int32FromInt32(1),
  19135. },
  19136. Fnum: int32(1),
  19137. 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))),
  19138. 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))),
  19139. },
  19140. },
  19141. 7: {
  19142. Flang: [16]TFcChar8{'a', 's'},
  19143. Fcharset: TFcCharSet{
  19144. Fref: TFcRef{
  19145. Fcount: -libc.Int32FromInt32(1),
  19146. },
  19147. Fnum: int32(1),
  19148. 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))),
  19149. 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))),
  19150. },
  19151. },
  19152. 8: {
  19153. Flang: [16]TFcChar8{'a', 's', 't'},
  19154. Fcharset: TFcCharSet{
  19155. Fref: TFcRef{
  19156. Fcount: -libc.Int32FromInt32(1),
  19157. },
  19158. Fnum: int32(2),
  19159. 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))),
  19160. 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))),
  19161. },
  19162. },
  19163. 9: {
  19164. Flang: [16]TFcChar8{'a', 'v'},
  19165. Fcharset: TFcCharSet{
  19166. Fref: TFcRef{
  19167. Fcount: -libc.Int32FromInt32(1),
  19168. },
  19169. Fnum: int32(1),
  19170. 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))),
  19171. 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))),
  19172. },
  19173. },
  19174. 10: {
  19175. Flang: [16]TFcChar8{'a', 'y'},
  19176. Fcharset: TFcCharSet{
  19177. Fref: TFcRef{
  19178. Fcount: -libc.Int32FromInt32(1),
  19179. },
  19180. Fnum: int32(1),
  19181. 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))),
  19182. 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))),
  19183. },
  19184. },
  19185. 11: {
  19186. Flang: [16]TFcChar8{'a', 'z', '-', 'a', 'z'},
  19187. Fcharset: TFcCharSet{
  19188. Fref: TFcRef{
  19189. Fcount: -libc.Int32FromInt32(1),
  19190. },
  19191. Fnum: int32(3),
  19192. 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))),
  19193. 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))),
  19194. },
  19195. },
  19196. 12: {
  19197. Flang: [16]TFcChar8{'a', 'z', '-', 'i', 'r'},
  19198. Fcharset: TFcCharSet{
  19199. Fref: TFcRef{
  19200. Fcount: -libc.Int32FromInt32(1),
  19201. },
  19202. Fnum: int32(1),
  19203. 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))),
  19204. 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))),
  19205. },
  19206. },
  19207. 13: {
  19208. Flang: [16]TFcChar8{'b', 'a'},
  19209. Fcharset: TFcCharSet{
  19210. Fref: TFcRef{
  19211. Fcount: -libc.Int32FromInt32(1),
  19212. },
  19213. Fnum: int32(1),
  19214. 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))),
  19215. 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))),
  19216. },
  19217. },
  19218. 14: {
  19219. Flang: [16]TFcChar8{'b', 'e'},
  19220. Fcharset: TFcCharSet{
  19221. Fref: TFcRef{
  19222. Fcount: -libc.Int32FromInt32(1),
  19223. },
  19224. Fnum: int32(1),
  19225. 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))),
  19226. 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))),
  19227. },
  19228. },
  19229. 15: {
  19230. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'd', 'z'},
  19231. Fcharset: TFcCharSet{
  19232. Fref: TFcRef{
  19233. Fcount: -libc.Int32FromInt32(1),
  19234. },
  19235. Fnum: int32(4),
  19236. 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))),
  19237. 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))),
  19238. },
  19239. },
  19240. 16: {
  19241. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'm', 'a'},
  19242. Fcharset: TFcCharSet{
  19243. Fref: TFcRef{
  19244. Fcount: -libc.Int32FromInt32(1),
  19245. },
  19246. Fnum: int32(1),
  19247. 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))),
  19248. 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))),
  19249. },
  19250. },
  19251. 17: {
  19252. Flang: [16]TFcChar8{'b', 'g'},
  19253. Fcharset: TFcCharSet{
  19254. Fref: TFcRef{
  19255. Fcount: -libc.Int32FromInt32(1),
  19256. },
  19257. Fnum: int32(1),
  19258. 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))),
  19259. 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))),
  19260. },
  19261. },
  19262. 18: {
  19263. Flang: [16]TFcChar8{'b', 'h'},
  19264. Fcharset: TFcCharSet{
  19265. Fref: TFcRef{
  19266. Fcount: -libc.Int32FromInt32(1),
  19267. },
  19268. Fnum: int32(1),
  19269. 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))),
  19270. 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))),
  19271. },
  19272. },
  19273. 19: {
  19274. Flang: [16]TFcChar8{'b', 'h', 'o'},
  19275. Fcharset: TFcCharSet{
  19276. Fref: TFcRef{
  19277. Fcount: -libc.Int32FromInt32(1),
  19278. },
  19279. Fnum: int32(1),
  19280. 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))),
  19281. 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))),
  19282. },
  19283. },
  19284. 20: {
  19285. Flang: [16]TFcChar8{'b', 'i'},
  19286. Fcharset: TFcCharSet{
  19287. Fref: TFcRef{
  19288. Fcount: -libc.Int32FromInt32(1),
  19289. },
  19290. Fnum: int32(1),
  19291. 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))),
  19292. 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))),
  19293. },
  19294. },
  19295. 21: {
  19296. Flang: [16]TFcChar8{'b', 'i', 'n'},
  19297. Fcharset: TFcCharSet{
  19298. Fref: TFcRef{
  19299. Fcount: -libc.Int32FromInt32(1),
  19300. },
  19301. Fnum: int32(3),
  19302. 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))),
  19303. 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))),
  19304. },
  19305. },
  19306. 22: {
  19307. Flang: [16]TFcChar8{'b', 'm'},
  19308. Fcharset: TFcCharSet{
  19309. Fref: TFcRef{
  19310. Fcount: -libc.Int32FromInt32(1),
  19311. },
  19312. Fnum: int32(3),
  19313. 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))),
  19314. 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))),
  19315. },
  19316. },
  19317. 23: {
  19318. Flang: [16]TFcChar8{'b', 'n'},
  19319. Fcharset: TFcCharSet{
  19320. Fref: TFcRef{
  19321. Fcount: -libc.Int32FromInt32(1),
  19322. },
  19323. Fnum: int32(1),
  19324. 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))),
  19325. 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))),
  19326. },
  19327. },
  19328. 24: {
  19329. Flang: [16]TFcChar8{'b', 'o'},
  19330. Fcharset: TFcCharSet{
  19331. Fref: TFcRef{
  19332. Fcount: -libc.Int32FromInt32(1),
  19333. },
  19334. Fnum: int32(1),
  19335. 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))),
  19336. 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))),
  19337. },
  19338. },
  19339. 25: {
  19340. Flang: [16]TFcChar8{'b', 'r'},
  19341. Fcharset: TFcCharSet{
  19342. Fref: TFcRef{
  19343. Fcount: -libc.Int32FromInt32(1),
  19344. },
  19345. Fnum: int32(1),
  19346. 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))),
  19347. 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))),
  19348. },
  19349. },
  19350. 26: {
  19351. Flang: [16]TFcChar8{'b', 'r', 'x'},
  19352. Fcharset: TFcCharSet{
  19353. Fref: TFcRef{
  19354. Fcount: -libc.Int32FromInt32(1),
  19355. },
  19356. Fnum: int32(1),
  19357. 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))),
  19358. 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))),
  19359. },
  19360. },
  19361. 27: {
  19362. Flang: [16]TFcChar8{'b', 's'},
  19363. Fcharset: TFcCharSet{
  19364. Fref: TFcRef{
  19365. Fcount: -libc.Int32FromInt32(1),
  19366. },
  19367. Fnum: int32(2),
  19368. 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))),
  19369. 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))),
  19370. },
  19371. },
  19372. 28: {
  19373. Flang: [16]TFcChar8{'b', 'u', 'a'},
  19374. Fcharset: TFcCharSet{
  19375. Fref: TFcRef{
  19376. Fcount: -libc.Int32FromInt32(1),
  19377. },
  19378. Fnum: int32(1),
  19379. 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))),
  19380. 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))),
  19381. },
  19382. },
  19383. 29: {
  19384. Flang: [16]TFcChar8{'b', 'y', 'n'},
  19385. Fcharset: TFcCharSet{
  19386. Fref: TFcRef{
  19387. Fcount: -libc.Int32FromInt32(1),
  19388. },
  19389. Fnum: int32(2),
  19390. 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))),
  19391. 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))),
  19392. },
  19393. },
  19394. 30: {
  19395. Flang: [16]TFcChar8{'c', 'a'},
  19396. Fcharset: TFcCharSet{
  19397. Fref: TFcRef{
  19398. Fcount: -libc.Int32FromInt32(1),
  19399. },
  19400. Fnum: int32(2),
  19401. 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))),
  19402. 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))),
  19403. },
  19404. },
  19405. 31: {
  19406. Flang: [16]TFcChar8{'c', 'e'},
  19407. Fcharset: TFcCharSet{
  19408. Fref: TFcRef{
  19409. Fcount: -libc.Int32FromInt32(1),
  19410. },
  19411. Fnum: int32(1),
  19412. 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))),
  19413. 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))),
  19414. },
  19415. },
  19416. 32: {
  19417. Flang: [16]TFcChar8{'c', 'h'},
  19418. Fcharset: TFcCharSet{
  19419. Fref: TFcRef{
  19420. Fcount: -libc.Int32FromInt32(1),
  19421. },
  19422. Fnum: int32(1),
  19423. 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))),
  19424. 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))),
  19425. },
  19426. },
  19427. 33: {
  19428. Flang: [16]TFcChar8{'c', 'h', 'm'},
  19429. Fcharset: TFcCharSet{
  19430. Fref: TFcRef{
  19431. Fcount: -libc.Int32FromInt32(1),
  19432. },
  19433. Fnum: int32(1),
  19434. 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))),
  19435. 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))),
  19436. },
  19437. },
  19438. 34: {
  19439. Flang: [16]TFcChar8{'c', 'h', 'r'},
  19440. Fcharset: TFcCharSet{
  19441. Fref: TFcRef{
  19442. Fcount: -libc.Int32FromInt32(1),
  19443. },
  19444. Fnum: int32(1),
  19445. 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))),
  19446. 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))),
  19447. },
  19448. },
  19449. 35: {
  19450. Flang: [16]TFcChar8{'c', 'o'},
  19451. Fcharset: TFcCharSet{
  19452. Fref: TFcRef{
  19453. Fcount: -libc.Int32FromInt32(1),
  19454. },
  19455. Fnum: int32(2),
  19456. 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))),
  19457. 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))),
  19458. },
  19459. },
  19460. 36: {
  19461. Flang: [16]TFcChar8{'c', 'r', 'h'},
  19462. Fcharset: TFcCharSet{
  19463. Fref: TFcRef{
  19464. Fcount: -libc.Int32FromInt32(1),
  19465. },
  19466. Fnum: int32(2),
  19467. 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))),
  19468. 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))),
  19469. },
  19470. },
  19471. 37: {
  19472. Flang: [16]TFcChar8{'c', 's'},
  19473. Fcharset: TFcCharSet{
  19474. Fref: TFcRef{
  19475. Fcount: -libc.Int32FromInt32(1),
  19476. },
  19477. Fnum: int32(2),
  19478. 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))),
  19479. 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))),
  19480. },
  19481. },
  19482. 38: {
  19483. Flang: [16]TFcChar8{'c', 's', 'b'},
  19484. Fcharset: TFcCharSet{
  19485. Fref: TFcRef{
  19486. Fcount: -libc.Int32FromInt32(1),
  19487. },
  19488. Fnum: int32(2),
  19489. 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))),
  19490. 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))),
  19491. },
  19492. },
  19493. 39: {
  19494. Flang: [16]TFcChar8{'c', 'u'},
  19495. Fcharset: TFcCharSet{
  19496. Fref: TFcRef{
  19497. Fcount: -libc.Int32FromInt32(1),
  19498. },
  19499. Fnum: int32(1),
  19500. 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))),
  19501. 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))),
  19502. },
  19503. },
  19504. 40: {
  19505. Flang: [16]TFcChar8{'c', 'v'},
  19506. Fcharset: TFcCharSet{
  19507. Fref: TFcRef{
  19508. Fcount: -libc.Int32FromInt32(1),
  19509. },
  19510. Fnum: int32(2),
  19511. 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))),
  19512. 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))),
  19513. },
  19514. },
  19515. 41: {
  19516. Flang: [16]TFcChar8{'c', 'y'},
  19517. Fcharset: TFcCharSet{
  19518. Fref: TFcRef{
  19519. Fcount: -libc.Int32FromInt32(1),
  19520. },
  19521. Fnum: int32(3),
  19522. 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))),
  19523. 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))),
  19524. },
  19525. },
  19526. 42: {
  19527. Flang: [16]TFcChar8{'d', 'a'},
  19528. Fcharset: TFcCharSet{
  19529. Fref: TFcRef{
  19530. Fcount: -libc.Int32FromInt32(1),
  19531. },
  19532. Fnum: int32(1),
  19533. 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))),
  19534. 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))),
  19535. },
  19536. },
  19537. 43: {
  19538. Flang: [16]TFcChar8{'d', 'e'},
  19539. Fcharset: TFcCharSet{
  19540. Fref: TFcRef{
  19541. Fcount: -libc.Int32FromInt32(1),
  19542. },
  19543. Fnum: int32(1),
  19544. 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))),
  19545. 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))),
  19546. },
  19547. },
  19548. 44: {
  19549. Flang: [16]TFcChar8{'d', 'o', 'i'},
  19550. Fcharset: TFcCharSet{
  19551. Fref: TFcRef{
  19552. Fcount: -libc.Int32FromInt32(1),
  19553. },
  19554. Fnum: int32(1),
  19555. 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))),
  19556. 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))),
  19557. },
  19558. },
  19559. 45: {
  19560. Flang: [16]TFcChar8{'d', 'v'},
  19561. Fcharset: TFcCharSet{
  19562. Fref: TFcRef{
  19563. Fcount: -libc.Int32FromInt32(1),
  19564. },
  19565. Fnum: int32(1),
  19566. 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))),
  19567. 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))),
  19568. },
  19569. },
  19570. 46: {
  19571. Flang: [16]TFcChar8{'d', 'z'},
  19572. Fcharset: TFcCharSet{
  19573. Fref: TFcRef{
  19574. Fcount: -libc.Int32FromInt32(1),
  19575. },
  19576. Fnum: int32(1),
  19577. 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))),
  19578. 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))),
  19579. },
  19580. },
  19581. 47: {
  19582. Flang: [16]TFcChar8{'e', 'e'},
  19583. Fcharset: TFcCharSet{
  19584. Fref: TFcRef{
  19585. Fcount: -libc.Int32FromInt32(1),
  19586. },
  19587. Fnum: int32(4),
  19588. 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))),
  19589. 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))),
  19590. },
  19591. },
  19592. 48: {
  19593. Flang: [16]TFcChar8{'e', 'l'},
  19594. Fcharset: TFcCharSet{
  19595. Fref: TFcRef{
  19596. Fcount: -libc.Int32FromInt32(1),
  19597. },
  19598. Fnum: int32(1),
  19599. 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))),
  19600. 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))),
  19601. },
  19602. },
  19603. 49: {
  19604. Flang: [16]TFcChar8{'e', 'n'},
  19605. Fcharset: TFcCharSet{
  19606. Fref: TFcRef{
  19607. Fcount: -libc.Int32FromInt32(1),
  19608. },
  19609. Fnum: int32(1),
  19610. 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))),
  19611. 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))),
  19612. },
  19613. },
  19614. 50: {
  19615. Flang: [16]TFcChar8{'e', 'o'},
  19616. Fcharset: TFcCharSet{
  19617. Fref: TFcRef{
  19618. Fcount: -libc.Int32FromInt32(1),
  19619. },
  19620. Fnum: int32(2),
  19621. 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))),
  19622. 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))),
  19623. },
  19624. },
  19625. 51: {
  19626. Flang: [16]TFcChar8{'e', 's'},
  19627. Fcharset: TFcCharSet{
  19628. Fref: TFcRef{
  19629. Fcount: -libc.Int32FromInt32(1),
  19630. },
  19631. Fnum: int32(1),
  19632. 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))),
  19633. 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))),
  19634. },
  19635. },
  19636. 52: {
  19637. Flang: [16]TFcChar8{'e', 't'},
  19638. Fcharset: TFcCharSet{
  19639. Fref: TFcRef{
  19640. Fcount: -libc.Int32FromInt32(1),
  19641. },
  19642. Fnum: int32(2),
  19643. 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))),
  19644. 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))),
  19645. },
  19646. },
  19647. 53: {
  19648. Flang: [16]TFcChar8{'e', 'u'},
  19649. Fcharset: TFcCharSet{
  19650. Fref: TFcRef{
  19651. Fcount: -libc.Int32FromInt32(1),
  19652. },
  19653. Fnum: int32(1),
  19654. 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))),
  19655. 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))),
  19656. },
  19657. },
  19658. 54: {
  19659. Flang: [16]TFcChar8{'f', 'a'},
  19660. Fcharset: TFcCharSet{
  19661. Fref: TFcRef{
  19662. Fcount: -libc.Int32FromInt32(1),
  19663. },
  19664. Fnum: int32(1),
  19665. 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))),
  19666. 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))),
  19667. },
  19668. },
  19669. 55: {
  19670. Flang: [16]TFcChar8{'f', 'a', 't'},
  19671. Fcharset: TFcCharSet{
  19672. Fref: TFcRef{
  19673. Fcount: -libc.Int32FromInt32(1),
  19674. },
  19675. Fnum: int32(5),
  19676. 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))),
  19677. 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))),
  19678. },
  19679. },
  19680. 56: {
  19681. Flang: [16]TFcChar8{'f', 'f'},
  19682. Fcharset: TFcCharSet{
  19683. Fref: TFcRef{
  19684. Fcount: -libc.Int32FromInt32(1),
  19685. },
  19686. Fnum: int32(3),
  19687. 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))),
  19688. 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))),
  19689. },
  19690. },
  19691. 57: {
  19692. Flang: [16]TFcChar8{'f', 'i'},
  19693. Fcharset: TFcCharSet{
  19694. Fref: TFcRef{
  19695. Fcount: -libc.Int32FromInt32(1),
  19696. },
  19697. Fnum: int32(2),
  19698. 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))),
  19699. 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))),
  19700. },
  19701. },
  19702. 58: {
  19703. Flang: [16]TFcChar8{'f', 'i', 'l'},
  19704. Fcharset: TFcCharSet{
  19705. Fref: TFcRef{
  19706. Fcount: -libc.Int32FromInt32(1),
  19707. },
  19708. Fnum: int32(1),
  19709. 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))),
  19710. 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))),
  19711. },
  19712. },
  19713. 59: {
  19714. Flang: [16]TFcChar8{'f', 'j'},
  19715. Fcharset: TFcCharSet{
  19716. Fref: TFcRef{
  19717. Fcount: -libc.Int32FromInt32(1),
  19718. },
  19719. Fnum: int32(1),
  19720. 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))),
  19721. 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))),
  19722. },
  19723. },
  19724. 60: {
  19725. Flang: [16]TFcChar8{'f', 'o'},
  19726. Fcharset: TFcCharSet{
  19727. Fref: TFcRef{
  19728. Fcount: -libc.Int32FromInt32(1),
  19729. },
  19730. Fnum: int32(1),
  19731. 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))),
  19732. 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))),
  19733. },
  19734. },
  19735. 61: {
  19736. Flang: [16]TFcChar8{'f', 'r'},
  19737. Fcharset: TFcCharSet{
  19738. Fref: TFcRef{
  19739. Fcount: -libc.Int32FromInt32(1),
  19740. },
  19741. Fnum: int32(2),
  19742. 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))),
  19743. 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))),
  19744. },
  19745. },
  19746. 62: {
  19747. Flang: [16]TFcChar8{'f', 'u', 'r'},
  19748. Fcharset: TFcCharSet{
  19749. Fref: TFcRef{
  19750. Fcount: -libc.Int32FromInt32(1),
  19751. },
  19752. Fnum: int32(1),
  19753. 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))),
  19754. 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))),
  19755. },
  19756. },
  19757. 63: {
  19758. Flang: [16]TFcChar8{'f', 'y'},
  19759. Fcharset: TFcCharSet{
  19760. Fref: TFcRef{
  19761. Fcount: -libc.Int32FromInt32(1),
  19762. },
  19763. Fnum: int32(1),
  19764. 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))),
  19765. 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))),
  19766. },
  19767. },
  19768. 64: {
  19769. Flang: [16]TFcChar8{'g', 'a'},
  19770. Fcharset: TFcCharSet{
  19771. Fref: TFcRef{
  19772. Fcount: -libc.Int32FromInt32(1),
  19773. },
  19774. Fnum: int32(3),
  19775. 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))),
  19776. 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))),
  19777. },
  19778. },
  19779. 65: {
  19780. Flang: [16]TFcChar8{'g', 'd'},
  19781. Fcharset: TFcCharSet{
  19782. Fref: TFcRef{
  19783. Fcount: -libc.Int32FromInt32(1),
  19784. },
  19785. Fnum: int32(1),
  19786. 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))),
  19787. 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))),
  19788. },
  19789. },
  19790. 66: {
  19791. Flang: [16]TFcChar8{'g', 'e', 'z'},
  19792. Fcharset: TFcCharSet{
  19793. Fref: TFcRef{
  19794. Fcount: -libc.Int32FromInt32(1),
  19795. },
  19796. Fnum: int32(2),
  19797. 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))),
  19798. 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))),
  19799. },
  19800. },
  19801. 67: {
  19802. Flang: [16]TFcChar8{'g', 'l'},
  19803. Fcharset: TFcCharSet{
  19804. Fref: TFcRef{
  19805. Fcount: -libc.Int32FromInt32(1),
  19806. },
  19807. Fnum: int32(1),
  19808. 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))),
  19809. 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))),
  19810. },
  19811. },
  19812. 68: {
  19813. Flang: [16]TFcChar8{'g', 'n'},
  19814. Fcharset: TFcCharSet{
  19815. Fref: TFcRef{
  19816. Fcount: -libc.Int32FromInt32(1),
  19817. },
  19818. Fnum: int32(3),
  19819. 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))),
  19820. 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))),
  19821. },
  19822. },
  19823. 69: {
  19824. Flang: [16]TFcChar8{'g', 'u'},
  19825. Fcharset: TFcCharSet{
  19826. Fref: TFcRef{
  19827. Fcount: -libc.Int32FromInt32(1),
  19828. },
  19829. Fnum: int32(1),
  19830. 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))),
  19831. 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))),
  19832. },
  19833. },
  19834. 70: {
  19835. Flang: [16]TFcChar8{'g', 'v'},
  19836. Fcharset: TFcCharSet{
  19837. Fref: TFcRef{
  19838. Fcount: -libc.Int32FromInt32(1),
  19839. },
  19840. Fnum: int32(1),
  19841. 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))),
  19842. 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))),
  19843. },
  19844. },
  19845. 71: {
  19846. Flang: [16]TFcChar8{'h', 'a'},
  19847. Fcharset: TFcCharSet{
  19848. Fref: TFcRef{
  19849. Fcount: -libc.Int32FromInt32(1),
  19850. },
  19851. Fnum: int32(3),
  19852. 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))),
  19853. 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))),
  19854. },
  19855. },
  19856. 72: {
  19857. Flang: [16]TFcChar8{'h', 'a', 'w'},
  19858. Fcharset: TFcCharSet{
  19859. Fref: TFcRef{
  19860. Fcount: -libc.Int32FromInt32(1),
  19861. },
  19862. Fnum: int32(3),
  19863. 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))),
  19864. 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))),
  19865. },
  19866. },
  19867. 73: {
  19868. Flang: [16]TFcChar8{'h', 'e'},
  19869. Fcharset: TFcCharSet{
  19870. Fref: TFcRef{
  19871. Fcount: -libc.Int32FromInt32(1),
  19872. },
  19873. Fnum: int32(1),
  19874. 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))),
  19875. 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))),
  19876. },
  19877. },
  19878. 74: {
  19879. Flang: [16]TFcChar8{'h', 'i'},
  19880. Fcharset: TFcCharSet{
  19881. Fref: TFcRef{
  19882. Fcount: -libc.Int32FromInt32(1),
  19883. },
  19884. Fnum: int32(1),
  19885. 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))),
  19886. 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))),
  19887. },
  19888. },
  19889. 75: {
  19890. Flang: [16]TFcChar8{'h', 'n', 'e'},
  19891. Fcharset: TFcCharSet{
  19892. Fref: TFcRef{
  19893. Fcount: -libc.Int32FromInt32(1),
  19894. },
  19895. Fnum: int32(1),
  19896. 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))),
  19897. 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))),
  19898. },
  19899. },
  19900. 76: {
  19901. Flang: [16]TFcChar8{'h', 'o'},
  19902. Fcharset: TFcCharSet{
  19903. Fref: TFcRef{
  19904. Fcount: -libc.Int32FromInt32(1),
  19905. },
  19906. Fnum: int32(1),
  19907. 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))),
  19908. 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))),
  19909. },
  19910. },
  19911. 77: {
  19912. Flang: [16]TFcChar8{'h', 'r'},
  19913. Fcharset: TFcCharSet{
  19914. Fref: TFcRef{
  19915. Fcount: -libc.Int32FromInt32(1),
  19916. },
  19917. Fnum: int32(2),
  19918. 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))),
  19919. 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))),
  19920. },
  19921. },
  19922. 78: {
  19923. Flang: [16]TFcChar8{'h', 's', 'b'},
  19924. Fcharset: TFcCharSet{
  19925. Fref: TFcRef{
  19926. Fcount: -libc.Int32FromInt32(1),
  19927. },
  19928. Fnum: int32(2),
  19929. 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))),
  19930. 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))),
  19931. },
  19932. },
  19933. 79: {
  19934. Flang: [16]TFcChar8{'h', 't'},
  19935. Fcharset: TFcCharSet{
  19936. Fref: TFcRef{
  19937. Fcount: -libc.Int32FromInt32(1),
  19938. },
  19939. Fnum: int32(1),
  19940. 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))),
  19941. 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))),
  19942. },
  19943. },
  19944. 80: {
  19945. Flang: [16]TFcChar8{'h', 'u'},
  19946. Fcharset: TFcCharSet{
  19947. Fref: TFcRef{
  19948. Fcount: -libc.Int32FromInt32(1),
  19949. },
  19950. Fnum: int32(2),
  19951. 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))),
  19952. 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))),
  19953. },
  19954. },
  19955. 81: {
  19956. Flang: [16]TFcChar8{'h', 'y'},
  19957. Fcharset: TFcCharSet{
  19958. Fref: TFcRef{
  19959. Fcount: -libc.Int32FromInt32(1),
  19960. },
  19961. Fnum: int32(1),
  19962. 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))),
  19963. 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))),
  19964. },
  19965. },
  19966. 82: {
  19967. Flang: [16]TFcChar8{'h', 'z'},
  19968. Fcharset: TFcCharSet{
  19969. Fref: TFcRef{
  19970. Fcount: -libc.Int32FromInt32(1),
  19971. },
  19972. Fnum: int32(3),
  19973. 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))),
  19974. 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))),
  19975. },
  19976. },
  19977. 83: {
  19978. Flang: [16]TFcChar8{'i', 'a'},
  19979. Fcharset: TFcCharSet{
  19980. Fref: TFcRef{
  19981. Fcount: -libc.Int32FromInt32(1),
  19982. },
  19983. Fnum: int32(1),
  19984. 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))),
  19985. 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))),
  19986. },
  19987. },
  19988. 84: {
  19989. Flang: [16]TFcChar8{'i', 'd'},
  19990. Fcharset: TFcCharSet{
  19991. Fref: TFcRef{
  19992. Fcount: -libc.Int32FromInt32(1),
  19993. },
  19994. Fnum: int32(1),
  19995. 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))),
  19996. 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))),
  19997. },
  19998. },
  19999. 85: {
  20000. Flang: [16]TFcChar8{'i', 'e'},
  20001. Fcharset: TFcCharSet{
  20002. Fref: TFcRef{
  20003. Fcount: -libc.Int32FromInt32(1),
  20004. },
  20005. Fnum: int32(1),
  20006. 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))),
  20007. 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))),
  20008. },
  20009. },
  20010. 86: {
  20011. Flang: [16]TFcChar8{'i', 'g'},
  20012. Fcharset: TFcCharSet{
  20013. Fref: TFcRef{
  20014. Fcount: -libc.Int32FromInt32(1),
  20015. },
  20016. Fnum: int32(2),
  20017. 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))),
  20018. 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))),
  20019. },
  20020. },
  20021. 87: {
  20022. Flang: [16]TFcChar8{'i', 'i'},
  20023. Fcharset: TFcCharSet{
  20024. Fref: TFcRef{
  20025. Fcount: -libc.Int32FromInt32(1),
  20026. },
  20027. Fnum: int32(5),
  20028. 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))),
  20029. 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))),
  20030. },
  20031. },
  20032. 88: {
  20033. Flang: [16]TFcChar8{'i', 'k'},
  20034. Fcharset: TFcCharSet{
  20035. Fref: TFcRef{
  20036. Fcount: -libc.Int32FromInt32(1),
  20037. },
  20038. Fnum: int32(1),
  20039. 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))),
  20040. 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))),
  20041. },
  20042. },
  20043. 89: {
  20044. Flang: [16]TFcChar8{'i', 'o'},
  20045. Fcharset: TFcCharSet{
  20046. Fref: TFcRef{
  20047. Fcount: -libc.Int32FromInt32(1),
  20048. },
  20049. Fnum: int32(1),
  20050. 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))),
  20051. 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))),
  20052. },
  20053. },
  20054. 90: {
  20055. Flang: [16]TFcChar8{'i', 's'},
  20056. Fcharset: TFcCharSet{
  20057. Fref: TFcRef{
  20058. Fcount: -libc.Int32FromInt32(1),
  20059. },
  20060. Fnum: int32(1),
  20061. 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))),
  20062. 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))),
  20063. },
  20064. },
  20065. 91: {
  20066. Flang: [16]TFcChar8{'i', 't'},
  20067. Fcharset: TFcCharSet{
  20068. Fref: TFcRef{
  20069. Fcount: -libc.Int32FromInt32(1),
  20070. },
  20071. Fnum: int32(1),
  20072. 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))),
  20073. 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))),
  20074. },
  20075. },
  20076. 92: {
  20077. Flang: [16]TFcChar8{'i', 'u'},
  20078. Fcharset: TFcCharSet{
  20079. Fref: TFcRef{
  20080. Fcount: -libc.Int32FromInt32(1),
  20081. },
  20082. Fnum: int32(3),
  20083. 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))),
  20084. 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))),
  20085. },
  20086. },
  20087. 93: {
  20088. Flang: [16]TFcChar8{'j', 'a'},
  20089. Fcharset: TFcCharSet{
  20090. Fref: TFcRef{
  20091. Fcount: -libc.Int32FromInt32(1),
  20092. },
  20093. Fnum: int32(83),
  20094. 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))),
  20095. 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))),
  20096. },
  20097. },
  20098. 94: {
  20099. Flang: [16]TFcChar8{'j', 'v'},
  20100. Fcharset: TFcCharSet{
  20101. Fref: TFcRef{
  20102. Fcount: -libc.Int32FromInt32(1),
  20103. },
  20104. Fnum: int32(1),
  20105. 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))),
  20106. 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))),
  20107. },
  20108. },
  20109. 95: {
  20110. Flang: [16]TFcChar8{'k', 'a'},
  20111. Fcharset: TFcCharSet{
  20112. Fref: TFcRef{
  20113. Fcount: -libc.Int32FromInt32(1),
  20114. },
  20115. Fnum: int32(1),
  20116. 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))),
  20117. 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))),
  20118. },
  20119. },
  20120. 96: {
  20121. Flang: [16]TFcChar8{'k', 'a', 'a'},
  20122. Fcharset: TFcCharSet{
  20123. Fref: TFcRef{
  20124. Fcount: -libc.Int32FromInt32(1),
  20125. },
  20126. Fnum: int32(1),
  20127. 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))),
  20128. 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))),
  20129. },
  20130. },
  20131. 97: {
  20132. Flang: [16]TFcChar8{'k', 'a', 'b'},
  20133. Fcharset: TFcCharSet{
  20134. Fref: TFcRef{
  20135. Fcount: -libc.Int32FromInt32(1),
  20136. },
  20137. Fnum: int32(4),
  20138. 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))),
  20139. 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))),
  20140. },
  20141. },
  20142. 98: {
  20143. Flang: [16]TFcChar8{'k', 'i'},
  20144. Fcharset: TFcCharSet{
  20145. Fref: TFcRef{
  20146. Fcount: -libc.Int32FromInt32(1),
  20147. },
  20148. Fnum: int32(2),
  20149. 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))),
  20150. 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))),
  20151. },
  20152. },
  20153. 99: {
  20154. Flang: [16]TFcChar8{'k', 'j'},
  20155. Fcharset: TFcCharSet{
  20156. Fref: TFcRef{
  20157. Fcount: -libc.Int32FromInt32(1),
  20158. },
  20159. Fnum: int32(1),
  20160. 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))),
  20161. 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))),
  20162. },
  20163. },
  20164. 100: {
  20165. Flang: [16]TFcChar8{'k', 'k'},
  20166. Fcharset: TFcCharSet{
  20167. Fref: TFcRef{
  20168. Fcount: -libc.Int32FromInt32(1),
  20169. },
  20170. Fnum: int32(1),
  20171. 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))),
  20172. 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))),
  20173. },
  20174. },
  20175. 101: {
  20176. Flang: [16]TFcChar8{'k', 'l'},
  20177. Fcharset: TFcCharSet{
  20178. Fref: TFcRef{
  20179. Fcount: -libc.Int32FromInt32(1),
  20180. },
  20181. Fnum: int32(2),
  20182. 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))),
  20183. 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))),
  20184. },
  20185. },
  20186. 102: {
  20187. Flang: [16]TFcChar8{'k', 'm'},
  20188. Fcharset: TFcCharSet{
  20189. Fref: TFcRef{
  20190. Fcount: -libc.Int32FromInt32(1),
  20191. },
  20192. Fnum: int32(1),
  20193. 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))),
  20194. 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))),
  20195. },
  20196. },
  20197. 103: {
  20198. Flang: [16]TFcChar8{'k', 'n'},
  20199. Fcharset: TFcCharSet{
  20200. Fref: TFcRef{
  20201. Fcount: -libc.Int32FromInt32(1),
  20202. },
  20203. Fnum: int32(1),
  20204. 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))),
  20205. 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))),
  20206. },
  20207. },
  20208. 104: {
  20209. Flang: [16]TFcChar8{'k', 'o'},
  20210. Fcharset: TFcCharSet{
  20211. Fref: TFcRef{
  20212. Fcount: -libc.Int32FromInt32(1),
  20213. },
  20214. Fnum: int32(45),
  20215. 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))),
  20216. 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))),
  20217. },
  20218. },
  20219. 105: {
  20220. Flang: [16]TFcChar8{'k', 'o', 'k'},
  20221. Fcharset: TFcCharSet{
  20222. Fref: TFcRef{
  20223. Fcount: -libc.Int32FromInt32(1),
  20224. },
  20225. Fnum: int32(1),
  20226. 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))),
  20227. 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))),
  20228. },
  20229. },
  20230. 106: {
  20231. Flang: [16]TFcChar8{'k', 'r'},
  20232. Fcharset: TFcCharSet{
  20233. Fref: TFcRef{
  20234. Fcount: -libc.Int32FromInt32(1),
  20235. },
  20236. Fnum: int32(3),
  20237. 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))),
  20238. 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))),
  20239. },
  20240. },
  20241. 107: {
  20242. Flang: [16]TFcChar8{'k', 's'},
  20243. Fcharset: TFcCharSet{
  20244. Fref: TFcRef{
  20245. Fcount: -libc.Int32FromInt32(1),
  20246. },
  20247. Fnum: int32(1),
  20248. 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))),
  20249. 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))),
  20250. },
  20251. },
  20252. 108: {
  20253. Flang: [16]TFcChar8{'k', 'u', '-', 'a', 'm'},
  20254. Fcharset: TFcCharSet{
  20255. Fref: TFcRef{
  20256. Fcount: -libc.Int32FromInt32(1),
  20257. },
  20258. Fnum: int32(2),
  20259. 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))),
  20260. 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))),
  20261. },
  20262. },
  20263. 109: {
  20264. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'q'},
  20265. Fcharset: TFcCharSet{
  20266. Fref: TFcRef{
  20267. Fcount: -libc.Int32FromInt32(1),
  20268. },
  20269. Fnum: int32(1),
  20270. 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))),
  20271. 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))),
  20272. },
  20273. },
  20274. 110: {
  20275. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'r'},
  20276. Fcharset: TFcCharSet{
  20277. Fref: TFcRef{
  20278. Fcount: -libc.Int32FromInt32(1),
  20279. },
  20280. Fnum: int32(1),
  20281. 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))),
  20282. 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))),
  20283. },
  20284. },
  20285. 111: {
  20286. Flang: [16]TFcChar8{'k', 'u', '-', 't', 'r'},
  20287. Fcharset: TFcCharSet{
  20288. Fref: TFcRef{
  20289. Fcount: -libc.Int32FromInt32(1),
  20290. },
  20291. Fnum: int32(2),
  20292. 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))),
  20293. 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))),
  20294. },
  20295. },
  20296. 112: {
  20297. Flang: [16]TFcChar8{'k', 'u', 'm'},
  20298. Fcharset: TFcCharSet{
  20299. Fref: TFcRef{
  20300. Fcount: -libc.Int32FromInt32(1),
  20301. },
  20302. Fnum: int32(1),
  20303. 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))),
  20304. 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))),
  20305. },
  20306. },
  20307. 113: {
  20308. Flang: [16]TFcChar8{'k', 'v'},
  20309. Fcharset: TFcCharSet{
  20310. Fref: TFcRef{
  20311. Fcount: -libc.Int32FromInt32(1),
  20312. },
  20313. Fnum: int32(1),
  20314. 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))),
  20315. 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))),
  20316. },
  20317. },
  20318. 114: {
  20319. Flang: [16]TFcChar8{'k', 'w'},
  20320. Fcharset: TFcCharSet{
  20321. Fref: TFcRef{
  20322. Fcount: -libc.Int32FromInt32(1),
  20323. },
  20324. Fnum: int32(3),
  20325. 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))),
  20326. 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))),
  20327. },
  20328. },
  20329. 115: {
  20330. Flang: [16]TFcChar8{'k', 'w', 'm'},
  20331. Fcharset: TFcCharSet{
  20332. Fref: TFcRef{
  20333. Fcount: -libc.Int32FromInt32(1),
  20334. },
  20335. Fnum: int32(1),
  20336. 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))),
  20337. 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))),
  20338. },
  20339. },
  20340. 116: {
  20341. Flang: [16]TFcChar8{'k', 'y'},
  20342. Fcharset: TFcCharSet{
  20343. Fref: TFcRef{
  20344. Fcount: -libc.Int32FromInt32(1),
  20345. },
  20346. Fnum: int32(1),
  20347. 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))),
  20348. 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))),
  20349. },
  20350. },
  20351. 117: {
  20352. Flang: [16]TFcChar8{'l', 'a'},
  20353. Fcharset: TFcCharSet{
  20354. Fref: TFcRef{
  20355. Fcount: -libc.Int32FromInt32(1),
  20356. },
  20357. Fnum: int32(2),
  20358. 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))),
  20359. 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))),
  20360. },
  20361. },
  20362. 118: {
  20363. Flang: [16]TFcChar8{'l', 'a', 'h'},
  20364. Fcharset: TFcCharSet{
  20365. Fref: TFcRef{
  20366. Fcount: -libc.Int32FromInt32(1),
  20367. },
  20368. Fnum: int32(1),
  20369. 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))),
  20370. 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))),
  20371. },
  20372. },
  20373. 119: {
  20374. Flang: [16]TFcChar8{'l', 'b'},
  20375. Fcharset: TFcCharSet{
  20376. Fref: TFcRef{
  20377. Fcount: -libc.Int32FromInt32(1),
  20378. },
  20379. Fnum: int32(1),
  20380. 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))),
  20381. 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))),
  20382. },
  20383. },
  20384. 120: {
  20385. Flang: [16]TFcChar8{'l', 'e', 'z'},
  20386. Fcharset: TFcCharSet{
  20387. Fref: TFcRef{
  20388. Fcount: -libc.Int32FromInt32(1),
  20389. },
  20390. Fnum: int32(1),
  20391. 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))),
  20392. 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))),
  20393. },
  20394. },
  20395. 121: {
  20396. Flang: [16]TFcChar8{'l', 'g'},
  20397. Fcharset: TFcCharSet{
  20398. Fref: TFcRef{
  20399. Fcount: -libc.Int32FromInt32(1),
  20400. },
  20401. Fnum: int32(2),
  20402. 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))),
  20403. 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))),
  20404. },
  20405. },
  20406. 122: {
  20407. Flang: [16]TFcChar8{'l', 'i'},
  20408. Fcharset: TFcCharSet{
  20409. Fref: TFcRef{
  20410. Fcount: -libc.Int32FromInt32(1),
  20411. },
  20412. Fnum: int32(1),
  20413. 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))),
  20414. 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))),
  20415. },
  20416. },
  20417. 123: {
  20418. Flang: [16]TFcChar8{'l', 'n'},
  20419. Fcharset: TFcCharSet{
  20420. Fref: TFcRef{
  20421. Fcount: -libc.Int32FromInt32(1),
  20422. },
  20423. Fnum: int32(4),
  20424. 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))),
  20425. 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))),
  20426. },
  20427. },
  20428. 124: {
  20429. Flang: [16]TFcChar8{'l', 'o'},
  20430. Fcharset: TFcCharSet{
  20431. Fref: TFcRef{
  20432. Fcount: -libc.Int32FromInt32(1),
  20433. },
  20434. Fnum: int32(1),
  20435. 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))),
  20436. 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))),
  20437. },
  20438. },
  20439. 125: {
  20440. Flang: [16]TFcChar8{'l', 't'},
  20441. Fcharset: TFcCharSet{
  20442. Fref: TFcRef{
  20443. Fcount: -libc.Int32FromInt32(1),
  20444. },
  20445. Fnum: int32(2),
  20446. 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))),
  20447. 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))),
  20448. },
  20449. },
  20450. 126: {
  20451. Flang: [16]TFcChar8{'l', 'v'},
  20452. Fcharset: TFcCharSet{
  20453. Fref: TFcRef{
  20454. Fcount: -libc.Int32FromInt32(1),
  20455. },
  20456. Fnum: int32(2),
  20457. 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))),
  20458. 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))),
  20459. },
  20460. },
  20461. 127: {
  20462. Flang: [16]TFcChar8{'m', 'a', 'i'},
  20463. Fcharset: TFcCharSet{
  20464. Fref: TFcRef{
  20465. Fcount: -libc.Int32FromInt32(1),
  20466. },
  20467. Fnum: int32(1),
  20468. 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))),
  20469. 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))),
  20470. },
  20471. },
  20472. 128: {
  20473. Flang: [16]TFcChar8{'m', 'g'},
  20474. Fcharset: TFcCharSet{
  20475. Fref: TFcRef{
  20476. Fcount: -libc.Int32FromInt32(1),
  20477. },
  20478. Fnum: int32(1),
  20479. 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))),
  20480. 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))),
  20481. },
  20482. },
  20483. 129: {
  20484. Flang: [16]TFcChar8{'m', 'h'},
  20485. Fcharset: TFcCharSet{
  20486. Fref: TFcRef{
  20487. Fcount: -libc.Int32FromInt32(1),
  20488. },
  20489. Fnum: int32(2),
  20490. 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))),
  20491. 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))),
  20492. },
  20493. },
  20494. 130: {
  20495. Flang: [16]TFcChar8{'m', 'i'},
  20496. Fcharset: TFcCharSet{
  20497. Fref: TFcRef{
  20498. Fcount: -libc.Int32FromInt32(1),
  20499. },
  20500. Fnum: int32(3),
  20501. 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))),
  20502. 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))),
  20503. },
  20504. },
  20505. 131: {
  20506. Flang: [16]TFcChar8{'m', 'k'},
  20507. Fcharset: TFcCharSet{
  20508. Fref: TFcRef{
  20509. Fcount: -libc.Int32FromInt32(1),
  20510. },
  20511. Fnum: int32(1),
  20512. 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))),
  20513. 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))),
  20514. },
  20515. },
  20516. 132: {
  20517. Flang: [16]TFcChar8{'m', 'l'},
  20518. Fcharset: TFcCharSet{
  20519. Fref: TFcRef{
  20520. Fcount: -libc.Int32FromInt32(1),
  20521. },
  20522. Fnum: int32(1),
  20523. 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))),
  20524. 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))),
  20525. },
  20526. },
  20527. 133: {
  20528. Flang: [16]TFcChar8{'m', 'n', '-', 'c', 'n'},
  20529. Fcharset: TFcCharSet{
  20530. Fref: TFcRef{
  20531. Fcount: -libc.Int32FromInt32(1),
  20532. },
  20533. Fnum: int32(1),
  20534. 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))),
  20535. 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))),
  20536. },
  20537. },
  20538. 134: {
  20539. Flang: [16]TFcChar8{'m', 'n', '-', 'm', 'n'},
  20540. Fcharset: TFcCharSet{
  20541. Fref: TFcRef{
  20542. Fcount: -libc.Int32FromInt32(1),
  20543. },
  20544. Fnum: int32(1),
  20545. 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))),
  20546. 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))),
  20547. },
  20548. },
  20549. 135: {
  20550. Flang: [16]TFcChar8{'m', 'n', 'i'},
  20551. Fcharset: TFcCharSet{
  20552. Fref: TFcRef{
  20553. Fcount: -libc.Int32FromInt32(1),
  20554. },
  20555. Fnum: int32(1),
  20556. 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))),
  20557. 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))),
  20558. },
  20559. },
  20560. 136: {
  20561. Flang: [16]TFcChar8{'m', 'o'},
  20562. Fcharset: TFcCharSet{
  20563. Fref: TFcRef{
  20564. Fcount: -libc.Int32FromInt32(1),
  20565. },
  20566. Fnum: int32(4),
  20567. 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))),
  20568. 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))),
  20569. },
  20570. },
  20571. 137: {
  20572. Flang: [16]TFcChar8{'m', 'r'},
  20573. Fcharset: TFcCharSet{
  20574. Fref: TFcRef{
  20575. Fcount: -libc.Int32FromInt32(1),
  20576. },
  20577. Fnum: int32(1),
  20578. 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))),
  20579. 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))),
  20580. },
  20581. },
  20582. 138: {
  20583. Flang: [16]TFcChar8{'m', 's'},
  20584. Fcharset: TFcCharSet{
  20585. Fref: TFcRef{
  20586. Fcount: -libc.Int32FromInt32(1),
  20587. },
  20588. Fnum: int32(1),
  20589. 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))),
  20590. 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))),
  20591. },
  20592. },
  20593. 139: {
  20594. Flang: [16]TFcChar8{'m', 't'},
  20595. Fcharset: TFcCharSet{
  20596. Fref: TFcRef{
  20597. Fcount: -libc.Int32FromInt32(1),
  20598. },
  20599. Fnum: int32(2),
  20600. 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))),
  20601. 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))),
  20602. },
  20603. },
  20604. 140: {
  20605. Flang: [16]TFcChar8{'m', 'y'},
  20606. Fcharset: TFcCharSet{
  20607. Fref: TFcRef{
  20608. Fcount: -libc.Int32FromInt32(1),
  20609. },
  20610. Fnum: int32(1),
  20611. 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))),
  20612. 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))),
  20613. },
  20614. },
  20615. 141: {
  20616. Flang: [16]TFcChar8{'n', 'a'},
  20617. Fcharset: TFcCharSet{
  20618. Fref: TFcRef{
  20619. Fcount: -libc.Int32FromInt32(1),
  20620. },
  20621. Fnum: int32(2),
  20622. 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))),
  20623. 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))),
  20624. },
  20625. },
  20626. 142: {
  20627. Flang: [16]TFcChar8{'n', 'b'},
  20628. Fcharset: TFcCharSet{
  20629. Fref: TFcRef{
  20630. Fcount: -libc.Int32FromInt32(1),
  20631. },
  20632. Fnum: int32(1),
  20633. 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))),
  20634. 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))),
  20635. },
  20636. },
  20637. 143: {
  20638. Flang: [16]TFcChar8{'n', 'd', 's'},
  20639. Fcharset: TFcCharSet{
  20640. Fref: TFcRef{
  20641. Fcount: -libc.Int32FromInt32(1),
  20642. },
  20643. Fnum: int32(1),
  20644. 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))),
  20645. 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))),
  20646. },
  20647. },
  20648. 144: {
  20649. Flang: [16]TFcChar8{'n', 'e'},
  20650. Fcharset: TFcCharSet{
  20651. Fref: TFcRef{
  20652. Fcount: -libc.Int32FromInt32(1),
  20653. },
  20654. Fnum: int32(1),
  20655. 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))),
  20656. 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))),
  20657. },
  20658. },
  20659. 145: {
  20660. Flang: [16]TFcChar8{'n', 'g'},
  20661. Fcharset: TFcCharSet{
  20662. Fref: TFcRef{
  20663. Fcount: -libc.Int32FromInt32(1),
  20664. },
  20665. Fnum: int32(1),
  20666. 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))),
  20667. 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))),
  20668. },
  20669. },
  20670. 146: {
  20671. Flang: [16]TFcChar8{'n', 'l'},
  20672. Fcharset: TFcCharSet{
  20673. Fref: TFcRef{
  20674. Fcount: -libc.Int32FromInt32(1),
  20675. },
  20676. Fnum: int32(1),
  20677. 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))),
  20678. 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))),
  20679. },
  20680. },
  20681. 147: {
  20682. Flang: [16]TFcChar8{'n', 'n'},
  20683. Fcharset: TFcCharSet{
  20684. Fref: TFcRef{
  20685. Fcount: -libc.Int32FromInt32(1),
  20686. },
  20687. Fnum: int32(1),
  20688. 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))),
  20689. 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))),
  20690. },
  20691. },
  20692. 148: {
  20693. Flang: [16]TFcChar8{'n', 'o'},
  20694. Fcharset: TFcCharSet{
  20695. Fref: TFcRef{
  20696. Fcount: -libc.Int32FromInt32(1),
  20697. },
  20698. Fnum: int32(1),
  20699. 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))),
  20700. 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))),
  20701. },
  20702. },
  20703. 149: {
  20704. Flang: [16]TFcChar8{'n', 'q', 'o'},
  20705. Fcharset: TFcCharSet{
  20706. Fref: TFcRef{
  20707. Fcount: -libc.Int32FromInt32(1),
  20708. },
  20709. Fnum: int32(1),
  20710. 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))),
  20711. 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))),
  20712. },
  20713. },
  20714. 150: {
  20715. Flang: [16]TFcChar8{'n', 'r'},
  20716. Fcharset: TFcCharSet{
  20717. Fref: TFcRef{
  20718. Fcount: -libc.Int32FromInt32(1),
  20719. },
  20720. Fnum: int32(1),
  20721. 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))),
  20722. 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))),
  20723. },
  20724. },
  20725. 151: {
  20726. Flang: [16]TFcChar8{'n', 's', 'o'},
  20727. Fcharset: TFcCharSet{
  20728. Fref: TFcRef{
  20729. Fcount: -libc.Int32FromInt32(1),
  20730. },
  20731. Fnum: int32(2),
  20732. 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))),
  20733. 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))),
  20734. },
  20735. },
  20736. 152: {
  20737. Flang: [16]TFcChar8{'n', 'v'},
  20738. Fcharset: TFcCharSet{
  20739. Fref: TFcRef{
  20740. Fcount: -libc.Int32FromInt32(1),
  20741. },
  20742. Fnum: int32(4),
  20743. 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))),
  20744. 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))),
  20745. },
  20746. },
  20747. 153: {
  20748. Flang: [16]TFcChar8{'n', 'y'},
  20749. Fcharset: TFcCharSet{
  20750. Fref: TFcRef{
  20751. Fcount: -libc.Int32FromInt32(1),
  20752. },
  20753. Fnum: int32(2),
  20754. 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))),
  20755. 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))),
  20756. },
  20757. },
  20758. 154: {
  20759. Flang: [16]TFcChar8{'o', 'c'},
  20760. Fcharset: TFcCharSet{
  20761. Fref: TFcRef{
  20762. Fcount: -libc.Int32FromInt32(1),
  20763. },
  20764. Fnum: int32(1),
  20765. 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))),
  20766. 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))),
  20767. },
  20768. },
  20769. 155: {
  20770. Flang: [16]TFcChar8{'o', 'm'},
  20771. Fcharset: TFcCharSet{
  20772. Fref: TFcRef{
  20773. Fcount: -libc.Int32FromInt32(1),
  20774. },
  20775. Fnum: int32(1),
  20776. 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))),
  20777. 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))),
  20778. },
  20779. },
  20780. 156: {
  20781. Flang: [16]TFcChar8{'o', 'r'},
  20782. Fcharset: TFcCharSet{
  20783. Fref: TFcRef{
  20784. Fcount: -libc.Int32FromInt32(1),
  20785. },
  20786. Fnum: int32(1),
  20787. 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))),
  20788. 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))),
  20789. },
  20790. },
  20791. 157: {
  20792. Flang: [16]TFcChar8{'o', 's'},
  20793. Fcharset: TFcCharSet{
  20794. Fref: TFcRef{
  20795. Fcount: -libc.Int32FromInt32(1),
  20796. },
  20797. Fnum: int32(1),
  20798. 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))),
  20799. 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))),
  20800. },
  20801. },
  20802. 158: {
  20803. Flang: [16]TFcChar8{'o', 't', 'a'},
  20804. Fcharset: TFcCharSet{
  20805. Fref: TFcRef{
  20806. Fcount: -libc.Int32FromInt32(1),
  20807. },
  20808. Fnum: int32(1),
  20809. 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))),
  20810. 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))),
  20811. },
  20812. },
  20813. 159: {
  20814. Flang: [16]TFcChar8{'p', 'a'},
  20815. Fcharset: TFcCharSet{
  20816. Fref: TFcRef{
  20817. Fcount: -libc.Int32FromInt32(1),
  20818. },
  20819. Fnum: int32(1),
  20820. 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))),
  20821. 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))),
  20822. },
  20823. },
  20824. 160: {
  20825. Flang: [16]TFcChar8{'p', 'a', '-', 'p', 'k'},
  20826. Fcharset: TFcCharSet{
  20827. Fref: TFcRef{
  20828. Fcount: -libc.Int32FromInt32(1),
  20829. },
  20830. Fnum: int32(1),
  20831. 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))),
  20832. 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))),
  20833. },
  20834. },
  20835. 161: {
  20836. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'n'},
  20837. Fcharset: TFcCharSet{
  20838. Fref: TFcRef{
  20839. Fcount: -libc.Int32FromInt32(1),
  20840. },
  20841. Fnum: int32(1),
  20842. 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))),
  20843. 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))),
  20844. },
  20845. },
  20846. 162: {
  20847. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'w'},
  20848. Fcharset: TFcCharSet{
  20849. Fref: TFcRef{
  20850. Fcount: -libc.Int32FromInt32(1),
  20851. },
  20852. Fnum: int32(1),
  20853. 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))),
  20854. 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))),
  20855. },
  20856. },
  20857. 163: {
  20858. Flang: [16]TFcChar8{'p', 'l'},
  20859. Fcharset: TFcCharSet{
  20860. Fref: TFcRef{
  20861. Fcount: -libc.Int32FromInt32(1),
  20862. },
  20863. Fnum: int32(2),
  20864. 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))),
  20865. 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))),
  20866. },
  20867. },
  20868. 164: {
  20869. Flang: [16]TFcChar8{'p', 's', '-', 'a', 'f'},
  20870. Fcharset: TFcCharSet{
  20871. Fref: TFcRef{
  20872. Fcount: -libc.Int32FromInt32(1),
  20873. },
  20874. Fnum: int32(1),
  20875. 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))),
  20876. 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))),
  20877. },
  20878. },
  20879. 165: {
  20880. Flang: [16]TFcChar8{'p', 's', '-', 'p', 'k'},
  20881. Fcharset: TFcCharSet{
  20882. Fref: TFcRef{
  20883. Fcount: -libc.Int32FromInt32(1),
  20884. },
  20885. Fnum: int32(1),
  20886. 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))),
  20887. 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))),
  20888. },
  20889. },
  20890. 166: {
  20891. Flang: [16]TFcChar8{'p', 't'},
  20892. Fcharset: TFcCharSet{
  20893. Fref: TFcRef{
  20894. Fcount: -libc.Int32FromInt32(1),
  20895. },
  20896. Fnum: int32(1),
  20897. 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))),
  20898. 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))),
  20899. },
  20900. },
  20901. 167: {
  20902. Flang: [16]TFcChar8{'q', 'u'},
  20903. Fcharset: TFcCharSet{
  20904. Fref: TFcRef{
  20905. Fcount: -libc.Int32FromInt32(1),
  20906. },
  20907. Fnum: int32(2),
  20908. 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))),
  20909. 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))),
  20910. },
  20911. },
  20912. 168: {
  20913. Flang: [16]TFcChar8{'q', 'u', 'z'},
  20914. Fcharset: TFcCharSet{
  20915. Fref: TFcRef{
  20916. Fcount: -libc.Int32FromInt32(1),
  20917. },
  20918. Fnum: int32(2),
  20919. 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))),
  20920. 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))),
  20921. },
  20922. },
  20923. 169: {
  20924. Flang: [16]TFcChar8{'r', 'm'},
  20925. Fcharset: TFcCharSet{
  20926. Fref: TFcRef{
  20927. Fcount: -libc.Int32FromInt32(1),
  20928. },
  20929. Fnum: int32(1),
  20930. 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))),
  20931. 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))),
  20932. },
  20933. },
  20934. 170: {
  20935. Flang: [16]TFcChar8{'r', 'n'},
  20936. Fcharset: TFcCharSet{
  20937. Fref: TFcRef{
  20938. Fcount: -libc.Int32FromInt32(1),
  20939. },
  20940. Fnum: int32(1),
  20941. 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))),
  20942. 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))),
  20943. },
  20944. },
  20945. 171: {
  20946. Flang: [16]TFcChar8{'r', 'o'},
  20947. Fcharset: TFcCharSet{
  20948. Fref: TFcRef{
  20949. Fcount: -libc.Int32FromInt32(1),
  20950. },
  20951. Fnum: int32(3),
  20952. 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))),
  20953. 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))),
  20954. },
  20955. },
  20956. 172: {
  20957. Flang: [16]TFcChar8{'r', 'u'},
  20958. Fcharset: TFcCharSet{
  20959. Fref: TFcRef{
  20960. Fcount: -libc.Int32FromInt32(1),
  20961. },
  20962. Fnum: int32(1),
  20963. 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))),
  20964. 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))),
  20965. },
  20966. },
  20967. 173: {
  20968. Flang: [16]TFcChar8{'r', 'w'},
  20969. Fcharset: TFcCharSet{
  20970. Fref: TFcRef{
  20971. Fcount: -libc.Int32FromInt32(1),
  20972. },
  20973. Fnum: int32(1),
  20974. 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))),
  20975. 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))),
  20976. },
  20977. },
  20978. 174: {
  20979. Flang: [16]TFcChar8{'s', 'a'},
  20980. Fcharset: TFcCharSet{
  20981. Fref: TFcRef{
  20982. Fcount: -libc.Int32FromInt32(1),
  20983. },
  20984. Fnum: int32(1),
  20985. 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))),
  20986. 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))),
  20987. },
  20988. },
  20989. 175: {
  20990. Flang: [16]TFcChar8{'s', 'a', 'h'},
  20991. Fcharset: TFcCharSet{
  20992. Fref: TFcRef{
  20993. Fcount: -libc.Int32FromInt32(1),
  20994. },
  20995. Fnum: int32(1),
  20996. 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))),
  20997. 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))),
  20998. },
  20999. },
  21000. 176: {
  21001. Flang: [16]TFcChar8{'s', 'a', 't'},
  21002. Fcharset: TFcCharSet{
  21003. Fref: TFcRef{
  21004. Fcount: -libc.Int32FromInt32(1),
  21005. },
  21006. Fnum: int32(1),
  21007. 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))),
  21008. 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))),
  21009. },
  21010. },
  21011. 177: {
  21012. Flang: [16]TFcChar8{'s', 'c'},
  21013. Fcharset: TFcCharSet{
  21014. Fref: TFcRef{
  21015. Fcount: -libc.Int32FromInt32(1),
  21016. },
  21017. Fnum: int32(1),
  21018. 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))),
  21019. 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))),
  21020. },
  21021. },
  21022. 178: {
  21023. Flang: [16]TFcChar8{'s', 'c', 'o'},
  21024. Fcharset: TFcCharSet{
  21025. Fref: TFcRef{
  21026. Fcount: -libc.Int32FromInt32(1),
  21027. },
  21028. Fnum: int32(3),
  21029. 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))),
  21030. 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))),
  21031. },
  21032. },
  21033. 179: {
  21034. Flang: [16]TFcChar8{'s', 'd'},
  21035. Fcharset: TFcCharSet{
  21036. Fref: TFcRef{
  21037. Fcount: -libc.Int32FromInt32(1),
  21038. },
  21039. Fnum: int32(1),
  21040. 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))),
  21041. 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))),
  21042. },
  21043. },
  21044. 180: {
  21045. Flang: [16]TFcChar8{'s', 'e'},
  21046. Fcharset: TFcCharSet{
  21047. Fref: TFcRef{
  21048. Fcount: -libc.Int32FromInt32(1),
  21049. },
  21050. Fnum: int32(2),
  21051. 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))),
  21052. 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))),
  21053. },
  21054. },
  21055. 181: {
  21056. Flang: [16]TFcChar8{'s', 'e', 'l'},
  21057. Fcharset: TFcCharSet{
  21058. Fref: TFcRef{
  21059. Fcount: -libc.Int32FromInt32(1),
  21060. },
  21061. Fnum: int32(1),
  21062. 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))),
  21063. 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))),
  21064. },
  21065. },
  21066. 182: {
  21067. Flang: [16]TFcChar8{'s', 'g'},
  21068. Fcharset: TFcCharSet{
  21069. Fref: TFcRef{
  21070. Fcount: -libc.Int32FromInt32(1),
  21071. },
  21072. Fnum: int32(1),
  21073. 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))),
  21074. 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))),
  21075. },
  21076. },
  21077. 183: {
  21078. Flang: [16]TFcChar8{'s', 'h'},
  21079. Fcharset: TFcCharSet{
  21080. Fref: TFcRef{
  21081. Fcount: -libc.Int32FromInt32(1),
  21082. },
  21083. Fnum: int32(3),
  21084. 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))),
  21085. 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))),
  21086. },
  21087. },
  21088. 184: {
  21089. Flang: [16]TFcChar8{'s', 'h', 's'},
  21090. Fcharset: TFcCharSet{
  21091. Fref: TFcRef{
  21092. Fcount: -libc.Int32FromInt32(1),
  21093. },
  21094. Fnum: int32(2),
  21095. 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))),
  21096. 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))),
  21097. },
  21098. },
  21099. 185: {
  21100. Flang: [16]TFcChar8{'s', 'i'},
  21101. Fcharset: TFcCharSet{
  21102. Fref: TFcRef{
  21103. Fcount: -libc.Int32FromInt32(1),
  21104. },
  21105. Fnum: int32(1),
  21106. 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))),
  21107. 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))),
  21108. },
  21109. },
  21110. 186: {
  21111. Flang: [16]TFcChar8{'s', 'i', 'd'},
  21112. Fcharset: TFcCharSet{
  21113. Fref: TFcRef{
  21114. Fcount: -libc.Int32FromInt32(1),
  21115. },
  21116. Fnum: int32(2),
  21117. 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))),
  21118. 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))),
  21119. },
  21120. },
  21121. 187: {
  21122. Flang: [16]TFcChar8{'s', 'k'},
  21123. Fcharset: TFcCharSet{
  21124. Fref: TFcRef{
  21125. Fcount: -libc.Int32FromInt32(1),
  21126. },
  21127. Fnum: int32(2),
  21128. 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))),
  21129. 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))),
  21130. },
  21131. },
  21132. 188: {
  21133. Flang: [16]TFcChar8{'s', 'l'},
  21134. Fcharset: TFcCharSet{
  21135. Fref: TFcRef{
  21136. Fcount: -libc.Int32FromInt32(1),
  21137. },
  21138. Fnum: int32(2),
  21139. 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))),
  21140. 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))),
  21141. },
  21142. },
  21143. 189: {
  21144. Flang: [16]TFcChar8{'s', 'm'},
  21145. Fcharset: TFcCharSet{
  21146. Fref: TFcRef{
  21147. Fcount: -libc.Int32FromInt32(1),
  21148. },
  21149. Fnum: int32(2),
  21150. 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))),
  21151. 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))),
  21152. },
  21153. },
  21154. 190: {
  21155. Flang: [16]TFcChar8{'s', 'm', 'a'},
  21156. Fcharset: TFcCharSet{
  21157. Fref: TFcRef{
  21158. Fcount: -libc.Int32FromInt32(1),
  21159. },
  21160. Fnum: int32(1),
  21161. 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))),
  21162. 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))),
  21163. },
  21164. },
  21165. 191: {
  21166. Flang: [16]TFcChar8{'s', 'm', 'j'},
  21167. Fcharset: TFcCharSet{
  21168. Fref: TFcRef{
  21169. Fcount: -libc.Int32FromInt32(1),
  21170. },
  21171. Fnum: int32(1),
  21172. 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))),
  21173. 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))),
  21174. },
  21175. },
  21176. 192: {
  21177. Flang: [16]TFcChar8{'s', 'm', 'n'},
  21178. Fcharset: TFcCharSet{
  21179. Fref: TFcRef{
  21180. Fcount: -libc.Int32FromInt32(1),
  21181. },
  21182. Fnum: int32(2),
  21183. 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))),
  21184. 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))),
  21185. },
  21186. },
  21187. 193: {
  21188. Flang: [16]TFcChar8{'s', 'm', 's'},
  21189. Fcharset: TFcCharSet{
  21190. Fref: TFcRef{
  21191. Fcount: -libc.Int32FromInt32(1),
  21192. },
  21193. Fnum: int32(3),
  21194. 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))),
  21195. 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))),
  21196. },
  21197. },
  21198. 194: {
  21199. Flang: [16]TFcChar8{'s', 'n'},
  21200. Fcharset: TFcCharSet{
  21201. Fref: TFcRef{
  21202. Fcount: -libc.Int32FromInt32(1),
  21203. },
  21204. Fnum: int32(1),
  21205. 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))),
  21206. 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))),
  21207. },
  21208. },
  21209. 195: {
  21210. Flang: [16]TFcChar8{'s', 'o'},
  21211. Fcharset: TFcCharSet{
  21212. Fref: TFcRef{
  21213. Fcount: -libc.Int32FromInt32(1),
  21214. },
  21215. Fnum: int32(1),
  21216. 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))),
  21217. 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))),
  21218. },
  21219. },
  21220. 196: {
  21221. Flang: [16]TFcChar8{'s', 'q'},
  21222. Fcharset: TFcCharSet{
  21223. Fref: TFcRef{
  21224. Fcount: -libc.Int32FromInt32(1),
  21225. },
  21226. Fnum: int32(1),
  21227. 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))),
  21228. 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))),
  21229. },
  21230. },
  21231. 197: {
  21232. Flang: [16]TFcChar8{'s', 'r'},
  21233. Fcharset: TFcCharSet{
  21234. Fref: TFcRef{
  21235. Fcount: -libc.Int32FromInt32(1),
  21236. },
  21237. Fnum: int32(1),
  21238. 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))),
  21239. 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))),
  21240. },
  21241. },
  21242. 198: {
  21243. Flang: [16]TFcChar8{'s', 's'},
  21244. Fcharset: TFcCharSet{
  21245. Fref: TFcRef{
  21246. Fcount: -libc.Int32FromInt32(1),
  21247. },
  21248. Fnum: int32(1),
  21249. 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))),
  21250. 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))),
  21251. },
  21252. },
  21253. 199: {
  21254. Flang: [16]TFcChar8{'s', 't'},
  21255. Fcharset: TFcCharSet{
  21256. Fref: TFcRef{
  21257. Fcount: -libc.Int32FromInt32(1),
  21258. },
  21259. Fnum: int32(1),
  21260. 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))),
  21261. 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))),
  21262. },
  21263. },
  21264. 200: {
  21265. Flang: [16]TFcChar8{'s', 'u'},
  21266. Fcharset: TFcCharSet{
  21267. Fref: TFcRef{
  21268. Fcount: -libc.Int32FromInt32(1),
  21269. },
  21270. Fnum: int32(1),
  21271. 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))),
  21272. 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))),
  21273. },
  21274. },
  21275. 201: {
  21276. Flang: [16]TFcChar8{'s', 'v'},
  21277. Fcharset: TFcCharSet{
  21278. Fref: TFcRef{
  21279. Fcount: -libc.Int32FromInt32(1),
  21280. },
  21281. Fnum: int32(1),
  21282. 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))),
  21283. 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))),
  21284. },
  21285. },
  21286. 202: {
  21287. Flang: [16]TFcChar8{'s', 'w'},
  21288. Fcharset: TFcCharSet{
  21289. Fref: TFcRef{
  21290. Fcount: -libc.Int32FromInt32(1),
  21291. },
  21292. Fnum: int32(1),
  21293. 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))),
  21294. 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))),
  21295. },
  21296. },
  21297. 203: {
  21298. Flang: [16]TFcChar8{'s', 'y', 'r'},
  21299. Fcharset: TFcCharSet{
  21300. Fref: TFcRef{
  21301. Fcount: -libc.Int32FromInt32(1),
  21302. },
  21303. Fnum: int32(1),
  21304. 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))),
  21305. 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))),
  21306. },
  21307. },
  21308. 204: {
  21309. Flang: [16]TFcChar8{'t', 'a'},
  21310. Fcharset: TFcCharSet{
  21311. Fref: TFcRef{
  21312. Fcount: -libc.Int32FromInt32(1),
  21313. },
  21314. Fnum: int32(1),
  21315. 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))),
  21316. 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))),
  21317. },
  21318. },
  21319. 205: {
  21320. Flang: [16]TFcChar8{'t', 'e'},
  21321. Fcharset: TFcCharSet{
  21322. Fref: TFcRef{
  21323. Fcount: -libc.Int32FromInt32(1),
  21324. },
  21325. Fnum: int32(1),
  21326. 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))),
  21327. 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))),
  21328. },
  21329. },
  21330. 206: {
  21331. Flang: [16]TFcChar8{'t', 'g'},
  21332. Fcharset: TFcCharSet{
  21333. Fref: TFcRef{
  21334. Fcount: -libc.Int32FromInt32(1),
  21335. },
  21336. Fnum: int32(1),
  21337. 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))),
  21338. 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))),
  21339. },
  21340. },
  21341. 207: {
  21342. Flang: [16]TFcChar8{'t', 'h'},
  21343. Fcharset: TFcCharSet{
  21344. Fref: TFcRef{
  21345. Fcount: -libc.Int32FromInt32(1),
  21346. },
  21347. Fnum: int32(1),
  21348. 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))),
  21349. 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))),
  21350. },
  21351. },
  21352. 208: {
  21353. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 'r'},
  21354. Fcharset: TFcCharSet{
  21355. Fref: TFcRef{
  21356. Fcount: -libc.Int32FromInt32(1),
  21357. },
  21358. Fnum: int32(2),
  21359. 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))),
  21360. 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))),
  21361. },
  21362. },
  21363. 209: {
  21364. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 't'},
  21365. Fcharset: TFcCharSet{
  21366. Fref: TFcRef{
  21367. Fcount: -libc.Int32FromInt32(1),
  21368. },
  21369. Fnum: int32(2),
  21370. 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))),
  21371. 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))),
  21372. },
  21373. },
  21374. 210: {
  21375. Flang: [16]TFcChar8{'t', 'i', 'g'},
  21376. Fcharset: TFcCharSet{
  21377. Fref: TFcRef{
  21378. Fcount: -libc.Int32FromInt32(1),
  21379. },
  21380. Fnum: int32(2),
  21381. 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))),
  21382. 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))),
  21383. },
  21384. },
  21385. 211: {
  21386. Flang: [16]TFcChar8{'t', 'k'},
  21387. Fcharset: TFcCharSet{
  21388. Fref: TFcRef{
  21389. Fcount: -libc.Int32FromInt32(1),
  21390. },
  21391. Fnum: int32(2),
  21392. 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))),
  21393. 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))),
  21394. },
  21395. },
  21396. 212: {
  21397. Flang: [16]TFcChar8{'t', 'l'},
  21398. Fcharset: TFcCharSet{
  21399. Fref: TFcRef{
  21400. Fcount: -libc.Int32FromInt32(1),
  21401. },
  21402. Fnum: int32(1),
  21403. 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))),
  21404. 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))),
  21405. },
  21406. },
  21407. 213: {
  21408. Flang: [16]TFcChar8{'t', 'n'},
  21409. Fcharset: TFcCharSet{
  21410. Fref: TFcRef{
  21411. Fcount: -libc.Int32FromInt32(1),
  21412. },
  21413. Fnum: int32(2),
  21414. 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))),
  21415. 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))),
  21416. },
  21417. },
  21418. 214: {
  21419. Flang: [16]TFcChar8{'t', 'o'},
  21420. Fcharset: TFcCharSet{
  21421. Fref: TFcRef{
  21422. Fcount: -libc.Int32FromInt32(1),
  21423. },
  21424. Fnum: int32(2),
  21425. 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))),
  21426. 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))),
  21427. },
  21428. },
  21429. 215: {
  21430. Flang: [16]TFcChar8{'t', 'r'},
  21431. Fcharset: TFcCharSet{
  21432. Fref: TFcRef{
  21433. Fcount: -libc.Int32FromInt32(1),
  21434. },
  21435. Fnum: int32(2),
  21436. 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))),
  21437. 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))),
  21438. },
  21439. },
  21440. 216: {
  21441. Flang: [16]TFcChar8{'t', 's'},
  21442. Fcharset: TFcCharSet{
  21443. Fref: TFcRef{
  21444. Fcount: -libc.Int32FromInt32(1),
  21445. },
  21446. Fnum: int32(1),
  21447. 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))),
  21448. 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))),
  21449. },
  21450. },
  21451. 217: {
  21452. Flang: [16]TFcChar8{'t', 't'},
  21453. Fcharset: TFcCharSet{
  21454. Fref: TFcRef{
  21455. Fcount: -libc.Int32FromInt32(1),
  21456. },
  21457. Fnum: int32(1),
  21458. 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))),
  21459. 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))),
  21460. },
  21461. },
  21462. 218: {
  21463. Flang: [16]TFcChar8{'t', 'w'},
  21464. Fcharset: TFcCharSet{
  21465. Fref: TFcRef{
  21466. Fcount: -libc.Int32FromInt32(1),
  21467. },
  21468. Fnum: int32(5),
  21469. 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))),
  21470. 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))),
  21471. },
  21472. },
  21473. 219: {
  21474. Flang: [16]TFcChar8{'t', 'y'},
  21475. Fcharset: TFcCharSet{
  21476. Fref: TFcRef{
  21477. Fcount: -libc.Int32FromInt32(1),
  21478. },
  21479. Fnum: int32(3),
  21480. 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))),
  21481. 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))),
  21482. },
  21483. },
  21484. 220: {
  21485. Flang: [16]TFcChar8{'t', 'y', 'v'},
  21486. Fcharset: TFcCharSet{
  21487. Fref: TFcRef{
  21488. Fcount: -libc.Int32FromInt32(1),
  21489. },
  21490. Fnum: int32(1),
  21491. 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))),
  21492. 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))),
  21493. },
  21494. },
  21495. 221: {
  21496. Flang: [16]TFcChar8{'u', 'g'},
  21497. Fcharset: TFcCharSet{
  21498. Fref: TFcRef{
  21499. Fcount: -libc.Int32FromInt32(1),
  21500. },
  21501. Fnum: int32(1),
  21502. 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))),
  21503. 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))),
  21504. },
  21505. },
  21506. 222: {
  21507. Flang: [16]TFcChar8{'u', 'k'},
  21508. Fcharset: TFcCharSet{
  21509. Fref: TFcRef{
  21510. Fcount: -libc.Int32FromInt32(1),
  21511. },
  21512. Fnum: int32(1),
  21513. 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))),
  21514. 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))),
  21515. },
  21516. },
  21517. 223: {
  21518. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 'm', 't', 'h'},
  21519. Fcharset: TFcCharSet{
  21520. Fref: TFcRef{
  21521. Fcount: -libc.Int32FromInt32(1),
  21522. },
  21523. Fnum: int32(12),
  21524. 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))),
  21525. 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))),
  21526. },
  21527. },
  21528. 224: {
  21529. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 's', 'y', 'e'},
  21530. Fcharset: TFcCharSet{
  21531. Fref: TFcRef{
  21532. Fcount: -libc.Int32FromInt32(1),
  21533. },
  21534. Fnum: int32(12),
  21535. 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))),
  21536. 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))),
  21537. },
  21538. },
  21539. 225: {
  21540. Flang: [16]TFcChar8{'u', 'r'},
  21541. Fcharset: TFcCharSet{
  21542. Fref: TFcRef{
  21543. Fcount: -libc.Int32FromInt32(1),
  21544. },
  21545. Fnum: int32(1),
  21546. 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))),
  21547. 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))),
  21548. },
  21549. },
  21550. 226: {
  21551. Flang: [16]TFcChar8{'u', 'z'},
  21552. Fcharset: TFcCharSet{
  21553. Fref: TFcRef{
  21554. Fcount: -libc.Int32FromInt32(1),
  21555. },
  21556. Fnum: int32(1),
  21557. 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))),
  21558. 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))),
  21559. },
  21560. },
  21561. 227: {
  21562. Flang: [16]TFcChar8{'v', 'e'},
  21563. Fcharset: TFcCharSet{
  21564. Fref: TFcRef{
  21565. Fcount: -libc.Int32FromInt32(1),
  21566. },
  21567. Fnum: int32(2),
  21568. 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))),
  21569. 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))),
  21570. },
  21571. },
  21572. 228: {
  21573. Flang: [16]TFcChar8{'v', 'i'},
  21574. Fcharset: TFcCharSet{
  21575. Fref: TFcRef{
  21576. Fcount: -libc.Int32FromInt32(1),
  21577. },
  21578. Fnum: int32(4),
  21579. 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))),
  21580. 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))),
  21581. },
  21582. },
  21583. 229: {
  21584. Flang: [16]TFcChar8{'v', 'o'},
  21585. Fcharset: TFcCharSet{
  21586. Fref: TFcRef{
  21587. Fcount: -libc.Int32FromInt32(1),
  21588. },
  21589. Fnum: int32(1),
  21590. 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))),
  21591. 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))),
  21592. },
  21593. },
  21594. 230: {
  21595. Flang: [16]TFcChar8{'v', 'o', 't'},
  21596. Fcharset: TFcCharSet{
  21597. Fref: TFcRef{
  21598. Fcount: -libc.Int32FromInt32(1),
  21599. },
  21600. Fnum: int32(2),
  21601. 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))),
  21602. 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))),
  21603. },
  21604. },
  21605. 231: {
  21606. Flang: [16]TFcChar8{'w', 'a'},
  21607. Fcharset: TFcCharSet{
  21608. Fref: TFcRef{
  21609. Fcount: -libc.Int32FromInt32(1),
  21610. },
  21611. Fnum: int32(1),
  21612. 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))),
  21613. 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))),
  21614. },
  21615. },
  21616. 232: {
  21617. Flang: [16]TFcChar8{'w', 'a', 'l'},
  21618. Fcharset: TFcCharSet{
  21619. Fref: TFcRef{
  21620. Fcount: -libc.Int32FromInt32(1),
  21621. },
  21622. Fnum: int32(2),
  21623. 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))),
  21624. 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))),
  21625. },
  21626. },
  21627. 233: {
  21628. Flang: [16]TFcChar8{'w', 'e', 'n'},
  21629. Fcharset: TFcCharSet{
  21630. Fref: TFcRef{
  21631. Fcount: -libc.Int32FromInt32(1),
  21632. },
  21633. Fnum: int32(2),
  21634. 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))),
  21635. 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))),
  21636. },
  21637. },
  21638. 234: {
  21639. Flang: [16]TFcChar8{'w', 'o'},
  21640. Fcharset: TFcCharSet{
  21641. Fref: TFcRef{
  21642. Fcount: -libc.Int32FromInt32(1),
  21643. },
  21644. Fnum: int32(2),
  21645. 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))),
  21646. 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))),
  21647. },
  21648. },
  21649. 235: {
  21650. Flang: [16]TFcChar8{'x', 'h'},
  21651. Fcharset: TFcCharSet{
  21652. Fref: TFcRef{
  21653. Fcount: -libc.Int32FromInt32(1),
  21654. },
  21655. Fnum: int32(1),
  21656. 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))),
  21657. 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))),
  21658. },
  21659. },
  21660. 236: {
  21661. Flang: [16]TFcChar8{'y', 'a', 'p'},
  21662. Fcharset: TFcCharSet{
  21663. Fref: TFcRef{
  21664. Fcount: -libc.Int32FromInt32(1),
  21665. },
  21666. Fnum: int32(1),
  21667. 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))),
  21668. 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))),
  21669. },
  21670. },
  21671. 237: {
  21672. Flang: [16]TFcChar8{'y', 'i'},
  21673. Fcharset: TFcCharSet{
  21674. Fref: TFcRef{
  21675. Fcount: -libc.Int32FromInt32(1),
  21676. },
  21677. Fnum: int32(1),
  21678. 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))),
  21679. 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))),
  21680. },
  21681. },
  21682. 238: {
  21683. Flang: [16]TFcChar8{'y', 'o'},
  21684. Fcharset: TFcCharSet{
  21685. Fref: TFcRef{
  21686. Fcount: -libc.Int32FromInt32(1),
  21687. },
  21688. Fnum: int32(4),
  21689. 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))),
  21690. 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))),
  21691. },
  21692. },
  21693. 239: {
  21694. Flang: [16]TFcChar8{'z', 'a'},
  21695. Fcharset: TFcCharSet{
  21696. Fref: TFcRef{
  21697. Fcount: -libc.Int32FromInt32(1),
  21698. },
  21699. Fnum: int32(1),
  21700. 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))),
  21701. 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))),
  21702. },
  21703. },
  21704. 240: {
  21705. Flang: [16]TFcChar8{'z', 'h', '-', 'c', 'n'},
  21706. Fcharset: TFcCharSet{
  21707. Fref: TFcRef{
  21708. Fcount: -libc.Int32FromInt32(1),
  21709. },
  21710. Fnum: int32(82),
  21711. 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))),
  21712. 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))),
  21713. },
  21714. },
  21715. 241: {
  21716. Flang: [16]TFcChar8{'z', 'h', '-', 'h', 'k'},
  21717. Fcharset: TFcCharSet{
  21718. Fref: TFcRef{
  21719. Fcount: -libc.Int32FromInt32(1),
  21720. },
  21721. Fnum: int32(171),
  21722. 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))),
  21723. 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))),
  21724. },
  21725. },
  21726. 242: {
  21727. Flang: [16]TFcChar8{'z', 'h', '-', 'm', 'o'},
  21728. Fcharset: TFcCharSet{
  21729. Fref: TFcRef{
  21730. Fcount: -libc.Int32FromInt32(1),
  21731. },
  21732. Fnum: int32(171),
  21733. 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))),
  21734. 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))),
  21735. },
  21736. },
  21737. 243: {
  21738. Flang: [16]TFcChar8{'z', 'h', '-', 's', 'g'},
  21739. Fcharset: TFcCharSet{
  21740. Fref: TFcRef{
  21741. Fcount: -libc.Int32FromInt32(1),
  21742. },
  21743. Fnum: int32(82),
  21744. 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))),
  21745. 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))),
  21746. },
  21747. },
  21748. 244: {
  21749. Flang: [16]TFcChar8{'z', 'h', '-', 't', 'w'},
  21750. Fcharset: TFcCharSet{
  21751. Fref: TFcRef{
  21752. Fcount: -libc.Int32FromInt32(1),
  21753. },
  21754. Fnum: int32(83),
  21755. 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))),
  21756. 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))),
  21757. },
  21758. },
  21759. 245: {
  21760. Flang: [16]TFcChar8{'z', 'u'},
  21761. Fcharset: TFcCharSet{
  21762. Fref: TFcRef{
  21763. Fcount: -libc.Int32FromInt32(1),
  21764. },
  21765. Fnum: int32(1),
  21766. 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))),
  21767. 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))),
  21768. },
  21769. },
  21770. },
  21771. Fleaves: [725]TFcCharLeaf{
  21772. 0: {
  21773. Fmap1: [8]TFcChar32{
  21774. 2: uint32(0x07fffffe),
  21775. 3: uint32(0x07fffffe),
  21776. 6: uint32(0x08104404),
  21777. 7: uint32(0x08104404),
  21778. },
  21779. },
  21780. 1: {
  21781. Fmap1: [8]TFcChar32{
  21782. 0: uint32(0xffff8002),
  21783. 1: uint32(0xffffffff),
  21784. 2: uint32(0x8002ffff),
  21785. 4: uint32(0xc0000000),
  21786. 5: uint32(0xf0fc33c0),
  21787. 6: uint32(0x03000000),
  21788. 7: uint32(0x00000003),
  21789. },
  21790. },
  21791. 2: {
  21792. Fmap1: [8]TFcChar32{
  21793. 2: uint32(0x07fffffe),
  21794. 3: uint32(0x07fffffe),
  21795. 6: uint32(0x0810cf00),
  21796. 7: uint32(0x0810cf00),
  21797. },
  21798. },
  21799. 3: {
  21800. Fmap1: [8]TFcChar32{
  21801. 2: uint32(0x00000200),
  21802. },
  21803. },
  21804. 4: {
  21805. Fmap1: [8]TFcChar32{
  21806. 2: uint32(0x07fffffe),
  21807. 3: uint32(0x07fffffe),
  21808. 6: uint32(0x00220008),
  21809. 7: uint32(0x00220008),
  21810. },
  21811. },
  21812. 5: {
  21813. Fmap1: [8]TFcChar32{
  21814. 1: uint32(0x00000300),
  21815. 3: uint32(0x00000300),
  21816. 4: uint32(0x00010040),
  21817. },
  21818. },
  21819. 6: {
  21820. Fmap1: [8]TFcChar32{
  21821. 2: uint32(0x08100000),
  21822. },
  21823. },
  21824. 7: {
  21825. Fmap1: [8]TFcChar32{
  21826. 0: uint32(0x00000048),
  21827. 1: uint32(0x00000200),
  21828. },
  21829. },
  21830. 8: {
  21831. Fmap1: [8]TFcChar32{
  21832. 5: uint32(0x30000000),
  21833. 7: uint32(0x03000000),
  21834. },
  21835. },
  21836. 9: {
  21837. Fmap1: [8]TFcChar32{
  21838. 0: uint32(0xff7fff7f),
  21839. 1: uint32(0xff01ff7f),
  21840. 2: uint32(0x00003d7f),
  21841. 3: uint32(0xffff7fff),
  21842. 4: uint32(0xffff3d7f),
  21843. 5: uint32(0x003d7fff),
  21844. 6: uint32(0xff7f7f00),
  21845. 7: uint32(0x00ff7fff),
  21846. },
  21847. },
  21848. 10: {
  21849. Fmap1: [8]TFcChar32{
  21850. 0: uint32(0x003d7fff),
  21851. 1: uint32(0xffffffff),
  21852. 2: uint32(0x007fff7f),
  21853. },
  21854. },
  21855. 11: {
  21856. Fmap1: [8]TFcChar32{
  21857. 2: uint32(0x07fffffe),
  21858. 3: uint32(0x07fffffe),
  21859. 6: uint32(0x140a2202),
  21860. 7: uint32(0x140a2202),
  21861. },
  21862. },
  21863. 12: {
  21864. Fmap1: [8]TFcChar32{
  21865. 1: uint32(0x07fffffe),
  21866. 2: uint32(0x000007fe),
  21867. },
  21868. },
  21869. 13: {
  21870. Fmap1: [8]TFcChar32{
  21871. 4: uint32(0xfff99fee),
  21872. 5: uint32(0xd3c4fdff),
  21873. 6: uint32(0xb000399f),
  21874. 7: uint32(0x00030000),
  21875. },
  21876. },
  21877. 14: {
  21878. Fmap1: [8]TFcChar32{
  21879. 1: uint32(0x00c00030),
  21880. },
  21881. },
  21882. 15: {
  21883. Fmap1: [8]TFcChar32{
  21884. 0: uint32(0xffff0042),
  21885. 1: uint32(0xffffffff),
  21886. 2: uint32(0x0002ffff),
  21887. },
  21888. },
  21889. 16: {
  21890. Fmap1: [8]TFcChar32{
  21891. 2: uint32(0x07fffffe),
  21892. 3: uint32(0x07fffffe),
  21893. 6: uint32(0x10028010),
  21894. 7: uint32(0x10028010),
  21895. },
  21896. },
  21897. 17: {
  21898. Fmap1: [8]TFcChar32{
  21899. 2: uint32(0x07fffffe),
  21900. 3: uint32(0x07fffffe),
  21901. 6: uint32(0x10400080),
  21902. 7: uint32(0x10400080),
  21903. },
  21904. },
  21905. 18: {
  21906. Fmap1: [8]TFcChar32{
  21907. 0: uint32(0xc0000000),
  21908. 1: uint32(0x00030000),
  21909. 2: uint32(0xc0000000),
  21910. 4: uint32(0x00008000),
  21911. },
  21912. },
  21913. 19: {
  21914. Fmap1: [8]TFcChar32{
  21915. 2: uint32(0x02000000),
  21916. },
  21917. },
  21918. 20: {
  21919. Fmap1: [8]TFcChar32{
  21920. 1: uint32(0x07ffffde),
  21921. 2: uint32(0x001009f6),
  21922. 3: uint32(0x40000000),
  21923. 4: uint32(0x01000040),
  21924. 5: uint32(0x00008200),
  21925. 6: uint32(0x00001000),
  21926. },
  21927. },
  21928. 21: {
  21929. Fmap1: [8]TFcChar32{
  21930. 0: uint32(0xffff0000),
  21931. 1: uint32(0xffffffff),
  21932. 2: uint32(0x0000ffff),
  21933. 4: uint32(0x030c0000),
  21934. 5: uint32(0x0c00cc0f),
  21935. 6: uint32(0x03000000),
  21936. 7: uint32(0x00000300),
  21937. },
  21938. },
  21939. 22: {
  21940. Fmap1: [8]TFcChar32{
  21941. 0: uint32(0xffff4040),
  21942. 1: uint32(0xffffffff),
  21943. 2: uint32(0x4040ffff),
  21944. },
  21945. },
  21946. 23: {
  21947. Fmap1: [8]TFcChar32{
  21948. 2: uint32(0x07fffffe),
  21949. 3: uint32(0x07fffffe),
  21950. },
  21951. },
  21952. 24: {
  21953. Fmap1: [8]TFcChar32{
  21954. 0: uint32(0x00003000),
  21955. 4: uint32(0x00110000),
  21956. 7: uint32(0x000000c0),
  21957. },
  21958. },
  21959. 25: {
  21960. Fmap1: [8]TFcChar32{
  21961. 2: uint32(0x08000000),
  21962. 3: uint32(0x00000008),
  21963. },
  21964. },
  21965. 26: {
  21966. Fmap1: [8]TFcChar32{
  21967. 0: uint32(0x00003000),
  21968. 1: uint32(0x00000030),
  21969. 3: uint32(0x0000300c),
  21970. 4: uint32(0x000c0000),
  21971. },
  21972. },
  21973. 27: {
  21974. Fmap1: [8]TFcChar32{
  21975. 1: uint32(0x3a8b0000),
  21976. 2: uint32(0x9e78e6b9),
  21977. 3: uint32(0x0000802e),
  21978. },
  21979. },
  21980. 28: {
  21981. Fmap1: [8]TFcChar32{
  21982. 0: uint32(0xffff0000),
  21983. 1: uint32(0xffffd7ff),
  21984. 2: uint32(0x0000d7ff),
  21985. },
  21986. },
  21987. 29: {
  21988. Fmap1: [8]TFcChar32{
  21989. 0: uint32(0xffffffe0),
  21990. 1: uint32(0x83ffffff),
  21991. 2: uint32(0x00003fff),
  21992. },
  21993. },
  21994. 30: {
  21995. Fmap1: [8]TFcChar32{
  21996. 2: uint32(0x07fffffe),
  21997. 3: uint32(0x07fffffe),
  21998. 6: uint32(0x10008200),
  21999. 7: uint32(0x10008200),
  22000. },
  22001. },
  22002. 31: {
  22003. Fmap1: [8]TFcChar32{
  22004. 2: uint32(0x07fffffe),
  22005. 3: uint32(0x07fffffe),
  22006. 6: uint32(0x060c3303),
  22007. 7: uint32(0x060c3303),
  22008. },
  22009. },
  22010. 32: {
  22011. Fmap1: [8]TFcChar32{
  22012. 0: uint32(0x00000003),
  22013. },
  22014. },
  22015. 33: {
  22016. Fmap1: [8]TFcChar32{
  22017. 5: uint32(0x03000000),
  22018. 6: uint32(0x00003000),
  22019. },
  22020. },
  22021. 34: {
  22022. Fmap1: [8]TFcChar32{
  22023. 2: uint32(0x00000c00),
  22024. 4: uint32(0x20010040),
  22025. },
  22026. },
  22027. 35: {
  22028. Fmap1: [8]TFcChar32{
  22029. 2: uint32(0x08100000),
  22030. 3: uint32(0x00040000),
  22031. },
  22032. },
  22033. 36: {
  22034. Fmap1: [8]TFcChar32{
  22035. 4: uint32(0xfff99fee),
  22036. 5: uint32(0xd3c5fdff),
  22037. 6: uint32(0xb000399f),
  22038. },
  22039. },
  22040. 37: {
  22041. Fmap1: [8]TFcChar32{
  22042. 2: uint32(0xfffffeff),
  22043. 3: uint32(0x3d7e03ff),
  22044. 4: uint32(0xfeff0003),
  22045. 5: uint32(0x03ffffff),
  22046. },
  22047. },
  22048. 38: {
  22049. Fmap1: [8]TFcChar32{
  22050. 2: uint32(0x07fffffe),
  22051. 3: uint32(0x07fffffe),
  22052. 6: uint32(0x12120404),
  22053. 7: uint32(0x12120404),
  22054. },
  22055. },
  22056. 39: {
  22057. Fmap1: [8]TFcChar32{
  22058. 0: uint32(0xfff99fee),
  22059. 1: uint32(0xf3e5fdff),
  22060. 2: uint32(0x0007399f),
  22061. 3: uint32(0x0001ffff),
  22062. },
  22063. },
  22064. 40: {
  22065. Fmap1: [8]TFcChar32{
  22066. 0: uint32(0x000330c0),
  22067. 3: uint32(0x60000003),
  22068. },
  22069. },
  22070. 41: {
  22071. Fmap1: [8]TFcChar32{
  22072. 0: uint32(0xffff0002),
  22073. 1: uint32(0xffffffff),
  22074. 2: uint32(0x0002ffff),
  22075. 5: uint32(0x0c00c000),
  22076. },
  22077. },
  22078. 42: {
  22079. Fmap1: [8]TFcChar32{
  22080. 0: uint32(0xff7fff7f),
  22081. 1: uint32(0xff01ff00),
  22082. 2: uint32(0x3d7f3d7f),
  22083. 3: uint32(0xffff7fff),
  22084. 4: uint32(0xffff0000),
  22085. 5: uint32(0x003d7fff),
  22086. 6: uint32(0xff7f7f3d),
  22087. 7: uint32(0x00ff7fff),
  22088. },
  22089. },
  22090. 43: {
  22091. Fmap1: [8]TFcChar32{
  22092. 0: uint32(0x003d7fff),
  22093. 1: uint32(0xffffffff),
  22094. 2: uint32(0x007fff00),
  22095. },
  22096. },
  22097. 44: {
  22098. Fmap1: [8]TFcChar32{
  22099. 2: uint32(0x07fffffe),
  22100. 3: uint32(0x07fffffe),
  22101. 6: uint32(0x140ca381),
  22102. 7: uint32(0x140ca381),
  22103. },
  22104. },
  22105. 45: {
  22106. Fmap1: [8]TFcChar32{
  22107. 1: uint32(0x80000000),
  22108. 2: uint32(0x00000001),
  22109. },
  22110. },
  22111. 46: {
  22112. Fmap1: [8]TFcChar32{
  22113. 2: uint32(0x07fffffe),
  22114. 3: uint32(0x07fffffe),
  22115. 6: uint32(0x10020004),
  22116. 7: uint32(0x10020004),
  22117. },
  22118. },
  22119. 47: {
  22120. Fmap1: [8]TFcChar32{
  22121. 0: uint32(0xffff0002),
  22122. 1: uint32(0xffffffff),
  22123. 2: uint32(0x0002ffff),
  22124. 5: uint32(0x00000030),
  22125. 6: uint32(0x000c0000),
  22126. 7: uint32(0x030300c0),
  22127. },
  22128. },
  22129. 48: {
  22130. Fmap1: [8]TFcChar32{
  22131. 5: uint32(0xffffffff),
  22132. 6: uint32(0xffffffff),
  22133. 7: uint32(0x001fffff),
  22134. },
  22135. },
  22136. 49: {
  22137. Fmap1: [8]TFcChar32{
  22138. 2: uint32(0x07fffffe),
  22139. 3: uint32(0x07fffffe),
  22140. 6: uint32(0x1a10cfc5),
  22141. 7: uint32(0x9a10cfc5),
  22142. },
  22143. },
  22144. 50: {
  22145. Fmap1: [8]TFcChar32{
  22146. 2: uint32(0x000c0000),
  22147. 3: uint32(0x01000000),
  22148. },
  22149. },
  22150. 51: {
  22151. Fmap1: [8]TFcChar32{
  22152. 2: uint32(0x07fffffe),
  22153. 3: uint32(0x07fffffe),
  22154. 6: uint32(0x10420084),
  22155. 7: uint32(0x10420084),
  22156. },
  22157. },
  22158. 52: {
  22159. Fmap1: [8]TFcChar32{
  22160. 0: uint32(0xc0000000),
  22161. 1: uint32(0x00030000),
  22162. 2: uint32(0xc0000000),
  22163. },
  22164. },
  22165. 53: {
  22166. Fmap1: [8]TFcChar32{
  22167. 2: uint32(0x07fffffe),
  22168. 3: uint32(0x07fffffe),
  22169. 6: uint32(0x24082202),
  22170. 7: uint32(0x24082202),
  22171. },
  22172. },
  22173. 54: {
  22174. Fmap1: [8]TFcChar32{
  22175. 0: uint32(0x0c00f000),
  22176. 2: uint32(0x03000180),
  22177. 3: uint32(0x6000c033),
  22178. },
  22179. },
  22180. 55: {
  22181. Fmap1: [8]TFcChar32{
  22182. 2: uint32(0x07fffffe),
  22183. 3: uint32(0x07fffffe),
  22184. 6: uint32(0x021c0a08),
  22185. 7: uint32(0x021c0a08),
  22186. },
  22187. },
  22188. 56: {
  22189. Fmap1: [8]TFcChar32{
  22190. 0: uint32(0x00000030),
  22191. 2: uint32(0x0000001e),
  22192. 3: uint32(0x18000000),
  22193. },
  22194. },
  22195. 57: {
  22196. Fmap1: [8]TFcChar32{
  22197. 0: uint32(0xfdffa966),
  22198. 1: uint32(0xffffdfff),
  22199. 2: uint32(0xa965dfff),
  22200. 3: uint32(0x03ffffff),
  22201. },
  22202. },
  22203. 58: {
  22204. Fmap1: [8]TFcChar32{
  22205. 0: uint32(0x0000000c),
  22206. },
  22207. },
  22208. 59: {
  22209. Fmap1: [8]TFcChar32{
  22210. 0: uint32(0xffff0002),
  22211. 1: uint32(0xffffffff),
  22212. 2: uint32(0x0002ffff),
  22213. 5: uint32(0x00000c00),
  22214. 6: uint32(0x00c00000),
  22215. 7: uint32(0x000c0000),
  22216. },
  22217. },
  22218. 60: {
  22219. Fmap1: [8]TFcChar32{
  22220. 2: uint32(0x07fffffe),
  22221. 3: uint32(0x07fffffe),
  22222. 6: uint32(0x0010c604),
  22223. 7: uint32(0x8010c604),
  22224. },
  22225. },
  22226. 61: {
  22227. Fmap1: [8]TFcChar32{
  22228. 3: uint32(0x01f00000),
  22229. },
  22230. },
  22231. 62: {
  22232. Fmap1: [8]TFcChar32{
  22233. 4: uint32(0x0000003f),
  22234. 7: uint32(0x000c0000),
  22235. },
  22236. },
  22237. 63: {
  22238. Fmap1: [8]TFcChar32{
  22239. 2: uint32(0x07fffffe),
  22240. 3: uint32(0x07fffffe),
  22241. 6: uint32(0x25082262),
  22242. 7: uint32(0x25082262),
  22243. },
  22244. },
  22245. 64: {
  22246. Fmap1: [8]TFcChar32{
  22247. 2: uint32(0x07fffffe),
  22248. 3: uint32(0x07fffffe),
  22249. 6: uint32(0x90400010),
  22250. 7: uint32(0x10400010),
  22251. },
  22252. },
  22253. 65: {
  22254. Fmap1: [8]TFcChar32{
  22255. 0: uint32(0xfff99fec),
  22256. 1: uint32(0xf3e5fdff),
  22257. 2: uint32(0xf807399f),
  22258. 3: uint32(0x0000ffff),
  22259. },
  22260. },
  22261. 66: {
  22262. Fmap1: [8]TFcChar32{
  22263. 4: uint32(0xffffffff),
  22264. 5: uint32(0x0001ffff),
  22265. },
  22266. },
  22267. 67: {
  22268. Fmap1: [8]TFcChar32{
  22269. 0: uint32(0x0c000000),
  22270. 2: uint32(0x00000c00),
  22271. 4: uint32(0x00170240),
  22272. 5: uint32(0x00040000),
  22273. 6: uint32(0x001fe000),
  22274. },
  22275. },
  22276. 68: {
  22277. Fmap1: [8]TFcChar32{
  22278. 2: uint32(0x08500000),
  22279. 3: uint32(0x00000008),
  22280. 4: uint32(0x00000800),
  22281. },
  22282. },
  22283. 69: {
  22284. Fmap1: [8]TFcChar32{
  22285. 0: uint32(0x00001003),
  22286. },
  22287. },
  22288. 70: {
  22289. Fmap1: [8]TFcChar32{
  22290. 4: uint32(0xffffd740),
  22291. 5: uint32(0xfffffffb),
  22292. 6: uint32(0x00007fff),
  22293. },
  22294. },
  22295. 71: {
  22296. Fmap1: [8]TFcChar32{
  22297. 2: uint32(0x07fffffe),
  22298. 3: uint32(0x07fffffe),
  22299. 6: uint32(0x00528f81),
  22300. 7: uint32(0x00528f81),
  22301. },
  22302. },
  22303. 72: {
  22304. Fmap1: [8]TFcChar32{
  22305. 0: uint32(0x30000300),
  22306. 1: uint32(0x00300030),
  22307. 2: uint32(0x30000000),
  22308. 3: uint32(0x00003000),
  22309. },
  22310. },
  22311. 73: {
  22312. Fmap1: [8]TFcChar32{
  22313. 2: uint32(0x07fffffe),
  22314. 3: uint32(0x07fffffe),
  22315. 6: uint32(0x10600010),
  22316. 7: uint32(0x10600010),
  22317. },
  22318. },
  22319. 74: {
  22320. Fmap1: [8]TFcChar32{
  22321. 3: uint32(0x60000003),
  22322. },
  22323. },
  22324. 75: {
  22325. Fmap1: [8]TFcChar32{
  22326. 2: uint32(0x07fffffe),
  22327. 3: uint32(0x07fffffe),
  22328. 6: uint32(0x10020000),
  22329. 7: uint32(0x10020000),
  22330. },
  22331. },
  22332. 76: {
  22333. Fmap1: [8]TFcChar32{
  22334. 2: uint32(0x00000c00),
  22335. 4: uint32(0x20000402),
  22336. 5: uint32(0x00180000),
  22337. },
  22338. },
  22339. 77: {
  22340. Fmap1: [8]TFcChar32{
  22341. 2: uint32(0x00880000),
  22342. 3: uint32(0x00040000),
  22343. },
  22344. },
  22345. 78: {
  22346. Fmap1: [8]TFcChar32{
  22347. 2: uint32(0x07fffffe),
  22348. 3: uint32(0x07fffffe),
  22349. 6: uint32(0x00400030),
  22350. 7: uint32(0x00400030),
  22351. },
  22352. },
  22353. 79: {
  22354. Fmap1: [8]TFcChar32{
  22355. 2: uint32(0x07fffffe),
  22356. 3: uint32(0x07fffffe),
  22357. 6: uint32(0x0e1e7707),
  22358. 7: uint32(0x0e1e7707),
  22359. },
  22360. },
  22361. 80: {
  22362. Fmap1: [8]TFcChar32{
  22363. 2: uint32(0x07fffffe),
  22364. 3: uint32(0x07fffffe),
  22365. 6: uint32(0x25092042),
  22366. 7: uint32(0x25092042),
  22367. },
  22368. },
  22369. 81: {
  22370. Fmap1: [8]TFcChar32{
  22371. 2: uint32(0x07fffffe),
  22372. 3: uint32(0x07fffffe),
  22373. 6: uint32(0x02041107),
  22374. 7: uint32(0x02041107),
  22375. },
  22376. },
  22377. 82: {
  22378. Fmap1: [8]TFcChar32{
  22379. 2: uint32(0x07fffffe),
  22380. 3: uint32(0x07fffffe),
  22381. 6: uint32(0x9c508e14),
  22382. 7: uint32(0x1c508e14),
  22383. },
  22384. },
  22385. 83: {
  22386. Fmap1: [8]TFcChar32{
  22387. 2: uint32(0x07fffffe),
  22388. 3: uint32(0x07fffffe),
  22389. 6: uint32(0x04082202),
  22390. 7: uint32(0x04082202),
  22391. },
  22392. },
  22393. 84: {
  22394. Fmap1: [8]TFcChar32{
  22395. 0: uint32(0x00000c00),
  22396. 1: uint32(0x00000003),
  22397. },
  22398. },
  22399. 85: {
  22400. Fmap1: [8]TFcChar32{
  22401. 0: uint32(0xc0000c0c),
  22402. 2: uint32(0x00c00003),
  22403. 3: uint32(0x00000c03),
  22404. },
  22405. },
  22406. 86: {
  22407. Fmap1: [8]TFcChar32{
  22408. 2: uint32(0x07fffffe),
  22409. 3: uint32(0x07fffffe),
  22410. 6: uint32(0x020c1383),
  22411. 7: uint32(0x020c1383),
  22412. },
  22413. },
  22414. 87: {
  22415. Fmap1: [8]TFcChar32{
  22416. 0: uint32(0xff7fff7f),
  22417. 1: uint32(0xff01ff7f),
  22418. 2: uint32(0x00003d7f),
  22419. 3: uint32(0x00ff00ff),
  22420. 4: uint32(0x00ff3d7f),
  22421. 5: uint32(0x003d7fff),
  22422. 6: uint32(0xff7f7f00),
  22423. 7: uint32(0x00ff7f00),
  22424. },
  22425. },
  22426. 88: {
  22427. Fmap1: [8]TFcChar32{
  22428. 0: uint32(0x003d7f00),
  22429. 1: uint32(0xffff01ff),
  22430. 2: uint32(0x007fff7f),
  22431. },
  22432. },
  22433. 89: {
  22434. Fmap1: [8]TFcChar32{
  22435. 2: uint32(0x07fffffe),
  22436. 3: uint32(0x07fffffe),
  22437. 6: uint32(0x040a2202),
  22438. 7: uint32(0x042a220a),
  22439. },
  22440. },
  22441. 90: {
  22442. Fmap1: [8]TFcChar32{
  22443. 1: uint32(0x00000200),
  22444. 3: uint32(0x00000200),
  22445. },
  22446. },
  22447. 91: {
  22448. Fmap1: [8]TFcChar32{
  22449. 5: uint32(0x20000000),
  22450. 7: uint32(0x02000000),
  22451. },
  22452. },
  22453. 92: {
  22454. Fmap1: [8]TFcChar32{
  22455. 4: uint32(0xfffbafee),
  22456. 5: uint32(0xf3edfdff),
  22457. 6: uint32(0x00013bbf),
  22458. 7: uint32(0x00000001),
  22459. },
  22460. },
  22461. 93: {
  22462. Fmap1: [8]TFcChar32{
  22463. 2: uint32(0x07fffffe),
  22464. 3: uint32(0x07fffffe),
  22465. 6: uint32(0x00000080),
  22466. 7: uint32(0x00000080),
  22467. },
  22468. },
  22469. 94: {
  22470. Fmap1: [8]TFcChar32{
  22471. 4: uint32(0x03000402),
  22472. 5: uint32(0x00180000),
  22473. },
  22474. },
  22475. 95: {
  22476. Fmap1: [8]TFcChar32{
  22477. 2: uint32(0x00880000),
  22478. },
  22479. },
  22480. 96: {
  22481. Fmap1: [8]TFcChar32{
  22482. 0: uint32(0x000c0003),
  22483. 1: uint32(0x00000c00),
  22484. 2: uint32(0x00003000),
  22485. 3: uint32(0x00000c00),
  22486. },
  22487. },
  22488. 97: {
  22489. Fmap1: [8]TFcChar32{
  22490. 5: uint32(0x08000000),
  22491. },
  22492. },
  22493. 98: {
  22494. Fmap1: [8]TFcChar32{
  22495. 6: uint32(0xffff0000),
  22496. 7: uint32(0x000007ff),
  22497. },
  22498. },
  22499. 99: {
  22500. Fmap1: [8]TFcChar32{
  22501. 2: uint32(0x07fffffe),
  22502. 3: uint32(0x07fffffe),
  22503. 6: uint32(0x00080000),
  22504. 7: uint32(0x00080000),
  22505. },
  22506. },
  22507. 100: {
  22508. Fmap1: [8]TFcChar32{
  22509. 0: uint32(0x0c0030c0),
  22510. 2: uint32(0x0300001e),
  22511. 3: uint32(0x66000003),
  22512. },
  22513. },
  22514. 101: {
  22515. Fmap1: [8]TFcChar32{
  22516. 2: uint32(0x07fffffe),
  22517. 3: uint32(0x07fffffe),
  22518. 6: uint32(0x00040100),
  22519. 7: uint32(0x00040100),
  22520. },
  22521. },
  22522. 102: {
  22523. Fmap1: [8]TFcChar32{
  22524. 2: uint32(0x07fffffe),
  22525. 3: uint32(0x07fffffe),
  22526. 6: uint32(0x14482202),
  22527. 7: uint32(0x14482202),
  22528. },
  22529. },
  22530. 103: {
  22531. Fmap1: [8]TFcChar32{
  22532. 2: uint32(0x00030000),
  22533. 3: uint32(0x00030000),
  22534. },
  22535. },
  22536. 104: {
  22537. Fmap1: [8]TFcChar32{
  22538. 1: uint32(0xfffe0000),
  22539. 2: uint32(0x007fffff),
  22540. 3: uint32(0xfffffffe),
  22541. 4: uint32(0x000000ff),
  22542. },
  22543. },
  22544. 105: {
  22545. Fmap1: [8]TFcChar32{
  22546. 1: uint32(0x00008000),
  22547. },
  22548. },
  22549. 106: {
  22550. Fmap1: [8]TFcChar32{
  22551. 0: uint32(0x000c0000),
  22552. 2: uint32(0x00000c00),
  22553. },
  22554. },
  22555. 107: {
  22556. Fmap1: [8]TFcChar32{
  22557. 2: uint32(0x07fffffe),
  22558. 3: uint32(0x07fffffe),
  22559. 6: uint32(0x00000200),
  22560. 7: uint32(0x00000200),
  22561. },
  22562. },
  22563. 108: {
  22564. Fmap1: [8]TFcChar32{
  22565. 6: uint32(0x00003c00),
  22566. 7: uint32(0x00000030),
  22567. },
  22568. },
  22569. 109: {
  22570. Fmap1: [8]TFcChar32{
  22571. 0: uint32(0xffffffff),
  22572. 1: uint32(0xffffffff),
  22573. 2: uint32(0xffffffff),
  22574. 3: uint32(0xffffffff),
  22575. 4: uint32(0xffffffff),
  22576. 5: uint32(0xffffffff),
  22577. 6: uint32(0xffffffff),
  22578. 7: uint32(0xffffffff),
  22579. },
  22580. },
  22581. 110: {
  22582. Fmap1: [8]TFcChar32{
  22583. 0: uint32(0xffffffff),
  22584. 1: uint32(0xffffffff),
  22585. 2: uint32(0xffffffff),
  22586. 3: uint32(0xffffffff),
  22587. 4: uint32(0x00001fff),
  22588. },
  22589. },
  22590. 111: {
  22591. Fmap1: [8]TFcChar32{
  22592. 0: uint32(0xffff4002),
  22593. 1: uint32(0xffffffff),
  22594. 2: uint32(0x4002ffff),
  22595. },
  22596. },
  22597. 112: {
  22598. Fmap1: [8]TFcChar32{
  22599. 2: uint32(0x07fffffe),
  22600. 3: uint32(0x07fffffe),
  22601. 6: uint32(0x64092242),
  22602. 7: uint32(0x64092242),
  22603. },
  22604. },
  22605. 113: {
  22606. Fmap1: [8]TFcChar32{
  22607. 2: uint32(0x07fffffe),
  22608. 3: uint32(0x07fffffe),
  22609. 6: uint32(0x060cb301),
  22610. 7: uint32(0x060cb301),
  22611. },
  22612. },
  22613. 114: {
  22614. Fmap1: [8]TFcChar32{
  22615. 0: uint32(0x00000c7e),
  22616. 1: uint32(0x031f8000),
  22617. 2: uint32(0x0063f200),
  22618. 3: uint32(0x000df840),
  22619. 4: uint32(0x00037e08),
  22620. 5: uint32(0x08000dfa),
  22621. 6: uint32(0x0df901bf),
  22622. 7: uint32(0x5437e400),
  22623. },
  22624. },
  22625. 115: {
  22626. Fmap1: [8]TFcChar32{
  22627. 0: uint32(0x00000025),
  22628. 1: uint32(0x40006fc0),
  22629. 2: uint32(0x27f91be4),
  22630. 3: uint32(0xdee00000),
  22631. 4: uint32(0x007ff83f),
  22632. 5: uint32(0x00007f7f),
  22633. },
  22634. },
  22635. 116: {
  22636. Fmap1: [8]TFcChar32{
  22637. 3: uint32(0x007f8000),
  22638. },
  22639. },
  22640. 117: {
  22641. Fmap1: [8]TFcChar32{
  22642. 0: uint32(0x000000a7),
  22643. 2: uint32(0xfffffffe),
  22644. 3: uint32(0xffffffff),
  22645. 4: uint32(0x780fffff),
  22646. 5: uint32(0xfffffffe),
  22647. 6: uint32(0xffffffff),
  22648. 7: uint32(0x787fffff),
  22649. },
  22650. },
  22651. 118: {
  22652. Fmap1: [8]TFcChar32{
  22653. 0: uint32(0x03506f8b),
  22654. 1: uint32(0x1b042042),
  22655. 2: uint32(0x62808020),
  22656. 3: uint32(0x400a0000),
  22657. 4: uint32(0x10341b41),
  22658. 5: uint32(0x04003812),
  22659. 6: uint32(0x03608c02),
  22660. 7: uint32(0x08454038),
  22661. },
  22662. },
  22663. 119: {
  22664. Fmap1: [8]TFcChar32{
  22665. 0: uint32(0x2403c002),
  22666. 1: uint32(0x15108000),
  22667. 2: uint32(0x1229e040),
  22668. 3: uint32(0x80280000),
  22669. 4: uint32(0x28002800),
  22670. 5: uint32(0x8060c002),
  22671. 6: uint32(0x2080040c),
  22672. 7: uint32(0x05284002),
  22673. },
  22674. },
  22675. 120: {
  22676. Fmap1: [8]TFcChar32{
  22677. 0: uint32(0x82042a00),
  22678. 1: uint32(0x02000818),
  22679. 2: uint32(0x10008200),
  22680. 3: uint32(0x20700020),
  22681. 4: uint32(0x03022000),
  22682. 5: uint32(0x40a41000),
  22683. 6: uint32(0x0420a020),
  22684. 7: uint32(0x00000080),
  22685. },
  22686. },
  22687. 121: {
  22688. Fmap1: [8]TFcChar32{
  22689. 0: uint32(0x80040011),
  22690. 1: uint32(0x00000400),
  22691. 2: uint32(0x04012b78),
  22692. 3: uint32(0x11a23920),
  22693. 4: uint32(0x02842460),
  22694. 5: uint32(0x00c01021),
  22695. 6: uint32(0x20002050),
  22696. 7: uint32(0x07400042),
  22697. },
  22698. },
  22699. 122: {
  22700. Fmap1: [8]TFcChar32{
  22701. 0: uint32(0x208205c9),
  22702. 1: uint32(0x0fc10230),
  22703. 2: uint32(0x08402480),
  22704. 3: uint32(0x00258018),
  22705. 4: uint32(0x88000080),
  22706. 5: uint32(0x42120609),
  22707. 6: uint32(0xa32002a8),
  22708. 7: uint32(0x40040094),
  22709. },
  22710. },
  22711. 123: {
  22712. Fmap1: [8]TFcChar32{
  22713. 0: uint32(0x00c00024),
  22714. 1: uint32(0x8e000001),
  22715. 2: uint32(0x059e058a),
  22716. 3: uint32(0x013b0001),
  22717. 4: uint32(0x85000010),
  22718. 5: uint32(0x08080000),
  22719. 6: uint32(0x02d07d04),
  22720. 7: uint32(0x018d9838),
  22721. },
  22722. },
  22723. 124: {
  22724. Fmap1: [8]TFcChar32{
  22725. 0: uint32(0x8803f310),
  22726. 1: uint32(0x03000840),
  22727. 2: uint32(0x00000704),
  22728. 3: uint32(0x30080500),
  22729. 4: uint32(0x00001000),
  22730. 5: uint32(0x20040000),
  22731. 6: uint32(0x00000003),
  22732. 7: uint32(0x04040002),
  22733. },
  22734. },
  22735. 125: {
  22736. Fmap1: [8]TFcChar32{
  22737. 0: uint32(0x000100d0),
  22738. 1: uint32(0x40028000),
  22739. 2: uint32(0x00088040),
  22740. 4: uint32(0x34000210),
  22741. 5: uint32(0x00400e00),
  22742. 6: uint32(0x00000020),
  22743. 7: uint32(0x00000008),
  22744. },
  22745. },
  22746. 126: {
  22747. Fmap1: [8]TFcChar32{
  22748. 0: uint32(0x00000040),
  22749. 1: uint32(0x00060000),
  22750. 3: uint32(0x00100100),
  22751. 4: uint32(0x00000080),
  22752. 6: uint32(0x4c000000),
  22753. 7: uint32(0x240d0009),
  22754. },
  22755. },
  22756. 127: {
  22757. Fmap1: [8]TFcChar32{
  22758. 0: uint32(0x80048000),
  22759. 1: uint32(0x00010180),
  22760. 2: uint32(0x00020484),
  22761. 3: uint32(0x00000400),
  22762. 4: uint32(0x00000804),
  22763. 5: uint32(0x00000008),
  22764. 6: uint32(0x80004800),
  22765. 7: uint32(0x16800000),
  22766. },
  22767. },
  22768. 128: {
  22769. Fmap1: [8]TFcChar32{
  22770. 0: uint32(0x00200065),
  22771. 1: uint32(0x00120410),
  22772. 2: uint32(0x44920403),
  22773. 3: uint32(0x40000200),
  22774. 4: uint32(0x10880008),
  22775. 5: uint32(0x40080100),
  22776. 6: uint32(0x00001482),
  22777. 7: uint32(0x00074800),
  22778. },
  22779. },
  22780. 129: {
  22781. Fmap1: [8]TFcChar32{
  22782. 0: uint32(0x14608200),
  22783. 1: uint32(0x00024e84),
  22784. 2: uint32(0x00128380),
  22785. 3: uint32(0x20184520),
  22786. 4: uint32(0x0240041c),
  22787. 5: uint32(0x0a001120),
  22788. 6: uint32(0x00180a00),
  22789. 7: uint32(0x88000800),
  22790. },
  22791. },
  22792. 130: {
  22793. Fmap1: [8]TFcChar32{
  22794. 0: uint32(0x01000002),
  22795. 1: uint32(0x00008001),
  22796. 2: uint32(0x04000040),
  22797. 3: uint32(0x80000040),
  22798. 4: uint32(0x08040000),
  22799. 6: uint32(0x00001202),
  22800. 7: uint32(0x00000002),
  22801. },
  22802. },
  22803. 131: {
  22804. Fmap1: [8]TFcChar32{
  22805. 1: uint32(0x00000004),
  22806. 2: uint32(0x21910000),
  22807. 3: uint32(0x00000858),
  22808. 4: uint32(0xbf8013a0),
  22809. 5: uint32(0x8279401c),
  22810. 6: uint32(0xa8041054),
  22811. 7: uint32(0xc5004282),
  22812. },
  22813. },
  22814. 132: {
  22815. Fmap1: [8]TFcChar32{
  22816. 0: uint32(0x0402ce56),
  22817. 1: uint32(0xfc020000),
  22818. 2: uint32(0x40200d21),
  22819. 3: uint32(0x00028030),
  22820. 4: uint32(0x00010000),
  22821. 5: uint32(0x01081202),
  22822. 7: uint32(0x00410003),
  22823. },
  22824. },
  22825. 133: {
  22826. Fmap1: [8]TFcChar32{
  22827. 0: uint32(0x00404080),
  22828. 1: uint32(0x00000200),
  22829. 2: uint32(0x00010000),
  22830. 6: uint32(0x60000000),
  22831. 7: uint32(0x480241ea),
  22832. },
  22833. },
  22834. 134: {
  22835. Fmap1: [8]TFcChar32{
  22836. 0: uint32(0x2000104c),
  22837. 1: uint32(0x2109a820),
  22838. 2: uint32(0x00200020),
  22839. 3: uint32(0x7b1c0008),
  22840. 4: uint32(0x10a0840a),
  22841. 5: uint32(0x01c028c0),
  22842. 6: uint32(0x00000608),
  22843. 7: uint32(0x04c00000),
  22844. },
  22845. },
  22846. 135: {
  22847. Fmap1: [8]TFcChar32{
  22848. 0: uint32(0x80398412),
  22849. 1: uint32(0x40a200e0),
  22850. 2: uint32(0x02080000),
  22851. 3: uint32(0x12030a04),
  22852. 4: uint32(0x008d1833),
  22853. 5: uint32(0x02184602),
  22854. 6: uint32(0x13803028),
  22855. 7: uint32(0x00200801),
  22856. },
  22857. },
  22858. 136: {
  22859. Fmap1: [8]TFcChar32{
  22860. 0: uint32(0x20440000),
  22861. 1: uint32(0x000005a1),
  22862. 2: uint32(0x00050800),
  22863. 3: uint32(0x0020a328),
  22864. 4: uint32(0x80100000),
  22865. 5: uint32(0x10040649),
  22866. 6: uint32(0x10020020),
  22867. 7: uint32(0x00090180),
  22868. },
  22869. },
  22870. 137: {
  22871. Fmap1: [8]TFcChar32{
  22872. 0: uint32(0x8c008202),
  22873. 2: uint32(0x00205910),
  22874. 3: uint32(0x0041410c),
  22875. 4: uint32(0x00004004),
  22876. 5: uint32(0x40441290),
  22877. 6: uint32(0x00010080),
  22878. 7: uint32(0x01040000),
  22879. },
  22880. },
  22881. 138: {
  22882. Fmap1: [8]TFcChar32{
  22883. 0: uint32(0x04070000),
  22884. 1: uint32(0x89108040),
  22885. 2: uint32(0x00282a81),
  22886. 3: uint32(0x82420000),
  22887. 4: uint32(0x51a20411),
  22888. 5: uint32(0x32220800),
  22889. 6: uint32(0x2b0d2220),
  22890. 7: uint32(0x40c83003),
  22891. },
  22892. },
  22893. 139: {
  22894. Fmap1: [8]TFcChar32{
  22895. 0: uint32(0x82020082),
  22896. 1: uint32(0x80008900),
  22897. 2: uint32(0x10a00200),
  22898. 3: uint32(0x08004100),
  22899. 4: uint32(0x09041108),
  22900. 5: uint32(0x000405a6),
  22901. 6: uint32(0x0c018000),
  22902. 7: uint32(0x04104002),
  22903. },
  22904. },
  22905. 140: {
  22906. Fmap1: [8]TFcChar32{
  22907. 0: uint32(0x00002000),
  22908. 1: uint32(0x44003000),
  22909. 2: uint32(0x01000004),
  22910. 3: uint32(0x00008200),
  22911. 4: uint32(0x00000008),
  22912. 5: uint32(0x00044010),
  22913. 6: uint32(0x00002002),
  22914. 7: uint32(0x00001040),
  22915. },
  22916. },
  22917. 141: {
  22918. Fmap1: [8]TFcChar32{
  22919. 1: uint32(0xca008000),
  22920. 2: uint32(0x02828020),
  22921. 3: uint32(0x00b1100c),
  22922. 4: uint32(0x12824280),
  22923. 5: uint32(0x22013030),
  22924. 6: uint32(0x00808820),
  22925. 7: uint32(0x040013e4),
  22926. },
  22927. },
  22928. 142: {
  22929. Fmap1: [8]TFcChar32{
  22930. 0: uint32(0x801840c0),
  22931. 1: uint32(0x1000a1a1),
  22932. 2: uint32(0x00000004),
  22933. 3: uint32(0x0050c200),
  22934. 4: uint32(0x00c20082),
  22935. 5: uint32(0x00104840),
  22936. 6: uint32(0x10400080),
  22937. 7: uint32(0xa3140000),
  22938. },
  22939. },
  22940. 143: {
  22941. Fmap1: [8]TFcChar32{
  22942. 0: uint32(0xa8a02301),
  22943. 1: uint32(0x24123d00),
  22944. 2: uint32(0x80030200),
  22945. 3: uint32(0xc0028022),
  22946. 4: uint32(0x34a10000),
  22947. 5: uint32(0x00408005),
  22948. 6: uint32(0x00190010),
  22949. 7: uint32(0x882a0000),
  22950. },
  22951. },
  22952. 144: {
  22953. Fmap1: [8]TFcChar32{
  22954. 0: uint32(0x00080018),
  22955. 1: uint32(0x33000402),
  22956. 2: uint32(0x9002010a),
  22957. 4: uint32(0x00800020),
  22958. 5: uint32(0x00010100),
  22959. 6: uint32(0x84040810),
  22960. 7: uint32(0x04004000),
  22961. },
  22962. },
  22963. 145: {
  22964. Fmap1: [8]TFcChar32{
  22965. 0: uint32(0x10006020),
  22966. 3: uint32(0x30a02000),
  22967. 4: uint32(0x00000004),
  22968. 6: uint32(0x01000800),
  22969. 7: uint32(0x20000000),
  22970. },
  22971. },
  22972. 146: {
  22973. Fmap1: [8]TFcChar32{
  22974. 0: uint32(0x02000000),
  22975. 1: uint32(0x02000602),
  22976. 2: uint32(0x80000800),
  22977. },
  22978. },
  22979. 147: {
  22980. Fmap1: [8]TFcChar32{
  22981. 0: uint32(0x00000010),
  22982. 1: uint32(0x44040083),
  22983. 2: uint32(0x00081000),
  22984. 3: uint32(0x0818824c),
  22985. 4: uint32(0x00400e00),
  22986. 5: uint32(0x8c300000),
  22987. 6: uint32(0x08146001),
  22988. },
  22989. },
  22990. 148: {
  22991. Fmap1: [8]TFcChar32{
  22992. 0: uint32(0x00828000),
  22993. 1: uint32(0x41900000),
  22994. 2: uint32(0x84804006),
  22995. 3: uint32(0x24010001),
  22996. 4: uint32(0x02400108),
  22997. 5: uint32(0x9b080006),
  22998. 6: uint32(0x00201602),
  22999. 7: uint32(0x0009012e),
  23000. },
  23001. },
  23002. 149: {
  23003. Fmap1: [8]TFcChar32{
  23004. 0: uint32(0x40800800),
  23005. 1: uint32(0x48000420),
  23006. 2: uint32(0x10000032),
  23007. 3: uint32(0x01904440),
  23008. 4: uint32(0x02000100),
  23009. 5: uint32(0x10048000),
  23010. 6: uint32(0x00020000),
  23011. 7: uint32(0x08820802),
  23012. },
  23013. },
  23014. 150: {
  23015. Fmap1: [8]TFcChar32{
  23016. 0: uint32(0x08080ba0),
  23017. 1: uint32(0x00009242),
  23018. 2: uint32(0x00400000),
  23019. 3: uint32(0xc0008080),
  23020. 4: uint32(0x20410001),
  23021. 5: uint32(0x04400000),
  23022. 6: uint32(0x60020820),
  23023. 7: uint32(0x00100000),
  23024. },
  23025. },
  23026. 151: {
  23027. Fmap1: [8]TFcChar32{
  23028. 0: uint32(0x00108046),
  23029. 1: uint32(0x01001805),
  23030. 2: uint32(0x90100000),
  23031. 3: uint32(0x00014010),
  23032. 4: uint32(0x00000010),
  23033. 6: uint32(0x0000000b),
  23034. 7: uint32(0x00008800),
  23035. },
  23036. },
  23037. 152: {
  23038. Fmap1: [8]TFcChar32{
  23039. 1: uint32(0x00001000),
  23040. 3: uint32(0x20018800),
  23041. 4: uint32(0x00004600),
  23042. 5: uint32(0x06002000),
  23043. 6: uint32(0x00000100),
  23044. },
  23045. },
  23046. 153: {
  23047. Fmap1: [8]TFcChar32{
  23048. 1: uint32(0x10400042),
  23049. 2: uint32(0x02004000),
  23050. 3: uint32(0x00004280),
  23051. 4: uint32(0x80000400),
  23052. 5: uint32(0x00020000),
  23053. 6: uint32(0x00000008),
  23054. 7: uint32(0x00000020),
  23055. },
  23056. },
  23057. 154: {
  23058. Fmap1: [8]TFcChar32{
  23059. 0: uint32(0x00000040),
  23060. 1: uint32(0x20600400),
  23061. 2: uint32(0x0a000180),
  23062. 3: uint32(0x02040280),
  23063. 5: uint32(0x00409001),
  23064. 6: uint32(0x02000004),
  23065. 7: uint32(0x00003200),
  23066. },
  23067. },
  23068. 155: {
  23069. Fmap1: [8]TFcChar32{
  23070. 0: uint32(0x88000000),
  23071. 1: uint32(0x80404800),
  23072. 2: uint32(0x00000010),
  23073. 3: uint32(0x00040008),
  23074. 4: uint32(0x00000a90),
  23075. 5: uint32(0x00000200),
  23076. 6: uint32(0x00002000),
  23077. 7: uint32(0x40002001),
  23078. },
  23079. },
  23080. 156: {
  23081. Fmap1: [8]TFcChar32{
  23082. 0: uint32(0x00000048),
  23083. 1: uint32(0x00100000),
  23084. 3: uint32(0x00000001),
  23085. 4: uint32(0x00000008),
  23086. 5: uint32(0x20010080),
  23087. 7: uint32(0x00400040),
  23088. },
  23089. },
  23090. 157: {
  23091. Fmap1: [8]TFcChar32{
  23092. 0: uint32(0x85000000),
  23093. 1: uint32(0x0c8f0108),
  23094. 2: uint32(0x32129000),
  23095. 3: uint32(0x80090420),
  23096. 4: uint32(0x00024000),
  23097. 5: uint32(0x40040800),
  23098. 6: uint32(0x092000a0),
  23099. 7: uint32(0x00100204),
  23100. },
  23101. },
  23102. 158: {
  23103. Fmap1: [8]TFcChar32{
  23104. 0: uint32(0x00002000),
  23105. 2: uint32(0x00440004),
  23106. 3: uint32(0x6c000000),
  23107. 4: uint32(0x000000d0),
  23108. 5: uint32(0x80004000),
  23109. 6: uint32(0x88800440),
  23110. 7: uint32(0x41144018),
  23111. },
  23112. },
  23113. 159: {
  23114. Fmap1: [8]TFcChar32{
  23115. 0: uint32(0x80001a02),
  23116. 1: uint32(0x14000001),
  23117. 2: uint32(0x00000001),
  23118. 3: uint32(0x0000004a),
  23119. 5: uint32(0x00083000),
  23120. 6: uint32(0x08000000),
  23121. 7: uint32(0x0008a024),
  23122. },
  23123. },
  23124. 160: {
  23125. Fmap1: [8]TFcChar32{
  23126. 0: uint32(0x00300004),
  23127. 1: uint32(0x00140000),
  23128. 2: uint32(0x20000000),
  23129. 3: uint32(0x00001800),
  23130. 4: uint32(0x00020002),
  23131. 5: uint32(0x04000000),
  23132. 6: uint32(0x00000002),
  23133. 7: uint32(0x00000100),
  23134. },
  23135. },
  23136. 161: {
  23137. Fmap1: [8]TFcChar32{
  23138. 0: uint32(0x00004002),
  23139. 1: uint32(0x54000000),
  23140. 2: uint32(0x60400300),
  23141. 3: uint32(0x00002120),
  23142. 4: uint32(0x0000a022),
  23143. 6: uint32(0x81060803),
  23144. 7: uint32(0x08010200),
  23145. },
  23146. },
  23147. 162: {
  23148. Fmap1: [8]TFcChar32{
  23149. 0: uint32(0x04004800),
  23150. 1: uint32(0xb0044000),
  23151. 2: uint32(0x0000a005),
  23152. 3: uint32(0x04500800),
  23153. 4: uint32(0x800c000a),
  23154. 5: uint32(0x0000c000),
  23155. 6: uint32(0x10000800),
  23156. 7: uint32(0x02408021),
  23157. },
  23158. },
  23159. 163: {
  23160. Fmap1: [8]TFcChar32{
  23161. 0: uint32(0x08020000),
  23162. 1: uint32(0x00001040),
  23163. 2: uint32(0x00540a40),
  23164. 4: uint32(0x00800880),
  23165. 5: uint32(0x01020002),
  23166. 6: uint32(0x00000211),
  23167. 7: uint32(0x00000010),
  23168. },
  23169. },
  23170. 164: {
  23171. Fmap1: [8]TFcChar32{
  23172. 1: uint32(0x80000002),
  23173. 2: uint32(0x00002000),
  23174. 3: uint32(0x00080001),
  23175. 4: uint32(0x09840a00),
  23176. 5: uint32(0x40000080),
  23177. 6: uint32(0x00400000),
  23178. 7: uint32(0x49000080),
  23179. },
  23180. },
  23181. 165: {
  23182. Fmap1: [8]TFcChar32{
  23183. 0: uint32(0x0e102831),
  23184. 1: uint32(0x06098807),
  23185. 2: uint32(0x40011014),
  23186. 3: uint32(0x02620042),
  23187. 4: uint32(0x06000000),
  23188. 5: uint32(0x88062000),
  23189. 6: uint32(0x04068400),
  23190. 7: uint32(0x08108301),
  23191. },
  23192. },
  23193. 166: {
  23194. Fmap1: [8]TFcChar32{
  23195. 0: uint32(0x08000012),
  23196. 1: uint32(0x40004840),
  23197. 2: uint32(0x00300402),
  23198. 3: uint32(0x00012000),
  23199. },
  23200. },
  23201. 167: {
  23202. Fmap1: [8]TFcChar32{
  23203. 1: uint32(0x00400000),
  23204. 3: uint32(0x00a54400),
  23205. 4: uint32(0x40004420),
  23206. 5: uint32(0x20000310),
  23207. 6: uint32(0x00041002),
  23208. 7: uint32(0x18000000),
  23209. },
  23210. },
  23211. 168: {
  23212. Fmap1: [8]TFcChar32{
  23213. 0: uint32(0x00a1002a),
  23214. 1: uint32(0x00080000),
  23215. 2: uint32(0x40400000),
  23216. 3: uint32(0x00900000),
  23217. 4: uint32(0x21401200),
  23218. 5: uint32(0x04048626),
  23219. 6: uint32(0x40005048),
  23220. 7: uint32(0x21100000),
  23221. },
  23222. },
  23223. 169: {
  23224. Fmap1: [8]TFcChar32{
  23225. 0: uint32(0x040005a4),
  23226. 1: uint32(0x000a0000),
  23227. 2: uint32(0x00214000),
  23228. 3: uint32(0x07010800),
  23229. 4: uint32(0x34000000),
  23230. 5: uint32(0x00080100),
  23231. 6: uint32(0x00080040),
  23232. 7: uint32(0x10182508),
  23233. },
  23234. },
  23235. 170: {
  23236. Fmap1: [8]TFcChar32{
  23237. 0: uint32(0xc0805100),
  23238. 1: uint32(0x02c01400),
  23239. 2: uint32(0x00000080),
  23240. 3: uint32(0x00448040),
  23241. 4: uint32(0x20000800),
  23242. 5: uint32(0x210a8000),
  23243. 6: uint32(0x08800000),
  23244. 7: uint32(0x00020060),
  23245. },
  23246. },
  23247. 171: {
  23248. Fmap1: [8]TFcChar32{
  23249. 0: uint32(0x00004004),
  23250. 1: uint32(0x00400100),
  23251. 2: uint32(0x01040200),
  23252. 3: uint32(0x00800000),
  23253. 6: uint32(0x10081400),
  23254. 7: uint32(0x00008000),
  23255. },
  23256. },
  23257. 172: {
  23258. Fmap1: [8]TFcChar32{
  23259. 0: uint32(0x00004000),
  23260. 1: uint32(0x20000000),
  23261. 2: uint32(0x08800200),
  23262. 3: uint32(0x00001000),
  23263. 5: uint32(0x01000000),
  23264. 6: uint32(0x00000810),
  23265. },
  23266. },
  23267. 173: {
  23268. Fmap1: [8]TFcChar32{
  23269. 0: uint32(0x00020000),
  23270. 1: uint32(0x20200000),
  23271. 4: uint32(0x00000010),
  23272. 5: uint32(0x00001c40),
  23273. 6: uint32(0x00002000),
  23274. 7: uint32(0x08000210),
  23275. },
  23276. },
  23277. 174: {
  23278. Fmap1: [8]TFcChar32{
  23279. 2: uint32(0x54014000),
  23280. 3: uint32(0x02000800),
  23281. 4: uint32(0x00200400),
  23282. 6: uint32(0x00002080),
  23283. 7: uint32(0x00004000),
  23284. },
  23285. },
  23286. 175: {
  23287. Fmap1: [8]TFcChar32{
  23288. 0: uint32(0x10000004),
  23289. 4: uint32(0x00002000),
  23290. },
  23291. },
  23292. 176: {
  23293. Fmap1: [8]TFcChar32{
  23294. 2: uint32(0x28881041),
  23295. 3: uint32(0x0081010a),
  23296. 4: uint32(0x00400800),
  23297. 5: uint32(0x00000800),
  23298. 6: uint32(0x10208026),
  23299. 7: uint32(0x61000000),
  23300. },
  23301. },
  23302. 177: {
  23303. Fmap1: [8]TFcChar32{
  23304. 0: uint32(0x00050080),
  23305. 2: uint32(0x80000000),
  23306. 3: uint32(0x80040000),
  23307. 4: uint32(0x044088c2),
  23308. 5: uint32(0x00080480),
  23309. 6: uint32(0x00040000),
  23310. 7: uint32(0x00000048),
  23311. },
  23312. },
  23313. 178: {
  23314. Fmap1: [8]TFcChar32{
  23315. 0: uint32(0x8188410d),
  23316. 1: uint32(0x141a2400),
  23317. 2: uint32(0x40310000),
  23318. 3: uint32(0x000f4249),
  23319. 4: uint32(0x41283280),
  23320. 5: uint32(0x80053011),
  23321. 6: uint32(0x00400880),
  23322. 7: uint32(0x410060c0),
  23323. },
  23324. },
  23325. 179: {
  23326. Fmap1: [8]TFcChar32{
  23327. 0: uint32(0x2a004013),
  23328. 1: uint32(0x02000002),
  23329. 2: uint32(0x11000000),
  23330. 3: uint32(0x00850040),
  23331. },
  23332. },
  23333. 180: {
  23334. Fmap1: [8]TFcChar32{
  23335. 1: uint32(0x00800000),
  23336. 2: uint32(0x04000440),
  23337. 3: uint32(0x00000402),
  23338. 4: uint32(0x60001000),
  23339. 5: uint32(0x99909f87),
  23340. 6: uint32(0x5808049d),
  23341. 7: uint32(0x10002445),
  23342. },
  23343. },
  23344. 181: {
  23345. Fmap1: [8]TFcChar32{
  23346. 0: uint32(0x00000100),
  23347. 3: uint32(0x00910050),
  23348. 4: uint32(0x00000420),
  23349. 5: uint32(0x00080008),
  23350. 6: uint32(0x20000000),
  23351. 7: uint32(0x00288002),
  23352. },
  23353. },
  23354. 182: {
  23355. Fmap1: [8]TFcChar32{
  23356. 0: uint32(0x00008400),
  23357. 1: uint32(0x00000400),
  23358. 3: uint32(0x00100000),
  23359. 4: uint32(0x00002000),
  23360. 5: uint32(0x00000800),
  23361. 6: uint32(0x80043400),
  23362. 7: uint32(0x21000004),
  23363. },
  23364. },
  23365. 183: {
  23366. Fmap1: [8]TFcChar32{
  23367. 0: uint32(0x20000208),
  23368. 1: uint32(0x01000600),
  23369. 2: uint32(0x00000010),
  23370. 4: uint32(0x48000000),
  23371. 5: uint32(0x14060008),
  23372. 6: uint32(0x00124020),
  23373. 7: uint32(0x20812800),
  23374. },
  23375. },
  23376. 184: {
  23377. Fmap1: [8]TFcChar32{
  23378. 0: uint32(0xa419804b),
  23379. 1: uint32(0x01064009),
  23380. 2: uint32(0x10386ca4),
  23381. 3: uint32(0x85a0620b),
  23382. 4: uint32(0x00000010),
  23383. 5: uint32(0x01000448),
  23384. 6: uint32(0x00004400),
  23385. 7: uint32(0x20a02102),
  23386. },
  23387. },
  23388. 185: {
  23389. Fmap1: [8]TFcChar32{
  23390. 2: uint32(0x00147000),
  23391. 3: uint32(0x01a01404),
  23392. 4: uint32(0x10040000),
  23393. 5: uint32(0x01000000),
  23394. 6: uint32(0x3002f180),
  23395. 7: uint32(0x00000008),
  23396. },
  23397. },
  23398. 186: {
  23399. Fmap1: [8]TFcChar32{
  23400. 0: uint32(0x00002000),
  23401. 1: uint32(0x00100000),
  23402. 2: uint32(0x08000010),
  23403. 3: uint32(0x00020004),
  23404. 4: uint32(0x01000029),
  23405. 5: uint32(0x00002000),
  23406. 7: uint32(0x10082000),
  23407. },
  23408. },
  23409. 187: {
  23410. Fmap1: [8]TFcChar32{
  23411. 1: uint32(0x0004d041),
  23412. 2: uint32(0x08000800),
  23413. 3: uint32(0x00200000),
  23414. 4: uint32(0x00401000),
  23415. 5: uint32(0x00004000),
  23416. 7: uint32(0x00000002),
  23417. },
  23418. },
  23419. 188: {
  23420. Fmap1: [8]TFcChar32{
  23421. 0: uint32(0x01000000),
  23422. 2: uint32(0x00020000),
  23423. },
  23424. },
  23425. 189: {
  23426. Fmap1: [8]TFcChar32{
  23427. 3: uint32(0x00800000),
  23428. 4: uint32(0x000a0a01),
  23429. 5: uint32(0x0004002c),
  23430. 6: uint32(0x01000080),
  23431. },
  23432. },
  23433. 190: {
  23434. Fmap1: [8]TFcChar32{
  23435. 0: uint32(0x10000000),
  23436. 1: uint32(0x08040400),
  23437. 2: uint32(0x08012010),
  23438. 3: uint32(0x2569043c),
  23439. 4: uint32(0x1a10c460),
  23440. 5: uint32(0x08800009),
  23441. 6: uint32(0x000210f0),
  23442. 7: uint32(0x08c5050c),
  23443. },
  23444. },
  23445. 191: {
  23446. Fmap1: [8]TFcChar32{
  23447. 0: uint32(0x10000481),
  23448. 1: uint32(0x00040080),
  23449. 2: uint32(0x42040000),
  23450. 3: uint32(0x00100204),
  23451. 6: uint32(0x00080000),
  23452. 7: uint32(0x88080000),
  23453. },
  23454. },
  23455. 192: {
  23456. Fmap1: [8]TFcChar32{
  23457. 0: uint32(0x010f016c),
  23458. 1: uint32(0x18002000),
  23459. 2: uint32(0x41307000),
  23460. 3: uint32(0x00000080),
  23461. 5: uint32(0x00000100),
  23462. 6: uint32(0x88000000),
  23463. 7: uint32(0x70048004),
  23464. },
  23465. },
  23466. 193: {
  23467. Fmap1: [8]TFcChar32{
  23468. 0: uint32(0x00081420),
  23469. 1: uint32(0x00000100),
  23470. 4: uint32(0x02400000),
  23471. 5: uint32(0x00001000),
  23472. 6: uint32(0x00050070),
  23473. },
  23474. },
  23475. 194: {
  23476. Fmap1: [8]TFcChar32{
  23477. 0: uint32(0x000c4000),
  23478. 1: uint32(0x00010000),
  23479. 2: uint32(0x04000000),
  23480. 5: uint32(0x01000100),
  23481. 6: uint32(0x01000010),
  23482. 7: uint32(0x00000400),
  23483. },
  23484. },
  23485. 195: {
  23486. Fmap1: [8]TFcChar32{
  23487. 1: uint32(0x10020000),
  23488. 2: uint32(0x04100024),
  23489. 5: uint32(0x00004000),
  23490. 7: uint32(0x00000100),
  23491. },
  23492. },
  23493. 196: {
  23494. Fmap1: [8]TFcChar32{
  23495. 7: uint32(0x00100020),
  23496. },
  23497. },
  23498. 197: {
  23499. Fmap1: [8]TFcChar32{
  23500. 4: uint32(0x00008000),
  23501. 5: uint32(0x00100000),
  23502. },
  23503. },
  23504. 198: {
  23505. Fmap1: [8]TFcChar32{
  23506. 3: uint32(0x80000000),
  23507. 4: uint32(0x00880000),
  23508. 5: uint32(0x0c000040),
  23509. 6: uint32(0x02040010),
  23510. },
  23511. },
  23512. 199: {
  23513. Fmap1: [8]TFcChar32{
  23514. 0: uint32(0x00080000),
  23515. 1: uint32(0x08000000),
  23516. 3: uint32(0x00000004),
  23517. },
  23518. },
  23519. 200: {
  23520. Fmap1: [8]TFcChar32{
  23521. 2: uint32(0x07fffffe),
  23522. 3: uint32(0x07fffffe),
  23523. 6: uint32(0x00000300),
  23524. 7: uint32(0x00000300),
  23525. },
  23526. },
  23527. 201: {
  23528. Fmap1: [8]TFcChar32{
  23529. 6: uint32(0xffff0000),
  23530. 7: uint32(0x0001ffff),
  23531. },
  23532. },
  23533. 202: {
  23534. Fmap1: [8]TFcChar32{
  23535. 0: uint32(0xffff0002),
  23536. 1: uint32(0xffffffff),
  23537. 2: uint32(0x0002ffff),
  23538. 4: uint32(0x0c0c0000),
  23539. 5: uint32(0x000cc00c),
  23540. 6: uint32(0x03000000),
  23541. },
  23542. },
  23543. 203: {
  23544. Fmap1: [8]TFcChar32{
  23545. 1: uint32(0x00000300),
  23546. 3: uint32(0x00000300),
  23547. },
  23548. },
  23549. 204: {
  23550. Fmap1: [8]TFcChar32{
  23551. 0: uint32(0xffff0000),
  23552. 1: uint32(0xffffffff),
  23553. 2: uint32(0x0040ffff),
  23554. 4: uint32(0x0c0c0000),
  23555. 5: uint32(0x0c00000c),
  23556. 6: uint32(0x03000000),
  23557. 7: uint32(0x00000300),
  23558. },
  23559. },
  23560. 205: {
  23561. Fmap1: [8]TFcChar32{
  23562. 2: uint32(0x07fffffe),
  23563. 3: uint32(0x07fffffe),
  23564. 6: uint32(0x0d10646e),
  23565. 7: uint32(0x0d10646e),
  23566. },
  23567. },
  23568. 206: {
  23569. Fmap1: [8]TFcChar32{
  23570. 1: uint32(0x01000300),
  23571. 3: uint32(0x00000300),
  23572. },
  23573. },
  23574. 207: {
  23575. Fmap1: [8]TFcChar32{
  23576. 4: uint32(0x9fffffff),
  23577. 5: uint32(0xffcffee7),
  23578. 6: uint32(0x0000003f),
  23579. },
  23580. },
  23581. 208: {
  23582. Fmap1: [8]TFcChar32{
  23583. 4: uint32(0xfffddfec),
  23584. 5: uint32(0xc3effdff),
  23585. 6: uint32(0x40603ddf),
  23586. 7: uint32(0x00000003),
  23587. },
  23588. },
  23589. 209: {
  23590. Fmap1: [8]TFcChar32{
  23591. 1: uint32(0xfffe0000),
  23592. 2: uint32(0xffffffff),
  23593. 3: uint32(0xffffffef),
  23594. 4: uint32(0x00007fff),
  23595. },
  23596. },
  23597. 210: {
  23598. Fmap1: [8]TFcChar32{
  23599. 0: uint32(0x3eff0793),
  23600. 1: uint32(0x1303b011),
  23601. 2: uint32(0x11102801),
  23602. 3: uint32(0x05930000),
  23603. 4: uint32(0xb0111e7b),
  23604. 5: uint32(0x3b019703),
  23605. 6: uint32(0x00a01112),
  23606. 7: uint32(0x306b9593),
  23607. },
  23608. },
  23609. 211: {
  23610. Fmap1: [8]TFcChar32{
  23611. 0: uint32(0x1102b051),
  23612. 1: uint32(0x11303201),
  23613. 2: uint32(0x011102b0),
  23614. 3: uint32(0xb879300a),
  23615. 4: uint32(0x30011306),
  23616. 5: uint32(0x00800010),
  23617. 6: uint32(0x100b0113),
  23618. 7: uint32(0x93000011),
  23619. },
  23620. },
  23621. 212: {
  23622. Fmap1: [8]TFcChar32{
  23623. 0: uint32(0x00102b03),
  23624. 1: uint32(0x05930000),
  23625. 2: uint32(0xb051746b),
  23626. 3: uint32(0x3b011323),
  23627. 4: uint32(0x00001030),
  23628. 5: uint32(0x70000000),
  23629. 6: uint32(0x1303b011),
  23630. 7: uint32(0x11102900),
  23631. },
  23632. },
  23633. 213: {
  23634. Fmap1: [8]TFcChar32{
  23635. 0: uint32(0x00012180),
  23636. 1: uint32(0xb0153000),
  23637. 2: uint32(0x3001030e),
  23638. 3: uint32(0x02000030),
  23639. 4: uint32(0x10230111),
  23640. 5: uint32(0x13000000),
  23641. 6: uint32(0x10106b81),
  23642. 7: uint32(0x01130300),
  23643. },
  23644. },
  23645. 214: {
  23646. Fmap1: [8]TFcChar32{
  23647. 0: uint32(0x30111013),
  23648. 1: uint32(0x00000100),
  23649. 2: uint32(0x22b85530),
  23650. 3: uint32(0x30000000),
  23651. 4: uint32(0x9702b011),
  23652. 5: uint32(0x113afb07),
  23653. 6: uint32(0x011303b0),
  23654. 7: uint32(0x00000021),
  23655. },
  23656. },
  23657. 215: {
  23658. Fmap1: [8]TFcChar32{
  23659. 0: uint32(0x3b0d1b00),
  23660. 1: uint32(0x03b01138),
  23661. 2: uint32(0x11330113),
  23662. 3: uint32(0x13000001),
  23663. 4: uint32(0x111c2b05),
  23664. 5: uint32(0x00000100),
  23665. 6: uint32(0xb0111000),
  23666. 7: uint32(0x2a011300),
  23667. },
  23668. },
  23669. 216: {
  23670. Fmap1: [8]TFcChar32{
  23671. 0: uint32(0x02b01930),
  23672. 1: uint32(0x10100001),
  23673. 2: uint32(0x11000000),
  23674. 3: uint32(0x10300301),
  23675. 4: uint32(0x07130230),
  23676. 5: uint32(0x0011146b),
  23677. 6: uint32(0x2b051300),
  23678. 7: uint32(0x8fb8f974),
  23679. },
  23680. },
  23681. 217: {
  23682. Fmap1: [8]TFcChar32{
  23683. 0: uint32(0x103b0113),
  23684. 2: uint32(0xd9700000),
  23685. 3: uint32(0x01134ab0),
  23686. 4: uint32(0x0011103b),
  23687. 5: uint32(0x00001103),
  23688. 6: uint32(0x2ab15930),
  23689. 7: uint32(0x10000111),
  23690. },
  23691. },
  23692. 218: {
  23693. Fmap1: [8]TFcChar32{
  23694. 0: uint32(0x11010000),
  23695. 1: uint32(0x00100b01),
  23696. 2: uint32(0x01130000),
  23697. 3: uint32(0x0000102b),
  23698. 4: uint32(0x20000101),
  23699. 5: uint32(0x02a01110),
  23700. 6: uint32(0x30210111),
  23701. 7: uint32(0x0102b059),
  23702. },
  23703. },
  23704. 219: {
  23705. Fmap1: [8]TFcChar32{
  23706. 0: uint32(0x19300000),
  23707. 1: uint32(0x011307b0),
  23708. 2: uint32(0xb011383b),
  23709. 3: uint32(0x00000003),
  23710. 5: uint32(0x383b0d13),
  23711. 6: uint32(0x0103b011),
  23712. 7: uint32(0x00001000),
  23713. },
  23714. },
  23715. 220: {
  23716. Fmap1: [8]TFcChar32{
  23717. 0: uint32(0x01130000),
  23718. 1: uint32(0x00101020),
  23719. 2: uint32(0x00000100),
  23720. 3: uint32(0x00000110),
  23721. 4: uint32(0x30000000),
  23722. 5: uint32(0x00021811),
  23723. 6: uint32(0x00100000),
  23724. 7: uint32(0x01110000),
  23725. },
  23726. },
  23727. 221: {
  23728. Fmap1: [8]TFcChar32{
  23729. 0: uint32(0x00000023),
  23730. 1: uint32(0x0b019300),
  23731. 2: uint32(0x00301110),
  23732. 3: uint32(0x302b0111),
  23733. 4: uint32(0x13c7b011),
  23734. 5: uint32(0x01303b01),
  23735. 6: uint32(0x00000280),
  23736. 7: uint32(0xb0113000),
  23737. },
  23738. },
  23739. 222: {
  23740. Fmap1: [8]TFcChar32{
  23741. 0: uint32(0x2b011383),
  23742. 1: uint32(0x03b01130),
  23743. 2: uint32(0x300a0011),
  23744. 3: uint32(0x1102b011),
  23745. 4: uint32(0x00002000),
  23746. 5: uint32(0x01110100),
  23747. 6: uint32(0xa011102b),
  23748. 7: uint32(0x2b011302),
  23749. },
  23750. },
  23751. 223: {
  23752. Fmap1: [8]TFcChar32{
  23753. 0: uint32(0x01000010),
  23754. 1: uint32(0x30000001),
  23755. 2: uint32(0x13029011),
  23756. 3: uint32(0x11302b01),
  23757. 4: uint32(0x000066b0),
  23758. 5: uint32(0xb0113000),
  23759. 6: uint32(0x6b07d302),
  23760. 7: uint32(0x07b0113a),
  23761. },
  23762. },
  23763. 224: {
  23764. Fmap1: [8]TFcChar32{
  23765. 0: uint32(0x00200103),
  23766. 1: uint32(0x13000000),
  23767. 2: uint32(0x11386b05),
  23768. 3: uint32(0x011303b0),
  23769. 4: uint32(0x000010b8),
  23770. 5: uint32(0x2b051b00),
  23771. 6: uint32(0x03000110),
  23772. 7: uint32(0x10000000),
  23773. },
  23774. },
  23775. 225: {
  23776. Fmap1: [8]TFcChar32{
  23777. 0: uint32(0x1102a011),
  23778. 1: uint32(0x79700a01),
  23779. 2: uint32(0x0111a2b0),
  23780. 3: uint32(0x0000100a),
  23781. 4: uint32(0x00011100),
  23782. 5: uint32(0x00901110),
  23783. 6: uint32(0x00090111),
  23784. 7: uint32(0x93000000),
  23785. },
  23786. },
  23787. 226: {
  23788. Fmap1: [8]TFcChar32{
  23789. 0: uint32(0xf9f2bb05),
  23790. 1: uint32(0x011322b0),
  23791. 2: uint32(0x2001323b),
  23792. 4: uint32(0x06b05930),
  23793. 5: uint32(0x303b0193),
  23794. 6: uint32(0x1123a011),
  23795. 7: uint32(0x11700000),
  23796. },
  23797. },
  23798. 227: {
  23799. Fmap1: [8]TFcChar32{
  23800. 0: uint32(0x001102b0),
  23801. 1: uint32(0x00001010),
  23802. 2: uint32(0x03011301),
  23803. 3: uint32(0x00000110),
  23804. 4: uint32(0x162b0793),
  23805. 5: uint32(0x01010010),
  23806. 6: uint32(0x11300000),
  23807. 7: uint32(0x01110200),
  23808. },
  23809. },
  23810. 228: {
  23811. Fmap1: [8]TFcChar32{
  23812. 0: uint32(0xb0113029),
  23813. 2: uint32(0x0eb05130),
  23814. 3: uint32(0x383b0513),
  23815. 4: uint32(0x0303b011),
  23816. 5: uint32(0x00000100),
  23817. 6: uint32(0x01930000),
  23818. 7: uint32(0x00001039),
  23819. },
  23820. },
  23821. 229: {
  23822. Fmap1: [8]TFcChar32{
  23823. 0: uint32(0x3b000302),
  23824. 2: uint32(0x00230113),
  23825. 4: uint32(0x00100000),
  23826. 5: uint32(0x00010000),
  23827. 6: uint32(0x90113020),
  23828. 7: uint32(0x00000002),
  23829. },
  23830. },
  23831. 230: {
  23832. Fmap1: [8]TFcChar32{
  23833. 1: uint32(0x10000000),
  23834. 2: uint32(0x11020000),
  23835. 3: uint32(0x00000301),
  23836. 4: uint32(0x01130000),
  23837. 5: uint32(0xb079b02b),
  23838. 6: uint32(0x3b011323),
  23839. 7: uint32(0x02b01130),
  23840. },
  23841. },
  23842. 231: {
  23843. Fmap1: [8]TFcChar32{
  23844. 0: uint32(0xf0210111),
  23845. 1: uint32(0x1343b0d9),
  23846. 2: uint32(0x11303b01),
  23847. 3: uint32(0x011103b0),
  23848. 4: uint32(0xb0517020),
  23849. 5: uint32(0x20011322),
  23850. 6: uint32(0x01901110),
  23851. 7: uint32(0x300b0111),
  23852. },
  23853. },
  23854. 232: {
  23855. Fmap1: [8]TFcChar32{
  23856. 0: uint32(0x9302b011),
  23857. 1: uint32(0x0016ab01),
  23858. 2: uint32(0x01130100),
  23859. 3: uint32(0xb0113021),
  23860. 4: uint32(0x29010302),
  23861. 5: uint32(0x02b03130),
  23862. 6: uint32(0x30000000),
  23863. 7: uint32(0x1b42b819),
  23864. },
  23865. },
  23866. 233: {
  23867. Fmap1: [8]TFcChar32{
  23868. 0: uint32(0x11383301),
  23869. 1: uint32(0x00000330),
  23870. 2: uint32(0x00000020),
  23871. 3: uint32(0x33051300),
  23872. 4: uint32(0x00001110),
  23873. 6: uint32(0x93000000),
  23874. 7: uint32(0x01302305),
  23875. },
  23876. },
  23877. 234: {
  23878. Fmap1: [8]TFcChar32{
  23879. 0: uint32(0x00010100),
  23880. 1: uint32(0x30111010),
  23881. 2: uint32(0x00000100),
  23882. 3: uint32(0x02301130),
  23883. 4: uint32(0x10100001),
  23884. 5: uint32(0x11000000),
  23885. 7: uint32(0x85130200),
  23886. },
  23887. },
  23888. 235: {
  23889. Fmap1: [8]TFcChar32{
  23890. 0: uint32(0x10111003),
  23891. 1: uint32(0x2b011300),
  23892. 2: uint32(0x63b87730),
  23893. 3: uint32(0x303b0113),
  23894. 4: uint32(0x11a2b091),
  23895. 5: uint32(0x7b300201),
  23896. 6: uint32(0x011357f0),
  23897. 7: uint32(0xf0d1702b),
  23898. },
  23899. },
  23900. 236: {
  23901. Fmap1: [8]TFcChar32{
  23902. 0: uint32(0x1b0111e3),
  23903. 1: uint32(0x0ab97130),
  23904. 2: uint32(0x303b0113),
  23905. 3: uint32(0x13029001),
  23906. 4: uint32(0x11302b01),
  23907. 5: uint32(0x071302b0),
  23908. 6: uint32(0x3011302b),
  23909. 7: uint32(0x23011303),
  23910. },
  23911. },
  23912. 237: {
  23913. Fmap1: [8]TFcChar32{
  23914. 0: uint32(0x02b01130),
  23915. 1: uint32(0x30ab0113),
  23916. 2: uint32(0x11feb411),
  23917. 3: uint32(0x71300901),
  23918. 4: uint32(0x05d347b8),
  23919. 5: uint32(0xb011307b),
  23920. 6: uint32(0x21015303),
  23921. 7: uint32(0x00001110),
  23922. },
  23923. },
  23924. 238: {
  23925. Fmap1: [8]TFcChar32{
  23926. 0: uint32(0x306b0513),
  23927. 1: uint32(0x1102b011),
  23928. 2: uint32(0x00103301),
  23929. 3: uint32(0x05130000),
  23930. 4: uint32(0xa01038eb),
  23931. 5: uint32(0x30000102),
  23932. 6: uint32(0x02b01110),
  23933. 7: uint32(0x30200013),
  23934. },
  23935. },
  23936. 239: {
  23937. Fmap1: [8]TFcChar32{
  23938. 0: uint32(0x0102b071),
  23939. 1: uint32(0x00101000),
  23940. 2: uint32(0x01130000),
  23941. 3: uint32(0x1011100b),
  23942. 4: uint32(0x2b011300),
  23943. 6: uint32(0x366b0593),
  23944. 7: uint32(0x1303b095),
  23945. },
  23946. },
  23947. 240: {
  23948. Fmap1: [8]TFcChar32{
  23949. 0: uint32(0x01103b01),
  23950. 1: uint32(0x00000200),
  23951. 2: uint32(0xb0113000),
  23952. 3: uint32(0x20000103),
  23953. 4: uint32(0x01000010),
  23954. 5: uint32(0x30000000),
  23955. 6: uint32(0x030ab011),
  23956. 7: uint32(0x00101001),
  23957. },
  23958. },
  23959. 241: {
  23960. Fmap1: [8]TFcChar32{
  23961. 0: uint32(0x01110100),
  23962. 1: uint32(0x00000003),
  23963. 2: uint32(0x23011302),
  23964. 3: uint32(0x03000010),
  23965. 4: uint32(0x10000000),
  23966. 5: uint32(0x01000000),
  23967. 6: uint32(0x00100000),
  23968. 7: uint32(0x00000290),
  23969. },
  23970. },
  23971. 242: {
  23972. Fmap1: [8]TFcChar32{
  23973. 0: uint32(0x30113000),
  23974. 1: uint32(0x7b015386),
  23975. 2: uint32(0x03b01130),
  23976. 3: uint32(0x00210151),
  23977. 4: uint32(0x13000000),
  23978. 5: uint32(0x11303b01),
  23979. 6: uint32(0x001102b0),
  23980. 7: uint32(0x00011010),
  23981. },
  23982. },
  23983. 243: {
  23984. Fmap1: [8]TFcChar32{
  23985. 0: uint32(0x2b011302),
  23986. 1: uint32(0x02001110),
  23987. 2: uint32(0x10000000),
  23988. 3: uint32(0x0102b011),
  23989. 4: uint32(0x11300100),
  23990. 5: uint32(0x000102b0),
  23991. 6: uint32(0x00011010),
  23992. 7: uint32(0x2b011100),
  23993. },
  23994. },
  23995. 244: {
  23996. Fmap1: [8]TFcChar32{
  23997. 0: uint32(0x02101110),
  23998. 1: uint32(0x002b0113),
  23999. 2: uint32(0x93000000),
  24000. 3: uint32(0x11302b03),
  24001. 4: uint32(0x011302b0),
  24002. 5: uint32(0x0000303b),
  24003. 6: uint32(0x00000002),
  24004. 7: uint32(0x03b01930),
  24005. },
  24006. },
  24007. 245: {
  24008. Fmap1: [8]TFcChar32{
  24009. 0: uint32(0x102b0113),
  24010. 1: uint32(0x0103b011),
  24011. 2: uint32(0x11300000),
  24012. 3: uint32(0x011302b0),
  24013. 4: uint32(0x00001021),
  24014. 5: uint32(0x00010102),
  24015. 6: uint32(0x00000010),
  24016. 7: uint32(0x102b0113),
  24017. },
  24018. },
  24019. 246: {
  24020. Fmap1: [8]TFcChar32{
  24021. 0: uint32(0x01020011),
  24022. 1: uint32(0x11302000),
  24023. 2: uint32(0x011102b0),
  24024. 3: uint32(0x30113001),
  24025. 4: uint32(0x00000002),
  24026. 5: uint32(0x02b01130),
  24027. 6: uint32(0x303b0313),
  24028. 7: uint32(0x0103b011),
  24029. },
  24030. },
  24031. 247: {
  24032. Fmap1: [8]TFcChar32{
  24033. 0: uint32(0x00002000),
  24034. 1: uint32(0x05130000),
  24035. 2: uint32(0xb011303b),
  24036. 3: uint32(0x10001102),
  24037. 4: uint32(0x00000110),
  24038. 5: uint32(0x142b0113),
  24039. 6: uint32(0x01000001),
  24040. 7: uint32(0x01100000),
  24041. },
  24042. },
  24043. 248: {
  24044. Fmap1: [8]TFcChar32{
  24045. 0: uint32(0x00010280),
  24046. 1: uint32(0xb0113000),
  24047. 2: uint32(0x10000102),
  24048. 3: uint32(0x00000010),
  24049. 4: uint32(0x10230113),
  24050. 5: uint32(0x93021011),
  24051. 6: uint32(0x11100b05),
  24052. 7: uint32(0x01130030),
  24053. },
  24054. },
  24055. 249: {
  24056. Fmap1: [8]TFcChar32{
  24057. 0: uint32(0xb051702b),
  24058. 1: uint32(0x3b011323),
  24059. 2: uint32(0x00000030),
  24060. 3: uint32(0x30000000),
  24061. 4: uint32(0x1303b011),
  24062. 5: uint32(0x11102b01),
  24063. 6: uint32(0x01010330),
  24064. 7: uint32(0xb011300a),
  24065. },
  24066. },
  24067. 250: {
  24068. Fmap1: [8]TFcChar32{
  24069. 0: uint32(0x20000102),
  24070. 2: uint32(0x10000011),
  24071. 3: uint32(0x9300a011),
  24072. 4: uint32(0x00102b05),
  24073. 5: uint32(0x00000200),
  24074. 6: uint32(0x90111000),
  24075. 7: uint32(0x29011100),
  24076. },
  24077. },
  24078. 251: {
  24079. Fmap1: [8]TFcChar32{
  24080. 0: uint32(0x00b01110),
  24081. 1: uint32(0x30000000),
  24082. 2: uint32(0x1302b011),
  24083. 3: uint32(0x11302b21),
  24084. 4: uint32(0x000103b0),
  24085. 5: uint32(0x00000020),
  24086. 6: uint32(0x2b051300),
  24087. 7: uint32(0x02b01130),
  24088. },
  24089. },
  24090. 252: {
  24091. Fmap1: [8]TFcChar32{
  24092. 0: uint32(0x103b0113),
  24093. 1: uint32(0x13002011),
  24094. 2: uint32(0x11322b21),
  24095. 3: uint32(0x00130280),
  24096. 4: uint32(0xa0113028),
  24097. 5: uint32(0x0a011102),
  24098. 6: uint32(0x02921130),
  24099. 7: uint32(0x30210111),
  24100. },
  24101. },
  24102. 253: {
  24103. Fmap1: [8]TFcChar32{
  24104. 0: uint32(0x13020011),
  24105. 1: uint32(0x11302b01),
  24106. 2: uint32(0x03d30290),
  24107. 3: uint32(0x3011122b),
  24108. 4: uint32(0x2b011302),
  24109. },
  24110. },
  24111. 254: {
  24112. Fmap1: [8]TFcChar32{
  24113. 4: uint32(0x00004000),
  24114. 6: uint32(0x20000000),
  24115. },
  24116. },
  24117. 255: {
  24118. Fmap1: [8]TFcChar32{
  24119. 2: uint32(0x00003000),
  24120. },
  24121. },
  24122. 256: {
  24123. Fmap1: [8]TFcChar32{
  24124. 1: uint32(0x040001df),
  24125. 2: uint32(0x80800176),
  24126. 3: uint32(0x420c0000),
  24127. 4: uint32(0x01020140),
  24128. 5: uint32(0x44008200),
  24129. 6: uint32(0x00041018),
  24130. },
  24131. },
  24132. 257: {
  24133. Fmap1: [8]TFcChar32{
  24134. 0: uint32(0xffff0000),
  24135. 1: uint32(0xffff27bf),
  24136. 2: uint32(0x000027bf),
  24137. 5: uint32(0x0c000000),
  24138. 6: uint32(0x03000000),
  24139. 7: uint32(0x000000c0),
  24140. },
  24141. },
  24142. 258: {
  24143. Fmap1: [8]TFcChar32{
  24144. 0: uint32(0x3c000000),
  24145. },
  24146. },
  24147. 259: {
  24148. Fmap1: [8]TFcChar32{
  24149. 1: uint32(0x061ef5c0),
  24150. 2: uint32(0x000001f6),
  24151. 3: uint32(0x40000000),
  24152. 4: uint32(0x01040040),
  24153. 5: uint32(0x00208210),
  24154. 6: uint32(0x00005040),
  24155. },
  24156. },
  24157. 260: {
  24158. Fmap1: [8]TFcChar32{
  24159. 2: uint32(0x07fffffe),
  24160. 3: uint32(0x07fffffe),
  24161. 6: uint32(0x08004480),
  24162. 7: uint32(0x08004480),
  24163. },
  24164. },
  24165. 261: {
  24166. Fmap1: [8]TFcChar32{
  24167. 2: uint32(0xc0000000),
  24168. },
  24169. },
  24170. 262: {
  24171. Fmap1: [8]TFcChar32{
  24172. 0: uint32(0xffff0002),
  24173. 1: uint32(0xffffffff),
  24174. 2: uint32(0x0002ffff),
  24175. },
  24176. },
  24177. 263: {
  24178. Fmap1: [8]TFcChar32{
  24179. 0: uint32(0xffff0042),
  24180. 1: uint32(0xffffffff),
  24181. 2: uint32(0x0042ffff),
  24182. 7: uint32(0x000000c0),
  24183. },
  24184. },
  24185. 264: {
  24186. Fmap1: [8]TFcChar32{
  24187. 1: uint32(0x000c0000),
  24188. },
  24189. },
  24190. 265: {
  24191. Fmap1: [8]TFcChar32{
  24192. 0: uint32(0xffff0002),
  24193. 1: uint32(0xffffffff),
  24194. 2: uint32(0x0002ffff),
  24195. 5: uint32(0x0000c00c),
  24196. },
  24197. },
  24198. 266: {
  24199. Fmap1: [8]TFcChar32{
  24200. 0: uint32(0x000c0003),
  24201. 1: uint32(0x00003c00),
  24202. 2: uint32(0x0000f000),
  24203. 3: uint32(0x00003c00),
  24204. },
  24205. },
  24206. 267: {
  24207. Fmap1: [8]TFcChar32{
  24208. 1: uint32(0x040001de),
  24209. 2: uint32(0x00000176),
  24210. 3: uint32(0x42000000),
  24211. 4: uint32(0x01020140),
  24212. 5: uint32(0x44008200),
  24213. 6: uint32(0x00041008),
  24214. },
  24215. },
  24216. 268: {
  24217. Fmap1: [8]TFcChar32{
  24218. 2: uint32(0x07fffffe),
  24219. 3: uint32(0x07fffffe),
  24220. 6: uint32(0x98504f14),
  24221. 7: uint32(0x18504f14),
  24222. },
  24223. },
  24224. 269: {
  24225. Fmap1: [8]TFcChar32{
  24226. 2: uint32(0x00000c00),
  24227. },
  24228. },
  24229. 270: {
  24230. Fmap1: [8]TFcChar32{
  24231. 2: uint32(0x07fffffe),
  24232. 3: uint32(0x07fffffe),
  24233. 6: uint32(0x00480910),
  24234. 7: uint32(0x00480910),
  24235. },
  24236. },
  24237. 271: {
  24238. Fmap1: [8]TFcChar32{
  24239. 2: uint32(0x07fffffe),
  24240. 3: uint32(0x07fffffe),
  24241. 6: uint32(0x0c186606),
  24242. 7: uint32(0x0c186606),
  24243. },
  24244. },
  24245. 272: {
  24246. Fmap1: [8]TFcChar32{
  24247. 0: uint32(0x0c000000),
  24248. 4: uint32(0x00010040),
  24249. },
  24250. },
  24251. 273: {
  24252. Fmap1: [8]TFcChar32{
  24253. 0: uint32(0x00001006),
  24254. },
  24255. },
  24256. 274: {
  24257. Fmap1: [8]TFcChar32{
  24258. 4: uint32(0xfef02596),
  24259. 5: uint32(0x3bffecae),
  24260. 6: uint32(0x30003f5f),
  24261. },
  24262. },
  24263. 275: {
  24264. Fmap1: [8]TFcChar32{
  24265. 0: uint32(0x03c03030),
  24266. 1: uint32(0x0000c000),
  24267. 3: uint32(0x600c0c03),
  24268. },
  24269. },
  24270. 276: {
  24271. Fmap1: [8]TFcChar32{
  24272. 0: uint32(0x000c3003),
  24273. 1: uint32(0x18c00c0c),
  24274. 2: uint32(0x00c03060),
  24275. 3: uint32(0x60000c03),
  24276. },
  24277. },
  24278. 277: {
  24279. Fmap1: [8]TFcChar32{
  24280. 2: uint32(0x07fffffe),
  24281. 3: uint32(0x07fffffe),
  24282. 6: uint32(0x00100002),
  24283. 7: uint32(0x00100002),
  24284. },
  24285. },
  24286. 278: {
  24287. Fmap1: [8]TFcChar32{
  24288. 0: uint32(0x00000003),
  24289. 1: uint32(0x18000000),
  24290. 2: uint32(0x00003060),
  24291. 3: uint32(0x00000c00),
  24292. },
  24293. },
  24294. 279: {
  24295. Fmap1: [8]TFcChar32{
  24296. 1: uint32(0x00300000),
  24297. },
  24298. },
  24299. 280: {
  24300. Fmap1: [8]TFcChar32{
  24301. 0: uint32(0xfdffb729),
  24302. 1: uint32(0x000001ff),
  24303. 2: uint32(0xb7290000),
  24304. },
  24305. },
  24306. 281: {
  24307. Fmap1: [8]TFcChar32{
  24308. 0: uint32(0xfffddfec),
  24309. 1: uint32(0xc3fffdff),
  24310. 2: uint32(0x00803dcf),
  24311. 3: uint32(0x00000003),
  24312. },
  24313. },
  24314. 282: {
  24315. Fmap1: [8]TFcChar32{
  24316. 1: uint32(0xffffffff),
  24317. 2: uint32(0xffffffff),
  24318. 3: uint32(0x00ffffff),
  24319. 4: uint32(0xffffffff),
  24320. 5: uint32(0x000003ff),
  24321. },
  24322. },
  24323. 283: {
  24324. Fmap1: [8]TFcChar32{
  24325. 0: uint32(0xffff0002),
  24326. 1: uint32(0xffffffff),
  24327. 2: uint32(0x0002ffff),
  24328. 5: uint32(0x0000c000),
  24329. 7: uint32(0x00000300),
  24330. },
  24331. },
  24332. 284: {
  24333. Fmap1: [8]TFcChar32{
  24334. 3: uint32(0x00000010),
  24335. 4: uint32(0xfff99fee),
  24336. 5: uint32(0xf3c5fdff),
  24337. 6: uint32(0xb000798f),
  24338. 7: uint32(0x0002ffc0),
  24339. },
  24340. },
  24341. 285: {
  24342. Fmap1: [8]TFcChar32{
  24343. 2: uint32(0x07fffffe),
  24344. 3: uint32(0x07fffffe),
  24345. 6: uint32(0x00004004),
  24346. 7: uint32(0x00004004),
  24347. },
  24348. },
  24349. 286: {
  24350. Fmap1: [8]TFcChar32{
  24351. 0: uint32(0x0f000000),
  24352. },
  24353. },
  24354. 287: {
  24355. Fmap1: [8]TFcChar32{
  24356. 2: uint32(0x07fffffe),
  24357. 3: uint32(0x07fffffe),
  24358. 6: uint32(0x02045101),
  24359. 7: uint32(0x02045101),
  24360. },
  24361. },
  24362. 288: {
  24363. Fmap1: [8]TFcChar32{
  24364. 0: uint32(0x00000c00),
  24365. 1: uint32(0x000000c3),
  24366. 3: uint32(0x18000000),
  24367. },
  24368. },
  24369. 289: {
  24370. Fmap1: [8]TFcChar32{
  24371. 0: uint32(0xffffffff),
  24372. 1: uint32(0x0007f6fb),
  24373. },
  24374. },
  24375. 290: {
  24376. Fmap1: [8]TFcChar32{
  24377. 3: uint32(0x00000300),
  24378. },
  24379. },
  24380. 291: {
  24381. Fmap1: [8]TFcChar32{
  24382. 2: uint32(0x07fffffe),
  24383. 3: uint32(0x07fffffe),
  24384. 6: uint32(0x011c0661),
  24385. 7: uint32(0x011c0661),
  24386. },
  24387. },
  24388. 292: {
  24389. Fmap1: [8]TFcChar32{
  24390. 0: uint32(0xfff98fee),
  24391. 1: uint32(0xc3e5fdff),
  24392. 2: uint32(0x0001398f),
  24393. 3: uint32(0x0001fff0),
  24394. },
  24395. },
  24396. 293: {
  24397. Fmap1: [8]TFcChar32{
  24398. 2: uint32(0x07fffffe),
  24399. 3: uint32(0x07fffffe),
  24400. 6: uint32(0x1c58af16),
  24401. 7: uint32(0x1c58af16),
  24402. },
  24403. },
  24404. 294: {
  24405. Fmap1: [8]TFcChar32{
  24406. 2: uint32(0x07fffffe),
  24407. 3: uint32(0x07fffffe),
  24408. 6: uint32(0x115c0671),
  24409. 7: uint32(0x115c0671),
  24410. },
  24411. },
  24412. 295: {
  24413. Fmap1: [8]TFcChar32{
  24414. 6: uint32(0xffffffff),
  24415. 7: uint32(0x07ffffff),
  24416. },
  24417. },
  24418. 296: {
  24419. Fmap1: [8]TFcChar32{
  24420. 2: uint32(0x07fffffe),
  24421. 3: uint32(0x07fffffe),
  24422. 6: uint32(0x00100400),
  24423. 7: uint32(0x00100400),
  24424. },
  24425. },
  24426. 297: {
  24427. Fmap1: [8]TFcChar32{
  24428. 3: uint32(0x00000003),
  24429. },
  24430. },
  24431. 298: {
  24432. Fmap1: [8]TFcChar32{
  24433. 2: uint32(0x07fffffe),
  24434. 3: uint32(0x07fffffe),
  24435. 6: uint32(0x00082202),
  24436. 7: uint32(0x00082202),
  24437. },
  24438. },
  24439. 299: {
  24440. Fmap1: [8]TFcChar32{
  24441. 0: uint32(0x03000030),
  24442. 1: uint32(0x0000c000),
  24443. 2: uint32(0x00000006),
  24444. 7: uint32(0x00000c00),
  24445. },
  24446. },
  24447. 300: {
  24448. Fmap1: [8]TFcChar32{
  24449. 5: uint32(0x10000000),
  24450. },
  24451. },
  24452. 301: {
  24453. Fmap1: [8]TFcChar32{
  24454. 0: uint32(0x00000002),
  24455. },
  24456. },
  24457. 302: {
  24458. Fmap1: [8]TFcChar32{
  24459. 3: uint32(0x00300000),
  24460. },
  24461. },
  24462. 303: {
  24463. Fmap1: [8]TFcChar32{
  24464. 2: uint32(0x07fffffe),
  24465. 3: uint32(0x07fffffe),
  24466. 6: uint32(0x040c2383),
  24467. 7: uint32(0x040c2383),
  24468. },
  24469. },
  24470. 304: {
  24471. Fmap1: [8]TFcChar32{
  24472. 0: uint32(0xfff99fee),
  24473. 1: uint32(0xf3cdfdff),
  24474. 2: uint32(0xb0c0398f),
  24475. 3: uint32(0x00000003),
  24476. },
  24477. },
  24478. 305: {
  24479. Fmap1: [8]TFcChar32{
  24480. 1: uint32(0x07ffffc6),
  24481. 2: uint32(0x000001fe),
  24482. 3: uint32(0x40000000),
  24483. 4: uint32(0x01000040),
  24484. 5: uint32(0x0000a000),
  24485. 6: uint32(0x00001000),
  24486. },
  24487. },
  24488. 306: {
  24489. Fmap1: [8]TFcChar32{
  24490. 0: uint32(0xfff987e0),
  24491. 1: uint32(0xd36dfdff),
  24492. 2: uint32(0x1e003987),
  24493. 3: uint32(0x001f0000),
  24494. },
  24495. },
  24496. 307: {
  24497. Fmap1: [8]TFcChar32{
  24498. 2: uint32(0x07fffffe),
  24499. 3: uint32(0x07fffffe),
  24500. 6: uint32(0x160e2302),
  24501. 7: uint32(0x160e2302),
  24502. },
  24503. },
  24504. 308: {
  24505. Fmap1: [8]TFcChar32{
  24506. 2: uint32(0x07fffffe),
  24507. 3: uint32(0x07fffffe),
  24508. 6: uint32(0x00020000),
  24509. 7: uint32(0x00020000),
  24510. },
  24511. },
  24512. 309: {
  24513. Fmap1: [8]TFcChar32{
  24514. 0: uint32(0x030000f0),
  24515. 2: uint32(0x0c00001e),
  24516. 3: uint32(0x1e000000),
  24517. },
  24518. },
  24519. 310: {
  24520. Fmap1: [8]TFcChar32{
  24521. 1: uint32(0x07ffffde),
  24522. 2: uint32(0x000005f6),
  24523. 3: uint32(0x50000000),
  24524. 4: uint32(0x05480262),
  24525. 5: uint32(0x10000a00),
  24526. 6: uint32(0x00013000),
  24527. },
  24528. },
  24529. 311: {
  24530. Fmap1: [8]TFcChar32{
  24531. 1: uint32(0x07ffffde),
  24532. 2: uint32(0x000005f6),
  24533. 3: uint32(0x50000000),
  24534. 4: uint32(0x05480262),
  24535. 5: uint32(0x10000a00),
  24536. 6: uint32(0x00052000),
  24537. },
  24538. },
  24539. 312: {
  24540. Fmap1: [8]TFcChar32{
  24541. 2: uint32(0x07fffffe),
  24542. 3: uint32(0x07fffffe),
  24543. 6: uint32(0x143c278f),
  24544. 7: uint32(0x143c278f),
  24545. },
  24546. },
  24547. 313: {
  24548. Fmap1: [8]TFcChar32{
  24549. 6: uint32(0x00000100),
  24550. },
  24551. },
  24552. 314: {
  24553. Fmap1: [8]TFcChar32{
  24554. 2: uint32(0x07fffffe),
  24555. 3: uint32(0x07fffffe),
  24556. 6: uint32(0x02045301),
  24557. 7: uint32(0x02045301),
  24558. },
  24559. },
  24560. 315: {
  24561. Fmap1: [8]TFcChar32{
  24562. 0: uint32(0xffff0002),
  24563. 1: uint32(0xffffffff),
  24564. 2: uint32(0x0002ffff),
  24565. 4: uint32(0x00300000),
  24566. 5: uint32(0x0c00c030),
  24567. 6: uint32(0x03000000),
  24568. },
  24569. },
  24570. 316: {
  24571. Fmap1: [8]TFcChar32{
  24572. 0: uint32(0xfff987ee),
  24573. 1: uint32(0xf325fdff),
  24574. 2: uint32(0x00013987),
  24575. 3: uint32(0x0001fff0),
  24576. },
  24577. },
  24578. 317: {
  24579. Fmap1: [8]TFcChar32{
  24580. 2: uint32(0x07fffffe),
  24581. 3: uint32(0x07fffffe),
  24582. 6: uint32(0x02041101),
  24583. 7: uint32(0x02041101),
  24584. },
  24585. },
  24586. 318: {
  24587. Fmap1: [8]TFcChar32{
  24588. 5: uint32(0x00800000),
  24589. },
  24590. },
  24591. 319: {
  24592. Fmap1: [8]TFcChar32{
  24593. 0: uint32(0x30000000),
  24594. 4: uint32(0x00040000),
  24595. },
  24596. },
  24597. 320: {
  24598. Fmap1: [8]TFcChar32{
  24599. 1: uint32(0x07fffdd6),
  24600. 2: uint32(0x000005f6),
  24601. 3: uint32(0xec000000),
  24602. 4: uint32(0x0200b4d9),
  24603. 5: uint32(0x480a8640),
  24604. },
  24605. },
  24606. 321: {
  24607. Fmap1: [8]TFcChar32{
  24608. 2: uint32(0x07fffffe),
  24609. 3: uint32(0x07fffffe),
  24610. 6: uint32(0x00000002),
  24611. 7: uint32(0x00000002),
  24612. },
  24613. },
  24614. 322: {
  24615. Fmap1: [8]TFcChar32{
  24616. 0: uint32(0x00033000),
  24617. 2: uint32(0x00000c00),
  24618. 3: uint32(0x600000c3),
  24619. },
  24620. },
  24621. 323: {
  24622. Fmap1: [8]TFcChar32{
  24623. 2: uint32(0x07fffffe),
  24624. 3: uint32(0x07fffffe),
  24625. 6: uint32(0x1850cc14),
  24626. 7: uint32(0x1850cc14),
  24627. },
  24628. },
  24629. 324: {
  24630. Fmap1: [8]TFcChar32{
  24631. 0: uint32(0xffff8f04),
  24632. 1: uint32(0xffffffff),
  24633. 2: uint32(0x8f04ffff),
  24634. 4: uint32(0x030c0000),
  24635. 5: uint32(0x0c00cc0f),
  24636. 6: uint32(0x03000000),
  24637. 7: uint32(0x00000300),
  24638. },
  24639. },
  24640. 325: {
  24641. Fmap1: [8]TFcChar32{
  24642. 1: uint32(0x00800000),
  24643. 2: uint32(0x03bffbaa),
  24644. 3: uint32(0x03bffbaa),
  24645. 6: uint32(0x00002202),
  24646. 7: uint32(0x00002202),
  24647. },
  24648. },
  24649. 326: {
  24650. Fmap1: [8]TFcChar32{
  24651. 0: uint32(0x00080000),
  24652. },
  24653. },
  24654. 327: {
  24655. Fmap1: [8]TFcChar32{
  24656. 4: uint32(0xfc7e3fec),
  24657. 5: uint32(0x2ffbffbf),
  24658. 6: uint32(0x7f5f847f),
  24659. 7: uint32(0x00040000),
  24660. },
  24661. },
  24662. 328: {
  24663. Fmap1: [8]TFcChar32{
  24664. 0: uint32(0xff7fff7f),
  24665. 1: uint32(0xff01ff7f),
  24666. 2: uint32(0x3d7f3d7f),
  24667. 3: uint32(0xffff7fff),
  24668. 4: uint32(0xffff3d7f),
  24669. 5: uint32(0x003d7fff),
  24670. 6: uint32(0xff7f7f3d),
  24671. 7: uint32(0x00ff7fff),
  24672. },
  24673. },
  24674. 329: {
  24675. Fmap1: [8]TFcChar32{
  24676. 2: uint32(0x07fffffe),
  24677. 3: uint32(0x07fffffe),
  24678. 6: uint32(0x24182212),
  24679. 7: uint32(0x24182212),
  24680. },
  24681. },
  24682. 330: {
  24683. Fmap1: [8]TFcChar32{
  24684. 0: uint32(0x0000f000),
  24685. 1: uint32(0x66000000),
  24686. 2: uint32(0x00300180),
  24687. 3: uint32(0x60000033),
  24688. },
  24689. },
  24690. 331: {
  24691. Fmap1: [8]TFcChar32{
  24692. 2: uint32(0x07fffffe),
  24693. 3: uint32(0x07fffffe),
  24694. 6: uint32(0x00408030),
  24695. 7: uint32(0x00408030),
  24696. },
  24697. },
  24698. 332: {
  24699. Fmap1: [8]TFcChar32{
  24700. 2: uint32(0x07fffffe),
  24701. 3: uint32(0x07fffffe),
  24702. 6: uint32(0x00020032),
  24703. 7: uint32(0x00020032),
  24704. },
  24705. },
  24706. 333: {
  24707. Fmap1: [8]TFcChar32{
  24708. 2: uint32(0x07fffffe),
  24709. 3: uint32(0x07fffffe),
  24710. 6: uint32(0x00000016),
  24711. 7: uint32(0x00000016),
  24712. },
  24713. },
  24714. 334: {
  24715. Fmap1: [8]TFcChar32{
  24716. 0: uint32(0x00033000),
  24717. 2: uint32(0x00000c00),
  24718. 3: uint32(0x60000003),
  24719. },
  24720. },
  24721. 335: {
  24722. Fmap1: [8]TFcChar32{
  24723. 2: uint32(0x07fffffe),
  24724. 3: uint32(0x07fffffe),
  24725. 6: uint32(0x00200034),
  24726. 7: uint32(0x00200034),
  24727. },
  24728. },
  24729. 336: {
  24730. Fmap1: [8]TFcChar32{
  24731. 0: uint32(0x00033000),
  24732. 2: uint32(0x00000c00),
  24733. 3: uint32(0x60000003),
  24734. 5: uint32(0x00800000),
  24735. 7: uint32(0x0000c3f0),
  24736. },
  24737. },
  24738. 337: {
  24739. Fmap1: [8]TFcChar32{
  24740. 4: uint32(0x00040000),
  24741. },
  24742. },
  24743. 338: {
  24744. Fmap1: [8]TFcChar32{
  24745. 2: uint32(0x07fffffe),
  24746. 3: uint32(0x07fffffe),
  24747. 6: uint32(0x00000880),
  24748. 7: uint32(0x00000880),
  24749. },
  24750. },
  24751. 339: {
  24752. Fmap1: [8]TFcChar32{
  24753. 0: uint32(0xfdff8f04),
  24754. 1: uint32(0xfdff01ff),
  24755. 2: uint32(0x8f0401ff),
  24756. },
  24757. },
  24758. 340: {
  24759. Fmap1: [8]TFcChar32{
  24760. 2: uint32(0x07fffffe),
  24761. 3: uint32(0x07fffffe),
  24762. 6: uint32(0x10400a33),
  24763. 7: uint32(0x10400a33),
  24764. },
  24765. },
  24766. 341: {
  24767. Fmap1: [8]TFcChar32{
  24768. 0: uint32(0xffff0000),
  24769. 1: uint32(0xffff1fff),
  24770. },
  24771. },
  24772. 342: {
  24773. Fmap1: [8]TFcChar32{
  24774. 4: uint32(0xd63dc7e8),
  24775. 5: uint32(0xc3bfc718),
  24776. 6: uint32(0x00803dc7),
  24777. },
  24778. },
  24779. 343: {
  24780. Fmap1: [8]TFcChar32{
  24781. 0: uint32(0xfffddfee),
  24782. 1: uint32(0xc3effdff),
  24783. 2: uint32(0x00603ddf),
  24784. 3: uint32(0x00000003),
  24785. },
  24786. },
  24787. 344: {
  24788. Fmap1: [8]TFcChar32{
  24789. 0: uint32(0xffff0002),
  24790. 1: uint32(0xffffffff),
  24791. 2: uint32(0x0002ffff),
  24792. 4: uint32(0x0c0c0000),
  24793. 5: uint32(0x00cc0000),
  24794. 7: uint32(0x0000c00c),
  24795. },
  24796. },
  24797. 345: {
  24798. Fmap1: [8]TFcChar32{
  24799. 0: uint32(0xfffffffe),
  24800. 1: uint32(0x87ffffff),
  24801. 2: uint32(0x00007fff),
  24802. },
  24803. },
  24804. 346: {
  24805. Fmap1: [8]TFcChar32{
  24806. 0: uint32(0xff7fff7f),
  24807. 1: uint32(0xff01ff00),
  24808. 2: uint32(0x00003d7f),
  24809. 3: uint32(0xffff7fff),
  24810. 4: uint32(0x00ff0000),
  24811. 5: uint32(0x003d7f7f),
  24812. 6: uint32(0xff7f7f00),
  24813. 7: uint32(0x00ff7f00),
  24814. },
  24815. },
  24816. 347: {
  24817. Fmap1: [8]TFcChar32{
  24818. 2: uint32(0x07fffffe),
  24819. 3: uint32(0x07fffffe),
  24820. 6: uint32(0x30400090),
  24821. 7: uint32(0x30400090),
  24822. },
  24823. },
  24824. 348: {
  24825. Fmap1: [8]TFcChar32{
  24826. 2: uint32(0xc0000180),
  24827. 3: uint32(0x60000000),
  24828. },
  24829. },
  24830. 349: {
  24831. Fmap1: [8]TFcChar32{
  24832. 2: uint32(0x07fffffe),
  24833. 3: uint32(0x07fffffe),
  24834. 6: uint32(0x18404084),
  24835. 7: uint32(0x18404084),
  24836. },
  24837. },
  24838. 350: {
  24839. Fmap1: [8]TFcChar32{
  24840. 0: uint32(0xffff0002),
  24841. 1: uint32(0xffffffff),
  24842. 2: uint32(0x0002ffff),
  24843. 4: uint32(0x00c00000),
  24844. 5: uint32(0x0c00c00c),
  24845. 6: uint32(0x03000000),
  24846. },
  24847. },
  24848. 351: {
  24849. Fmap1: [8]TFcChar32{
  24850. 2: uint32(0x07fffffe),
  24851. 3: uint32(0x07fffffe),
  24852. 6: uint32(0x00008000),
  24853. 7: uint32(0x00008000),
  24854. },
  24855. },
  24856. 352: {
  24857. Fmap1: [8]TFcChar32{
  24858. 1: uint32(0x041ed5c0),
  24859. 2: uint32(0x0000077e),
  24860. 3: uint32(0x40000000),
  24861. 4: uint32(0x01000040),
  24862. 5: uint32(0x4000a000),
  24863. 6: uint32(0x002109c0),
  24864. },
  24865. },
  24866. 353: {
  24867. Fmap1: [8]TFcChar32{
  24868. 0: uint32(0xffff00d0),
  24869. 1: uint32(0xffffffff),
  24870. 2: uint32(0x00d0ffff),
  24871. 4: uint32(0x00030000),
  24872. },
  24873. },
  24874. 354: {
  24875. Fmap1: [8]TFcChar32{
  24876. 1: uint32(0xffffff7b),
  24877. 2: uint32(0x7fffffff),
  24878. 3: uint32(0x7ffffffe),
  24879. 5: uint32(0x80e310fe),
  24880. 6: uint32(0x00800000),
  24881. 7: uint32(0x00800000),
  24882. },
  24883. },
  24884. 355: {
  24885. Fmap1: [8]TFcChar32{
  24886. 1: uint32(0x00020000),
  24887. },
  24888. },
  24889. 356: {
  24890. Fmap1: [8]TFcChar32{
  24891. 0: uint32(0x00001500),
  24892. 1: uint32(0x01000000),
  24893. 4: uint32(0xfffe0000),
  24894. 5: uint32(0xfffe03db),
  24895. 6: uint32(0x006003fb),
  24896. 7: uint32(0x00030000),
  24897. },
  24898. },
  24899. 357: {
  24900. Fmap1: [8]TFcChar32{
  24901. 0: uint32(0x00400000),
  24902. 1: uint32(0x00000047),
  24903. 2: uint32(0x00800010),
  24904. 7: uint32(0x00000002),
  24905. },
  24906. },
  24907. 358: {
  24908. Fmap1: [8]TFcChar32{
  24909. 0: uint32(0x3f2fc004),
  24910. 1: uint32(0x00000010),
  24911. },
  24912. },
  24913. 359: {
  24914. Fmap1: [8]TFcChar32{
  24915. 0: uint32(0xe3ffbfff),
  24916. 1: uint32(0xfff007ff),
  24917. 2: uint32(0x00000001),
  24918. 4: uint32(0xfffff000),
  24919. 5: uint32(0x0000003f),
  24920. 6: uint32(0x0000e10f),
  24921. },
  24922. },
  24923. 360: {
  24924. Fmap1: [8]TFcChar32{
  24925. 0: uint32(0x00000f00),
  24926. 1: uint32(0x0000000c),
  24927. },
  24928. },
  24929. 361: {
  24930. Fmap1: [8]TFcChar32{
  24931. 5: uint32(0x00000003),
  24932. },
  24933. },
  24934. 362: {
  24935. Fmap1: [8]TFcChar32{
  24936. 7: uint32(0x000003c0),
  24937. },
  24938. },
  24939. 363: {
  24940. Fmap1: [8]TFcChar32{
  24941. 0: uint32(0xffffffff),
  24942. 1: uint32(0xffffffff),
  24943. 2: uint32(0xffdfffff),
  24944. 3: uint32(0xffffffff),
  24945. 4: uint32(0xdfffffff),
  24946. 5: uint32(0x00001e64),
  24947. },
  24948. },
  24949. 364: {
  24950. Fmap1: [8]TFcChar32{
  24951. 1: uint32(0x78000000),
  24952. 2: uint32(0x0001fc5f),
  24953. },
  24954. },
  24955. 365: {
  24956. Fmap1: [8]TFcChar32{
  24957. 5: uint32(0x00000030),
  24958. },
  24959. },
  24960. 366: {
  24961. Fmap1: [8]TFcChar32{
  24962. 0: uint32(0x0c000000),
  24963. 7: uint32(0x00091e00),
  24964. },
  24965. },
  24966. 367: {
  24967. Fmap1: [8]TFcChar32{
  24968. 7: uint32(0x60000000),
  24969. },
  24970. },
  24971. 368: {
  24972. Fmap1: [8]TFcChar32{
  24973. 0: uint32(0x00300000),
  24974. 2: uint32(0x000fff00),
  24975. 3: uint32(0x80000000),
  24976. 4: uint32(0x00080000),
  24977. 5: uint32(0x60000c02),
  24978. 6: uint32(0x00104030),
  24979. 7: uint32(0x242c0400),
  24980. },
  24981. },
  24982. 369: {
  24983. Fmap1: [8]TFcChar32{
  24984. 0: uint32(0x00000c20),
  24985. 1: uint32(0x00000100),
  24986. 2: uint32(0x00b85000),
  24987. 4: uint32(0x00e00000),
  24988. 5: uint32(0x80010000),
  24989. },
  24990. },
  24991. 370: {
  24992. Fmap1: [8]TFcChar32{
  24993. 0: uint32(0x18000000),
  24994. 2: uint32(0x00210000),
  24995. },
  24996. },
  24997. 371: {
  24998. Fmap1: [8]TFcChar32{
  24999. 0: uint32(0x00000010),
  25000. 6: uint32(0x00008000),
  25001. },
  25002. },
  25003. 372: {
  25004. Fmap1: [8]TFcChar32{
  25005. 4: uint32(0x07fe4000),
  25006. 7: uint32(0xffffffc0),
  25007. },
  25008. },
  25009. 373: {
  25010. Fmap1: [8]TFcChar32{
  25011. 0: uint32(0x04000002),
  25012. 1: uint32(0x077c8000),
  25013. 2: uint32(0x00030000),
  25014. },
  25015. },
  25016. 374: {
  25017. Fmap1: [8]TFcChar32{
  25018. 0: uint32(0xffffffff),
  25019. 1: uint32(0xffbf0001),
  25020. 2: uint32(0xffffffff),
  25021. 3: uint32(0x1fffffff),
  25022. 4: uint32(0x000fffff),
  25023. 5: uint32(0xffffffff),
  25024. 6: uint32(0x000007df),
  25025. 7: uint32(0x0001ffff),
  25026. },
  25027. },
  25028. 375: {
  25029. Fmap1: [8]TFcChar32{
  25030. 2: uint32(0xfffffffd),
  25031. 3: uint32(0xffffffff),
  25032. 4: uint32(0xffffffff),
  25033. 5: uint32(0xffffffff),
  25034. 6: uint32(0xffffffff),
  25035. 7: uint32(0x1effffff),
  25036. },
  25037. },
  25038. 376: {
  25039. Fmap1: [8]TFcChar32{
  25040. 0: uint32(0xffffffff),
  25041. 1: uint32(0x3fffffff),
  25042. 2: uint32(0xffff0000),
  25043. 3: uint32(0x000000ff),
  25044. 7: uint32(0xf8000000),
  25045. },
  25046. },
  25047. 377: {
  25048. Fmap1: [8]TFcChar32{
  25049. 0: uint32(0x755dfffe),
  25050. 1: uint32(0xffef2f3f),
  25051. 2: uint32(0x0000ffe1),
  25052. },
  25053. },
  25054. 378: {
  25055. Fmap1: [8]TFcChar32{
  25056. 0: uint32(0x000c0000),
  25057. 1: uint32(0x30000000),
  25058. 2: uint32(0x00000c30),
  25059. 3: uint32(0x00030000),
  25060. },
  25061. },
  25062. 379: {
  25063. Fmap1: [8]TFcChar32{
  25064. 2: uint32(0x07fffffe),
  25065. 3: uint32(0x07fffffe),
  25066. 6: uint32(0x263c370f),
  25067. 7: uint32(0x263c370f),
  25068. },
  25069. },
  25070. 380: {
  25071. Fmap1: [8]TFcChar32{
  25072. 0: uint32(0x0003000c),
  25073. 1: uint32(0x00000300),
  25074. 3: uint32(0x00000300),
  25075. 5: uint32(0x00018003),
  25076. },
  25077. },
  25078. 381: {
  25079. Fmap1: [8]TFcChar32{
  25080. 0: uint32(0x0800024f),
  25081. 1: uint32(0x00000008),
  25082. },
  25083. },
  25084. 382: {
  25085. Fmap1: [8]TFcChar32{
  25086. 5: uint32(0xffffffff),
  25087. 6: uint32(0xffffffff),
  25088. 7: uint32(0x03ffffff),
  25089. },
  25090. },
  25091. 383: {
  25092. Fmap1: [8]TFcChar32{
  25093. 2: uint32(0x077dfffe),
  25094. 3: uint32(0x077dfffe),
  25095. 6: uint32(0x10400010),
  25096. 7: uint32(0x10400010),
  25097. },
  25098. },
  25099. 384: {
  25100. Fmap1: [8]TFcChar32{
  25101. 2: uint32(0x07fffffe),
  25102. 3: uint32(0x07fffffe),
  25103. 6: uint32(0x10400010),
  25104. 7: uint32(0x10400010),
  25105. },
  25106. },
  25107. 385: {
  25108. Fmap1: [8]TFcChar32{
  25109. 2: uint32(0x07fffffe),
  25110. 3: uint32(0x07fffffe),
  25111. 6: uint32(0x081047a4),
  25112. 7: uint32(0x081047a4),
  25113. },
  25114. },
  25115. 386: {
  25116. Fmap1: [8]TFcChar32{
  25117. 0: uint32(0x0c0030c0),
  25118. 2: uint32(0x0f30001e),
  25119. 3: uint32(0x66000003),
  25120. },
  25121. },
  25122. 387: {
  25123. Fmap1: [8]TFcChar32{
  25124. 2: uint32(0x07fffffe),
  25125. 3: uint32(0x07fffffe),
  25126. 6: uint32(0x000a0a09),
  25127. 7: uint32(0x000a0a09),
  25128. },
  25129. },
  25130. 388: {
  25131. Fmap1: [8]TFcChar32{
  25132. 2: uint32(0x07fffffe),
  25133. 3: uint32(0x07fffffe),
  25134. 6: uint32(0x00400810),
  25135. 7: uint32(0x00400810),
  25136. },
  25137. },
  25138. 389: {
  25139. Fmap1: [8]TFcChar32{
  25140. 2: uint32(0x07fffffe),
  25141. 3: uint32(0x07fffffe),
  25142. 6: uint32(0x0e3c770f),
  25143. 7: uint32(0x0e3c770f),
  25144. },
  25145. },
  25146. 390: {
  25147. Fmap1: [8]TFcChar32{
  25148. 0: uint32(0x0c000000),
  25149. 1: uint32(0x00000300),
  25150. 2: uint32(0x00000018),
  25151. 3: uint32(0x00000300),
  25152. 6: uint32(0x001fe000),
  25153. 7: uint32(0x03000000),
  25154. },
  25155. },
  25156. 391: {
  25157. Fmap1: [8]TFcChar32{
  25158. 0: uint32(0x0000100f),
  25159. },
  25160. },
  25161. 392: {
  25162. Fmap1: [8]TFcChar32{
  25163. 1: uint32(0xc0000000),
  25164. 3: uint32(0x0000000c),
  25165. 5: uint32(0x33000000),
  25166. 6: uint32(0x00003000),
  25167. },
  25168. },
  25169. 393: {
  25170. Fmap1: [8]TFcChar32{
  25171. 6: uint32(0x00000280),
  25172. },
  25173. },
  25174. 394: {
  25175. Fmap1: [8]TFcChar32{
  25176. 0: uint32(0x7f7b7f8b),
  25177. 1: uint32(0xef553db4),
  25178. 2: uint32(0xf35dfba8),
  25179. 3: uint32(0x400b0243),
  25180. 4: uint32(0x8d3efb40),
  25181. 5: uint32(0x8c2c7bf7),
  25182. 6: uint32(0xe3fa6eff),
  25183. 7: uint32(0xa8ed1d3a),
  25184. },
  25185. },
  25186. 395: {
  25187. Fmap1: [8]TFcChar32{
  25188. 0: uint32(0xcf83e602),
  25189. 1: uint32(0x35558cf5),
  25190. 2: uint32(0xffabe048),
  25191. 3: uint32(0xd85992b9),
  25192. 4: uint32(0x2892ab18),
  25193. 5: uint32(0x8020d7e9),
  25194. 6: uint32(0xf583c438),
  25195. 7: uint32(0x450ae74a),
  25196. },
  25197. },
  25198. 396: {
  25199. Fmap1: [8]TFcChar32{
  25200. 0: uint32(0x9714b000),
  25201. 1: uint32(0x54007762),
  25202. 2: uint32(0x1420d188),
  25203. 3: uint32(0xc8c01020),
  25204. 4: uint32(0x00002121),
  25205. 5: uint32(0x0c0413a8),
  25206. 6: uint32(0x04408000),
  25207. 7: uint32(0x082870c0),
  25208. },
  25209. },
  25210. 397: {
  25211. Fmap1: [8]TFcChar32{
  25212. 0: uint32(0x000408c0),
  25213. 1: uint32(0x80000002),
  25214. 2: uint32(0x14722b7b),
  25215. 3: uint32(0x3bfb7924),
  25216. 4: uint32(0x1ae43327),
  25217. 5: uint32(0x38ef9835),
  25218. 6: uint32(0x28029ad1),
  25219. 7: uint32(0xbf69a813),
  25220. },
  25221. },
  25222. 398: {
  25223. Fmap1: [8]TFcChar32{
  25224. 0: uint32(0x2fc665cf),
  25225. 1: uint32(0xafc96b11),
  25226. 2: uint32(0x5053340f),
  25227. 3: uint32(0xa00486a2),
  25228. 4: uint32(0xe8090106),
  25229. 5: uint32(0xc00e3f0f),
  25230. 6: uint32(0x81450a88),
  25231. 7: uint32(0xc6010010),
  25232. },
  25233. },
  25234. 399: {
  25235. Fmap1: [8]TFcChar32{
  25236. 0: uint32(0x26e1a161),
  25237. 1: uint32(0xce00444b),
  25238. 2: uint32(0xd4eec7aa),
  25239. 3: uint32(0x85bbcadf),
  25240. 4: uint32(0xa5203a74),
  25241. 5: uint32(0x8840436c),
  25242. 6: uint32(0x8bd23f06),
  25243. 7: uint32(0x3befff79),
  25244. },
  25245. },
  25246. 400: {
  25247. Fmap1: [8]TFcChar32{
  25248. 0: uint32(0xe8eff75a),
  25249. 1: uint32(0x5b36fbcb),
  25250. 2: uint32(0x1bfd0d49),
  25251. 3: uint32(0x39ee0154),
  25252. 4: uint32(0x2e75d855),
  25253. 5: uint32(0xa91abfd8),
  25254. 6: uint32(0xf6bff3d7),
  25255. 7: uint32(0xb40c67e0),
  25256. },
  25257. },
  25258. 401: {
  25259. Fmap1: [8]TFcChar32{
  25260. 0: uint32(0x081382c2),
  25261. 1: uint32(0xd08bd49d),
  25262. 2: uint32(0x1061065a),
  25263. 3: uint32(0x59e074f2),
  25264. 4: uint32(0xb3128f9f),
  25265. 5: uint32(0x6aaa0080),
  25266. 6: uint32(0xb05e3230),
  25267. 7: uint32(0x60ac9d7a),
  25268. },
  25269. },
  25270. 402: {
  25271. Fmap1: [8]TFcChar32{
  25272. 0: uint32(0xc900d303),
  25273. 1: uint32(0x8a563098),
  25274. 2: uint32(0x13907000),
  25275. 3: uint32(0x18421f14),
  25276. 4: uint32(0x0008c060),
  25277. 5: uint32(0x10808008),
  25278. 6: uint32(0xec900400),
  25279. 7: uint32(0xe6332817),
  25280. },
  25281. },
  25282. 403: {
  25283. Fmap1: [8]TFcChar32{
  25284. 0: uint32(0x90000758),
  25285. 1: uint32(0x4e09f708),
  25286. 2: uint32(0xfc83f485),
  25287. 3: uint32(0x18c8af53),
  25288. 4: uint32(0x080c187c),
  25289. 5: uint32(0x01146adf),
  25290. 6: uint32(0xa734c80c),
  25291. 7: uint32(0x2710a011),
  25292. },
  25293. },
  25294. 404: {
  25295. Fmap1: [8]TFcChar32{
  25296. 0: uint32(0x422228c5),
  25297. 1: uint32(0x00210413),
  25298. 2: uint32(0x41123010),
  25299. 3: uint32(0x40001820),
  25300. 4: uint32(0xc60c022b),
  25301. 5: uint32(0x10000300),
  25302. 6: uint32(0x00220022),
  25303. 7: uint32(0x02495810),
  25304. },
  25305. },
  25306. 405: {
  25307. Fmap1: [8]TFcChar32{
  25308. 0: uint32(0x9670a094),
  25309. 1: uint32(0x1792eeb0),
  25310. 2: uint32(0x05f2cb96),
  25311. 3: uint32(0x23580025),
  25312. 4: uint32(0x42cc25de),
  25313. 5: uint32(0x4a04cf38),
  25314. 6: uint32(0x359f0c40),
  25315. 7: uint32(0x8a001128),
  25316. },
  25317. },
  25318. 406: {
  25319. Fmap1: [8]TFcChar32{
  25320. 0: uint32(0x910a13fa),
  25321. 1: uint32(0x10560229),
  25322. 2: uint32(0x04200641),
  25323. 3: uint32(0x84f00484),
  25324. 4: uint32(0x0c040000),
  25325. 5: uint32(0x412c0400),
  25326. 6: uint32(0x11541206),
  25327. 7: uint32(0x00020a4b),
  25328. },
  25329. },
  25330. 407: {
  25331. Fmap1: [8]TFcChar32{
  25332. 0: uint32(0x00c00200),
  25333. 1: uint32(0x00940000),
  25334. 2: uint32(0xbfbb0001),
  25335. 3: uint32(0x242b167c),
  25336. 4: uint32(0x7fa89bbb),
  25337. 5: uint32(0xe3790c7f),
  25338. 6: uint32(0xe00d10f4),
  25339. 7: uint32(0x9f014132),
  25340. },
  25341. },
  25342. 408: {
  25343. Fmap1: [8]TFcChar32{
  25344. 0: uint32(0x35728652),
  25345. 1: uint32(0xff1210b4),
  25346. 2: uint32(0x4223cf27),
  25347. 3: uint32(0x8602c06b),
  25348. 4: uint32(0x1fd33106),
  25349. 5: uint32(0xa1aa3a0c),
  25350. 6: uint32(0x02040812),
  25351. 7: uint32(0x08012572),
  25352. },
  25353. },
  25354. 409: {
  25355. Fmap1: [8]TFcChar32{
  25356. 0: uint32(0x485040cc),
  25357. 1: uint32(0x601062d0),
  25358. 2: uint32(0x29001c80),
  25359. 3: uint32(0x00109a00),
  25360. 4: uint32(0x22000004),
  25361. 5: uint32(0x00800000),
  25362. 6: uint32(0x68002020),
  25363. 7: uint32(0x609ecbe6),
  25364. },
  25365. },
  25366. 410: {
  25367. Fmap1: [8]TFcChar32{
  25368. 0: uint32(0x3f73916e),
  25369. 1: uint32(0x398260c0),
  25370. 2: uint32(0x48301034),
  25371. 3: uint32(0xbd5c0006),
  25372. 4: uint32(0xd6fb8cd1),
  25373. 5: uint32(0x43e820e1),
  25374. 6: uint32(0x084e0600),
  25375. 7: uint32(0xc4d00500),
  25376. },
  25377. },
  25378. 411: {
  25379. Fmap1: [8]TFcChar32{
  25380. 0: uint32(0x89aa8d1f),
  25381. 1: uint32(0x1602a6e1),
  25382. 2: uint32(0x21ed0001),
  25383. 3: uint32(0x1a8b3656),
  25384. 4: uint32(0x13a51fb7),
  25385. 5: uint32(0x30a06502),
  25386. 6: uint32(0x23c7b278),
  25387. 7: uint32(0xe9226c93),
  25388. },
  25389. },
  25390. 412: {
  25391. Fmap1: [8]TFcChar32{
  25392. 0: uint32(0x3a74e47f),
  25393. 1: uint32(0x98208fe3),
  25394. 2: uint32(0x2625280e),
  25395. 3: uint32(0xbf49bf9c),
  25396. 4: uint32(0xac543218),
  25397. 5: uint32(0x1916b949),
  25398. 6: uint32(0xb5220c60),
  25399. 7: uint32(0x0659fbc1),
  25400. },
  25401. },
  25402. 413: {
  25403. Fmap1: [8]TFcChar32{
  25404. 0: uint32(0x8420e343),
  25405. 1: uint32(0x800008d9),
  25406. 2: uint32(0x20225500),
  25407. 3: uint32(0x00a10184),
  25408. 4: uint32(0x20104800),
  25409. 5: uint32(0x40801380),
  25410. 6: uint32(0x00160d04),
  25411. 7: uint32(0x80200040),
  25412. },
  25413. },
  25414. 414: {
  25415. Fmap1: [8]TFcChar32{
  25416. 0: uint32(0x8de7fd40),
  25417. 1: uint32(0xe0985436),
  25418. 2: uint32(0x091e7b8b),
  25419. 3: uint32(0xd249fec8),
  25420. 4: uint32(0x8dee0611),
  25421. 5: uint32(0xba221937),
  25422. 6: uint32(0x9fdd77f4),
  25423. 7: uint32(0xf0daf3ec),
  25424. },
  25425. },
  25426. 415: {
  25427. Fmap1: [8]TFcChar32{
  25428. 0: uint32(0xec424386),
  25429. 1: uint32(0x26048d3f),
  25430. 2: uint32(0xc021fa6c),
  25431. 3: uint32(0x0cc2628e),
  25432. 4: uint32(0x0145d785),
  25433. 5: uint32(0x559977ad),
  25434. 6: uint32(0x4045e250),
  25435. 7: uint32(0xa154260b),
  25436. },
  25437. },
  25438. 416: {
  25439. Fmap1: [8]TFcChar32{
  25440. 0: uint32(0x58199827),
  25441. 1: uint32(0xa4103443),
  25442. 2: uint32(0x411405f2),
  25443. 3: uint32(0x07002280),
  25444. 4: uint32(0x426600b4),
  25445. 5: uint32(0x15a17210),
  25446. 6: uint32(0x41856025),
  25447. 7: uint32(0x00000054),
  25448. },
  25449. },
  25450. 417: {
  25451. Fmap1: [8]TFcChar32{
  25452. 0: uint32(0x01040201),
  25453. 1: uint32(0xcb70c820),
  25454. 2: uint32(0x6a629320),
  25455. 3: uint32(0x0095184c),
  25456. 4: uint32(0x9a8b1880),
  25457. 5: uint32(0x3201aab2),
  25458. 6: uint32(0x00c4d87a),
  25459. 7: uint32(0x04c3f3e5),
  25460. },
  25461. },
  25462. 418: {
  25463. Fmap1: [8]TFcChar32{
  25464. 0: uint32(0xa238d44d),
  25465. 1: uint32(0x5072a1a1),
  25466. 2: uint32(0x84fc980a),
  25467. 3: uint32(0x44d1c152),
  25468. 4: uint32(0x20c21094),
  25469. 5: uint32(0x42104180),
  25470. 6: uint32(0x3a000000),
  25471. 7: uint32(0xd29d0240),
  25472. },
  25473. },
  25474. 419: {
  25475. Fmap1: [8]TFcChar32{
  25476. 0: uint32(0xa8b12f01),
  25477. 1: uint32(0x2432bd40),
  25478. 2: uint32(0xd04bd34d),
  25479. 3: uint32(0xd0ada723),
  25480. 4: uint32(0x75a10a92),
  25481. 5: uint32(0x01e9adac),
  25482. 6: uint32(0x771f801a),
  25483. 7: uint32(0xa01b9225),
  25484. },
  25485. },
  25486. 420: {
  25487. Fmap1: [8]TFcChar32{
  25488. 0: uint32(0x20cadfa1),
  25489. 1: uint32(0x738c0602),
  25490. 2: uint32(0x003b577f),
  25491. 3: uint32(0x00d00bff),
  25492. 4: uint32(0x0088806a),
  25493. 5: uint32(0x0029a1c4),
  25494. 6: uint32(0x05242a05),
  25495. 7: uint32(0x16234009),
  25496. },
  25497. },
  25498. 421: {
  25499. Fmap1: [8]TFcChar32{
  25500. 0: uint32(0x80056822),
  25501. 1: uint32(0xa2112011),
  25502. 2: uint32(0x64900004),
  25503. 3: uint32(0x13824849),
  25504. 4: uint32(0x193023d5),
  25505. 5: uint32(0x08922980),
  25506. 6: uint32(0x88115402),
  25507. 7: uint32(0xa0042001),
  25508. },
  25509. },
  25510. 422: {
  25511. Fmap1: [8]TFcChar32{
  25512. 0: uint32(0x81800400),
  25513. 1: uint32(0x60228502),
  25514. 2: uint32(0x0b010090),
  25515. 3: uint32(0x12020022),
  25516. 4: uint32(0x00834011),
  25517. 5: uint32(0x00001a01),
  25518. },
  25519. },
  25520. 423: {
  25521. Fmap1: [8]TFcChar32{
  25522. 1: uint32(0x4684009f),
  25523. 2: uint32(0x020012c8),
  25524. 3: uint32(0x1a0004fc),
  25525. 4: uint32(0x0c4c2ede),
  25526. 5: uint32(0x80b80402),
  25527. 6: uint32(0x0afca826),
  25528. 7: uint32(0x22288c02),
  25529. },
  25530. },
  25531. 424: {
  25532. Fmap1: [8]TFcChar32{
  25533. 0: uint32(0x8f7ba0e0),
  25534. 1: uint32(0x2135c7d6),
  25535. 2: uint32(0xf8b106c7),
  25536. 3: uint32(0x62550713),
  25537. 4: uint32(0x8a19936e),
  25538. 5: uint32(0xfb0e6efa),
  25539. 6: uint32(0x48f91630),
  25540. 7: uint32(0x7debcd2f),
  25541. },
  25542. },
  25543. 425: {
  25544. Fmap1: [8]TFcChar32{
  25545. 0: uint32(0x4e845892),
  25546. 1: uint32(0x7a2e4ca0),
  25547. 2: uint32(0x561eedea),
  25548. 3: uint32(0x1190c649),
  25549. 4: uint32(0xe83a5324),
  25550. 5: uint32(0x8124cfdb),
  25551. 6: uint32(0x634218f1),
  25552. 7: uint32(0x1a8a5853),
  25553. },
  25554. },
  25555. 426: {
  25556. Fmap1: [8]TFcChar32{
  25557. 0: uint32(0x24d37420),
  25558. 1: uint32(0x0514aa3b),
  25559. 2: uint32(0x89586018),
  25560. 3: uint32(0xc0004800),
  25561. 4: uint32(0x91018268),
  25562. 5: uint32(0x2cd684a4),
  25563. 6: uint32(0xc4ba8886),
  25564. 7: uint32(0x02100377),
  25565. },
  25566. },
  25567. 427: {
  25568. Fmap1: [8]TFcChar32{
  25569. 0: uint32(0x00388244),
  25570. 1: uint32(0x404aae11),
  25571. 2: uint32(0x510028c0),
  25572. 3: uint32(0x15146044),
  25573. 4: uint32(0x10007310),
  25574. 5: uint32(0x02480082),
  25575. 6: uint32(0x40060205),
  25576. 7: uint32(0x0000c003),
  25577. },
  25578. },
  25579. 428: {
  25580. Fmap1: [8]TFcChar32{
  25581. 0: uint32(0x0c020000),
  25582. 1: uint32(0x02200008),
  25583. 2: uint32(0x40009000),
  25584. 3: uint32(0xd161b800),
  25585. 4: uint32(0x32744621),
  25586. 5: uint32(0x3b8af800),
  25587. 6: uint32(0x8b00050f),
  25588. 7: uint32(0x2280bbd0),
  25589. },
  25590. },
  25591. 429: {
  25592. Fmap1: [8]TFcChar32{
  25593. 0: uint32(0x07690600),
  25594. 1: uint32(0x00438040),
  25595. 2: uint32(0x50005420),
  25596. 3: uint32(0x250c41d0),
  25597. 4: uint32(0x83108410),
  25598. 5: uint32(0x02281101),
  25599. 6: uint32(0x00304008),
  25600. 7: uint32(0x020040a1),
  25601. },
  25602. },
  25603. 430: {
  25604. Fmap1: [8]TFcChar32{
  25605. 0: uint32(0x20000040),
  25606. 1: uint32(0xabe31500),
  25607. 2: uint32(0xaa443180),
  25608. 3: uint32(0xc624c2c6),
  25609. 4: uint32(0x8004ac13),
  25610. 5: uint32(0x03d1b000),
  25611. 6: uint32(0x4285611e),
  25612. 7: uint32(0x1d9ff303),
  25613. },
  25614. },
  25615. 431: {
  25616. Fmap1: [8]TFcChar32{
  25617. 0: uint32(0x78e8440a),
  25618. 1: uint32(0xc3925e26),
  25619. 2: uint32(0x00852000),
  25620. 3: uint32(0x4000b001),
  25621. 4: uint32(0x88424a90),
  25622. 5: uint32(0x0c8dca04),
  25623. 6: uint32(0x4203a705),
  25624. 7: uint32(0x000422a1),
  25625. },
  25626. },
  25627. 432: {
  25628. Fmap1: [8]TFcChar32{
  25629. 0: uint32(0x0c018668),
  25630. 1: uint32(0x10795564),
  25631. 2: uint32(0xdea00002),
  25632. 3: uint32(0x40c12000),
  25633. 4: uint32(0x5001488b),
  25634. 5: uint32(0x04000380),
  25635. 6: uint32(0x50040000),
  25636. 7: uint32(0x80d0c05d),
  25637. },
  25638. },
  25639. 433: {
  25640. Fmap1: [8]TFcChar32{
  25641. 0: uint32(0x970aa010),
  25642. 1: uint32(0x4dafbb20),
  25643. 2: uint32(0x1e10d921),
  25644. 3: uint32(0x83140460),
  25645. 4: uint32(0xa6d68848),
  25646. 5: uint32(0x733fd83b),
  25647. 6: uint32(0x497427bc),
  25648. 7: uint32(0x92130ddc),
  25649. },
  25650. },
  25651. 434: {
  25652. Fmap1: [8]TFcChar32{
  25653. 0: uint32(0x8ba1142b),
  25654. 1: uint32(0xd1392e75),
  25655. 2: uint32(0x50503009),
  25656. 3: uint32(0x69008808),
  25657. 4: uint32(0x024a49d4),
  25658. 5: uint32(0x80164010),
  25659. 6: uint32(0x89d7e564),
  25660. 7: uint32(0x5316c020),
  25661. },
  25662. },
  25663. 435: {
  25664. Fmap1: [8]TFcChar32{
  25665. 0: uint32(0x86002b92),
  25666. 1: uint32(0x15e0a345),
  25667. 2: uint32(0x0c03008b),
  25668. 3: uint32(0xe200196e),
  25669. 4: uint32(0x80067031),
  25670. 5: uint32(0xa82916a5),
  25671. 6: uint32(0x18802000),
  25672. 7: uint32(0xe1487aac),
  25673. },
  25674. },
  25675. 436: {
  25676. Fmap1: [8]TFcChar32{
  25677. 0: uint32(0xb5d63207),
  25678. 1: uint32(0x5f9132e8),
  25679. 2: uint32(0x20e550a1),
  25680. 3: uint32(0x10807c00),
  25681. 4: uint32(0x9d8a7280),
  25682. 5: uint32(0x421f00aa),
  25683. 6: uint32(0x02310e22),
  25684. 7: uint32(0x04941100),
  25685. },
  25686. },
  25687. 437: {
  25688. Fmap1: [8]TFcChar32{
  25689. 0: uint32(0x40080022),
  25690. 1: uint32(0x5c100010),
  25691. 2: uint32(0xfcc80343),
  25692. 3: uint32(0x0580a1a5),
  25693. 4: uint32(0x04008433),
  25694. 5: uint32(0x6e080080),
  25695. 6: uint32(0x81262a4b),
  25696. 7: uint32(0x2901aad8),
  25697. },
  25698. },
  25699. 438: {
  25700. Fmap1: [8]TFcChar32{
  25701. 0: uint32(0x4490684d),
  25702. 1: uint32(0xba880009),
  25703. 2: uint32(0x00820040),
  25704. 3: uint32(0x87d10000),
  25705. 4: uint32(0xb1e6215b),
  25706. 5: uint32(0x80083161),
  25707. 6: uint32(0xc2400800),
  25708. 7: uint32(0xa600a069),
  25709. },
  25710. },
  25711. 439: {
  25712. Fmap1: [8]TFcChar32{
  25713. 0: uint32(0x4a328d58),
  25714. 1: uint32(0x550a5d71),
  25715. 2: uint32(0x2d579aa0),
  25716. 3: uint32(0x4aa64005),
  25717. 4: uint32(0x30b12021),
  25718. 5: uint32(0x01123fc6),
  25719. 6: uint32(0x260a10c2),
  25720. 7: uint32(0x50824462),
  25721. },
  25722. },
  25723. 440: {
  25724. Fmap1: [8]TFcChar32{
  25725. 0: uint32(0x80409880),
  25726. 1: uint32(0x810004c0),
  25727. 2: uint32(0x00002003),
  25728. 3: uint32(0x38180000),
  25729. 4: uint32(0xf1a60200),
  25730. 5: uint32(0x720e4434),
  25731. 6: uint32(0x92e035a2),
  25732. 7: uint32(0x09008101),
  25733. },
  25734. },
  25735. 441: {
  25736. Fmap1: [8]TFcChar32{
  25737. 0: uint32(0x00000400),
  25738. 1: uint32(0x00008885),
  25739. 3: uint32(0x00804000),
  25740. 5: uint32(0x00004040),
  25741. },
  25742. },
  25743. 442: {
  25744. Fmap1: [8]TFcChar32{
  25745. 1: uint32(0x08000000),
  25746. 2: uint32(0x00000082),
  25747. 4: uint32(0x88000004),
  25748. 5: uint32(0xe7efbfff),
  25749. 6: uint32(0xffbfffff),
  25750. 7: uint32(0xfdffefef),
  25751. },
  25752. },
  25753. 443: {
  25754. Fmap1: [8]TFcChar32{
  25755. 0: uint32(0xbffefbff),
  25756. 1: uint32(0x057fffff),
  25757. 2: uint32(0x85b30034),
  25758. 3: uint32(0x42164706),
  25759. 4: uint32(0xe4105402),
  25760. 5: uint32(0xb3058092),
  25761. 6: uint32(0x81305422),
  25762. 7: uint32(0x180b4263),
  25763. },
  25764. },
  25765. 444: {
  25766. Fmap1: [8]TFcChar32{
  25767. 0: uint32(0x13f5387b),
  25768. 1: uint32(0xa9ea07e5),
  25769. 2: uint32(0x05143c4c),
  25770. 3: uint32(0x80020600),
  25771. 4: uint32(0xbd481ad9),
  25772. 5: uint32(0xf496ee37),
  25773. 6: uint32(0x7ec0705f),
  25774. 7: uint32(0x355fbfb2),
  25775. },
  25776. },
  25777. 445: {
  25778. Fmap1: [8]TFcChar32{
  25779. 0: uint32(0x455fe644),
  25780. 1: uint32(0x41469000),
  25781. 2: uint32(0x063b1d40),
  25782. 3: uint32(0xfe1362a1),
  25783. 4: uint32(0x39028505),
  25784. 5: uint32(0x0c080548),
  25785. 6: uint32(0x0000144f),
  25786. 7: uint32(0x58183488),
  25787. },
  25788. },
  25789. 446: {
  25790. Fmap1: [8]TFcChar32{
  25791. 0: uint32(0xd8153077),
  25792. 1: uint32(0x4bfbbd0e),
  25793. 2: uint32(0x85008a90),
  25794. 3: uint32(0xe61dc100),
  25795. 4: uint32(0xb386ed14),
  25796. 5: uint32(0x639bff72),
  25797. 6: uint32(0xd9befd92),
  25798. 7: uint32(0x0a92887b),
  25799. },
  25800. },
  25801. 447: {
  25802. Fmap1: [8]TFcChar32{
  25803. 0: uint32(0x1cb2d3fe),
  25804. 1: uint32(0x177ab980),
  25805. 2: uint32(0xdc1782c9),
  25806. 3: uint32(0x3980fffb),
  25807. 4: uint32(0x590c4260),
  25808. 5: uint32(0x37df0f01),
  25809. 6: uint32(0xb15094a3),
  25810. 7: uint32(0x23070623),
  25811. },
  25812. },
  25813. 448: {
  25814. Fmap1: [8]TFcChar32{
  25815. 0: uint32(0x3102f85a),
  25816. 1: uint32(0x310201f0),
  25817. 2: uint32(0x1e820040),
  25818. 3: uint32(0x056a3a0a),
  25819. 4: uint32(0x12805b84),
  25820. 5: uint32(0xa7148002),
  25821. 6: uint32(0xa04b2612),
  25822. 7: uint32(0x90011069),
  25823. },
  25824. },
  25825. 449: {
  25826. Fmap1: [8]TFcChar32{
  25827. 0: uint32(0x848a1000),
  25828. 1: uint32(0x3f801802),
  25829. 2: uint32(0x42400708),
  25830. 3: uint32(0x4e140110),
  25831. 4: uint32(0x180080b0),
  25832. 5: uint32(0x0281c510),
  25833. 6: uint32(0x10298202),
  25834. 7: uint32(0x88000210),
  25835. },
  25836. },
  25837. 450: {
  25838. Fmap1: [8]TFcChar32{
  25839. 0: uint32(0x00420020),
  25840. 1: uint32(0x11000280),
  25841. 2: uint32(0x4413e000),
  25842. 3: uint32(0xfe025804),
  25843. 4: uint32(0x30283c07),
  25844. 5: uint32(0x04739798),
  25845. 6: uint32(0xcb13ced1),
  25846. 7: uint32(0x431f6210),
  25847. },
  25848. },
  25849. 451: {
  25850. Fmap1: [8]TFcChar32{
  25851. 0: uint32(0x55ac278d),
  25852. 1: uint32(0xc892422e),
  25853. 2: uint32(0x02885380),
  25854. 3: uint32(0x78514039),
  25855. 4: uint32(0x8088292c),
  25856. 5: uint32(0x2428b900),
  25857. 6: uint32(0x080e0c41),
  25858. 7: uint32(0x42004421),
  25859. },
  25860. },
  25861. 452: {
  25862. Fmap1: [8]TFcChar32{
  25863. 0: uint32(0x08680408),
  25864. 1: uint32(0x12040006),
  25865. 2: uint32(0x02903031),
  25866. 3: uint32(0xe0855b3e),
  25867. 4: uint32(0x10442936),
  25868. 5: uint32(0x10822814),
  25869. 6: uint32(0x83344266),
  25870. 7: uint32(0x531b013c),
  25871. },
  25872. },
  25873. 453: {
  25874. Fmap1: [8]TFcChar32{
  25875. 0: uint32(0x0e0d0404),
  25876. 1: uint32(0x00510c22),
  25877. 2: uint32(0xc0000012),
  25878. 3: uint32(0x88000040),
  25879. 4: uint32(0x0000004a),
  25880. 6: uint32(0x5447dff6),
  25881. 7: uint32(0x00088868),
  25882. },
  25883. },
  25884. 454: {
  25885. Fmap1: [8]TFcChar32{
  25886. 0: uint32(0x00000081),
  25887. 1: uint32(0x40000000),
  25888. 2: uint32(0x00000100),
  25889. 3: uint32(0x02000000),
  25890. 4: uint32(0x00080600),
  25891. },
  25892. },
  25893. 455: {
  25894. Fmap1: [8]TFcChar32{
  25895. 0: uint32(0x00000080),
  25896. 1: uint32(0x00000040),
  25897. 3: uint32(0x00001040),
  25898. 5: uint32(0xf7fdefff),
  25899. 6: uint32(0xfffeff7f),
  25900. 7: uint32(0xfffffbff),
  25901. },
  25902. },
  25903. 456: {
  25904. Fmap1: [8]TFcChar32{
  25905. 0: uint32(0xbffffdff),
  25906. 1: uint32(0x00ffffff),
  25907. 2: uint32(0x042012c2),
  25908. 3: uint32(0x07080c06),
  25909. 4: uint32(0x01101624),
  25910. },
  25911. },
  25912. 457: {
  25913. Fmap1: [8]TFcChar32{
  25914. 0: uint32(0xe0000000),
  25915. 1: uint32(0xfffffffe),
  25916. 2: uint32(0x7f79ffff),
  25917. 3: uint32(0x00f928df),
  25918. 4: uint32(0x80120c32),
  25919. 5: uint32(0xd53a0008),
  25920. 6: uint32(0xecc2d858),
  25921. 7: uint32(0x2fa89d18),
  25922. },
  25923. },
  25924. 458: {
  25925. Fmap1: [8]TFcChar32{
  25926. 0: uint32(0xe0109620),
  25927. 1: uint32(0x2622d60c),
  25928. 2: uint32(0x02060f97),
  25929. 3: uint32(0x9055b240),
  25930. 4: uint32(0x501180a2),
  25931. 5: uint32(0x04049800),
  25932. 6: uint32(0x00004000),
  25933. },
  25934. },
  25935. 459: {
  25936. Fmap1: [8]TFcChar32{
  25937. 3: uint32(0xfffffbc0),
  25938. 4: uint32(0xdffbeffe),
  25939. 5: uint32(0x62430b08),
  25940. 6: uint32(0xfb3b41b6),
  25941. 7: uint32(0x23896f74),
  25942. },
  25943. },
  25944. 460: {
  25945. Fmap1: [8]TFcChar32{
  25946. 0: uint32(0xecd7ae7f),
  25947. 1: uint32(0x5960e047),
  25948. 2: uint32(0x098fa096),
  25949. 3: uint32(0xa030612c),
  25950. 4: uint32(0x2aaa090d),
  25951. 5: uint32(0x4f7bd44e),
  25952. 6: uint32(0x388bc4b2),
  25953. 7: uint32(0x6110a9c6),
  25954. },
  25955. },
  25956. 461: {
  25957. Fmap1: [8]TFcChar32{
  25958. 0: uint32(0x42000014),
  25959. 1: uint32(0x0202800c),
  25960. 2: uint32(0x6485fe48),
  25961. 3: uint32(0xe3f7d63e),
  25962. 4: uint32(0x0c073aa0),
  25963. 5: uint32(0x0430e40c),
  25964. 6: uint32(0x1002f680),
  25965. },
  25966. },
  25967. 462: {
  25968. Fmap1: [8]TFcChar32{
  25969. 3: uint32(0x00100000),
  25970. 4: uint32(0x00004000),
  25971. 5: uint32(0x00004000),
  25972. 6: uint32(0x00000100),
  25973. },
  25974. },
  25975. 463: {
  25976. Fmap1: [8]TFcChar32{
  25977. 1: uint32(0x40000000),
  25978. 3: uint32(0x00000400),
  25979. 4: uint32(0x00008000),
  25980. 6: uint32(0x00400400),
  25981. },
  25982. },
  25983. 464: {
  25984. Fmap1: [8]TFcChar32{
  25985. 1: uint32(0x40000000),
  25986. 3: uint32(0x00000800),
  25987. 4: uint32(0xfebdffe0),
  25988. 5: uint32(0xffffffff),
  25989. 6: uint32(0xfbe77f7f),
  25990. 7: uint32(0xf7ffffbf),
  25991. },
  25992. },
  25993. 465: {
  25994. Fmap1: [8]TFcChar32{
  25995. 0: uint32(0xefffffff),
  25996. 1: uint32(0xdff7ff7e),
  25997. 2: uint32(0xfbdff6f7),
  25998. 3: uint32(0x804fbffe),
  25999. 7: uint32(0x7fffef00),
  26000. },
  26001. },
  26002. 466: {
  26003. Fmap1: [8]TFcChar32{
  26004. 0: uint32(0xb6f7ff7f),
  26005. 1: uint32(0xb87e4406),
  26006. 2: uint32(0x88313bf5),
  26007. 3: uint32(0x00f41796),
  26008. 4: uint32(0x1391a960),
  26009. 5: uint32(0x72490080),
  26010. 6: uint32(0x0024f2f3),
  26011. 7: uint32(0x42c88701),
  26012. },
  26013. },
  26014. 467: {
  26015. Fmap1: [8]TFcChar32{
  26016. 0: uint32(0x5048e3d3),
  26017. 1: uint32(0x43052400),
  26018. 2: uint32(0x4a4c0000),
  26019. 3: uint32(0x10580227),
  26020. 4: uint32(0x01162820),
  26021. 5: uint32(0x0014a809),
  26022. 7: uint32(0x00683ec0),
  26023. },
  26024. },
  26025. 468: {
  26026. Fmap1: [8]TFcChar32{
  26027. 3: uint32(0xffe00000),
  26028. 4: uint32(0xfddbb7ff),
  26029. 5: uint32(0x000000f7),
  26030. 6: uint32(0xc72e4000),
  26031. 7: uint32(0x00000180),
  26032. },
  26033. },
  26034. 469: {
  26035. Fmap1: [8]TFcChar32{
  26036. 0: uint32(0x00012000),
  26037. 1: uint32(0x00004000),
  26038. 2: uint32(0x00300000),
  26039. 3: uint32(0xb4f7ffa8),
  26040. 4: uint32(0x03ffadf3),
  26041. 5: uint32(0x00000120),
  26042. },
  26043. },
  26044. 470: {
  26045. Fmap1: [8]TFcChar32{
  26046. 3: uint32(0xfffbf000),
  26047. 4: uint32(0xfdcf9df7),
  26048. 5: uint32(0x15c301bf),
  26049. 6: uint32(0x810a1827),
  26050. 7: uint32(0x0a00a842),
  26051. },
  26052. },
  26053. 471: {
  26054. Fmap1: [8]TFcChar32{
  26055. 0: uint32(0x80088108),
  26056. 1: uint32(0x18048008),
  26057. 2: uint32(0x0012a3be),
  26058. },
  26059. },
  26060. 472: {
  26061. Fmap1: [8]TFcChar32{
  26062. 3: uint32(0x90000000),
  26063. 4: uint32(0xdc3769e6),
  26064. 5: uint32(0x3dff6bff),
  26065. 6: uint32(0xf3f9fcf8),
  26066. 7: uint32(0x00000004),
  26067. },
  26068. },
  26069. 473: {
  26070. Fmap1: [8]TFcChar32{
  26071. 0: uint32(0x80000000),
  26072. 1: uint32(0xe7eebf6f),
  26073. 2: uint32(0x5da2dffe),
  26074. 3: uint32(0xc00b3fd8),
  26075. 4: uint32(0xa00c0984),
  26076. 5: uint32(0x69100040),
  26077. 6: uint32(0xb912e210),
  26078. 7: uint32(0x5a0086a5),
  26079. },
  26080. },
  26081. 474: {
  26082. Fmap1: [8]TFcChar32{
  26083. 0: uint32(0x02896800),
  26084. 1: uint32(0x6a809005),
  26085. 2: uint32(0x00030010),
  26086. 3: uint32(0x80000000),
  26087. 4: uint32(0x8e001ff9),
  26088. 5: uint32(0x00000001),
  26089. },
  26090. },
  26091. 475: {
  26092. Fmap1: [8]TFcChar32{
  26093. 0: uint32(0x00000080),
  26094. },
  26095. },
  26096. 476: {
  26097. Fmap1: [8]TFcChar32{
  26098. 2: uint32(0x00001000),
  26099. 3: uint32(0x64080010),
  26100. 4: uint32(0x00480000),
  26101. 5: uint32(0x10000020),
  26102. 6: uint32(0x80000102),
  26103. 7: uint32(0x08000010),
  26104. },
  26105. },
  26106. 477: {
  26107. Fmap1: [8]TFcChar32{
  26108. 0: uint32(0x00000040),
  26109. 1: uint32(0x40000000),
  26110. 2: uint32(0x00020000),
  26111. 3: uint32(0x01852002),
  26112. 4: uint32(0x00800010),
  26113. 5: uint32(0x80002022),
  26114. 6: uint32(0x084444a2),
  26115. 7: uint32(0x480e0000),
  26116. },
  26117. },
  26118. 478: {
  26119. Fmap1: [8]TFcChar32{
  26120. 0: uint32(0x04000200),
  26121. 1: uint32(0x02202008),
  26122. 2: uint32(0x80004380),
  26123. 3: uint32(0x04000000),
  26124. 4: uint32(0x00000002),
  26125. 5: uint32(0x12231420),
  26126. 6: uint32(0x2058003a),
  26127. 7: uint32(0x00200060),
  26128. },
  26129. },
  26130. 479: {
  26131. Fmap1: [8]TFcChar32{
  26132. 0: uint32(0x10002508),
  26133. 1: uint32(0x040d0028),
  26134. 2: uint32(0x00000009),
  26135. 3: uint32(0x00008004),
  26136. 4: uint32(0x00800000),
  26137. 5: uint32(0x42000001),
  26138. 7: uint32(0x09040000),
  26139. },
  26140. },
  26141. 480: {
  26142. Fmap1: [8]TFcChar32{
  26143. 0: uint32(0x02008000),
  26144. 1: uint32(0x01402001),
  26145. 3: uint32(0x00000008),
  26146. 5: uint32(0x00000001),
  26147. 6: uint32(0x00021008),
  26148. 7: uint32(0x04000000),
  26149. },
  26150. },
  26151. 481: {
  26152. Fmap1: [8]TFcChar32{
  26153. 0: uint32(0x00100100),
  26154. 1: uint32(0x80040080),
  26155. 2: uint32(0x00002000),
  26156. 3: uint32(0x00000008),
  26157. 4: uint32(0x08040601),
  26158. 5: uint32(0x01000012),
  26159. 6: uint32(0x10000000),
  26160. 7: uint32(0x49001024),
  26161. },
  26162. },
  26163. 482: {
  26164. Fmap1: [8]TFcChar32{
  26165. 0: uint32(0x0180004a),
  26166. 1: uint32(0x00100600),
  26167. 2: uint32(0x50840800),
  26168. 3: uint32(0x000000c0),
  26169. 4: uint32(0x00800000),
  26170. 5: uint32(0x20000800),
  26171. 6: uint32(0x40000000),
  26172. 7: uint32(0x08050000),
  26173. },
  26174. },
  26175. 483: {
  26176. Fmap1: [8]TFcChar32{
  26177. 0: uint32(0x02004000),
  26178. 1: uint32(0x02000804),
  26179. 2: uint32(0x01000004),
  26180. 3: uint32(0x18060001),
  26181. 4: uint32(0x02400001),
  26182. 5: uint32(0x40000002),
  26183. 6: uint32(0x20800014),
  26184. 7: uint32(0x000c1000),
  26185. },
  26186. },
  26187. 484: {
  26188. Fmap1: [8]TFcChar32{
  26189. 0: uint32(0x00222000),
  26190. 2: uint32(0x00100000),
  26191. 6: uint32(0x10422800),
  26192. 7: uint32(0x00000800),
  26193. },
  26194. },
  26195. 485: {
  26196. Fmap1: [8]TFcChar32{
  26197. 0: uint32(0x20080000),
  26198. 1: uint32(0x00040000),
  26199. 2: uint32(0x80025040),
  26200. 3: uint32(0x20208604),
  26201. 4: uint32(0x00028020),
  26202. 5: uint32(0x80102020),
  26203. 6: uint32(0x080820c0),
  26204. 7: uint32(0x10880800),
  26205. },
  26206. },
  26207. 486: {
  26208. Fmap1: [8]TFcChar32{
  26209. 2: uint32(0x00200109),
  26210. 3: uint32(0x00100000),
  26211. 5: uint32(0x81022700),
  26212. 6: uint32(0x40c21404),
  26213. 7: uint32(0x84010882),
  26214. },
  26215. },
  26216. 487: {
  26217. Fmap1: [8]TFcChar32{
  26218. 0: uint32(0x00004010),
  26219. 2: uint32(0x03000000),
  26220. 3: uint32(0x00000008),
  26221. 4: uint32(0x00080000),
  26222. 6: uint32(0x10800001),
  26223. 7: uint32(0x06002020),
  26224. },
  26225. },
  26226. 488: {
  26227. Fmap1: [8]TFcChar32{
  26228. 0: uint32(0x00000010),
  26229. 1: uint32(0x02000000),
  26230. 2: uint32(0x00880020),
  26231. 3: uint32(0x00008424),
  26232. 5: uint32(0x88000000),
  26233. 6: uint32(0x81000100),
  26234. 7: uint32(0x04000000),
  26235. },
  26236. },
  26237. 489: {
  26238. Fmap1: [8]TFcChar32{
  26239. 0: uint32(0x00004218),
  26240. 1: uint32(0x00040000),
  26241. 3: uint32(0x80005080),
  26242. 4: uint32(0x00010000),
  26243. 5: uint32(0x00040000),
  26244. 6: uint32(0x08008000),
  26245. 7: uint32(0x02008000),
  26246. },
  26247. },
  26248. 490: {
  26249. Fmap1: [8]TFcChar32{
  26250. 0: uint32(0x00020000),
  26251. 2: uint32(0x00000001),
  26252. 3: uint32(0x04000401),
  26253. 4: uint32(0x00100000),
  26254. 5: uint32(0x12200004),
  26255. 7: uint32(0x18100000),
  26256. },
  26257. },
  26258. 491: {
  26259. Fmap1: [8]TFcChar32{
  26260. 1: uint32(0x00000800),
  26261. 3: uint32(0x00004000),
  26262. 4: uint32(0x00800000),
  26263. 5: uint32(0x04000000),
  26264. 6: uint32(0x82000002),
  26265. 7: uint32(0x00042000),
  26266. },
  26267. },
  26268. 492: {
  26269. Fmap1: [8]TFcChar32{
  26270. 0: uint32(0x00080006),
  26271. 3: uint32(0x04000000),
  26272. 4: uint32(0x80008000),
  26273. 5: uint32(0x00810001),
  26274. 6: uint32(0xa0000000),
  26275. 7: uint32(0x00100410),
  26276. },
  26277. },
  26278. 493: {
  26279. Fmap1: [8]TFcChar32{
  26280. 0: uint32(0x00400218),
  26281. 1: uint32(0x88084080),
  26282. 2: uint32(0x00260008),
  26283. 3: uint32(0x00800404),
  26284. 4: uint32(0x00000020),
  26285. 7: uint32(0x00000200),
  26286. },
  26287. },
  26288. 494: {
  26289. Fmap1: [8]TFcChar32{
  26290. 0: uint32(0x00a08048),
  26291. 2: uint32(0x08000000),
  26292. 3: uint32(0x04000000),
  26293. 6: uint32(0x00018000),
  26294. 7: uint32(0x00200000),
  26295. },
  26296. },
  26297. 495: {
  26298. Fmap1: [8]TFcChar32{
  26299. 0: uint32(0x01000000),
  26300. 3: uint32(0x10000000),
  26301. 6: uint32(0x00200000),
  26302. 7: uint32(0x00102000),
  26303. },
  26304. },
  26305. 496: {
  26306. Fmap1: [8]TFcChar32{
  26307. 0: uint32(0x00000801),
  26308. 3: uint32(0x00020000),
  26309. 4: uint32(0x08000000),
  26310. 5: uint32(0x00002000),
  26311. 6: uint32(0x20010000),
  26312. 7: uint32(0x04002000),
  26313. },
  26314. },
  26315. 497: {
  26316. Fmap1: [8]TFcChar32{
  26317. 0: uint32(0x40000040),
  26318. 1: uint32(0x50202400),
  26319. 2: uint32(0x000a0020),
  26320. 3: uint32(0x00040420),
  26321. 4: uint32(0x00000200),
  26322. 5: uint32(0x00000080),
  26323. 6: uint32(0x80000000),
  26324. 7: uint32(0x00000020),
  26325. },
  26326. },
  26327. 498: {
  26328. Fmap1: [8]TFcChar32{
  26329. 0: uint32(0x20008000),
  26330. 1: uint32(0x00200010),
  26331. 4: uint32(0x00400000),
  26332. 5: uint32(0x01100000),
  26333. 6: uint32(0x00020000),
  26334. 7: uint32(0x80000010),
  26335. },
  26336. },
  26337. 499: {
  26338. Fmap1: [8]TFcChar32{
  26339. 0: uint32(0x02000000),
  26340. 1: uint32(0x00801000),
  26341. 3: uint32(0x48058000),
  26342. 4: uint32(0x20c94000),
  26343. 5: uint32(0x60000000),
  26344. 6: uint32(0x00000001),
  26345. },
  26346. },
  26347. 500: {
  26348. Fmap1: [8]TFcChar32{
  26349. 0: uint32(0x00004090),
  26350. 1: uint32(0x48000000),
  26351. 2: uint32(0x08000000),
  26352. 3: uint32(0x28802000),
  26353. 4: uint32(0x00000002),
  26354. 5: uint32(0x00014000),
  26355. 6: uint32(0x00002000),
  26356. 7: uint32(0x00002002),
  26357. },
  26358. },
  26359. 501: {
  26360. Fmap1: [8]TFcChar32{
  26361. 0: uint32(0x00010200),
  26362. 1: uint32(0x00100000),
  26363. 3: uint32(0x00800000),
  26364. 4: uint32(0x10020000),
  26365. },
  26366. },
  26367. 502: {
  26368. Fmap1: [8]TFcChar32{
  26369. 0: uint32(0x00000010),
  26370. 1: uint32(0x00000402),
  26371. 2: uint32(0x0c000000),
  26372. 3: uint32(0x01000400),
  26373. 4: uint32(0x01000021),
  26374. 6: uint32(0x00004000),
  26375. 7: uint32(0x00004000),
  26376. },
  26377. },
  26378. 503: {
  26379. Fmap1: [8]TFcChar32{
  26380. 1: uint32(0x00800000),
  26381. 7: uint32(0x02000020),
  26382. },
  26383. },
  26384. 504: {
  26385. Fmap1: [8]TFcChar32{
  26386. 0: uint32(0x00000100),
  26387. 1: uint32(0x08000000),
  26388. 6: uint32(0x00002000),
  26389. },
  26390. },
  26391. 505: {
  26392. Fmap1: [8]TFcChar32{
  26393. 0: uint32(0x00006000),
  26394. 3: uint32(0x00000400),
  26395. 4: uint32(0x04000040),
  26396. 5: uint32(0x003c0180),
  26397. 6: uint32(0x00000200),
  26398. 7: uint32(0x00102000),
  26399. },
  26400. },
  26401. 506: {
  26402. Fmap1: [8]TFcChar32{
  26403. 0: uint32(0x00000800),
  26404. 1: uint32(0x101000c0),
  26405. 2: uint32(0x00800000),
  26406. 4: uint32(0x00008000),
  26407. 5: uint32(0x02200000),
  26408. 6: uint32(0x00020020),
  26409. },
  26410. },
  26411. 507: {
  26412. Fmap1: [8]TFcChar32{
  26413. 1: uint32(0x01000000),
  26414. 3: uint32(0x20100000),
  26415. 4: uint32(0x00080000),
  26416. 5: uint32(0x00000141),
  26417. 6: uint32(0x02001002),
  26418. 7: uint32(0x40400001),
  26419. },
  26420. },
  26421. 508: {
  26422. Fmap1: [8]TFcChar32{
  26423. 0: uint32(0x00580000),
  26424. 1: uint32(0x00000002),
  26425. 2: uint32(0x00003000),
  26426. 3: uint32(0x00002400),
  26427. 4: uint32(0x00988000),
  26428. 5: uint32(0x00040010),
  26429. 6: uint32(0x00002800),
  26430. 7: uint32(0x00000008),
  26431. },
  26432. },
  26433. 509: {
  26434. Fmap1: [8]TFcChar32{
  26435. 0: uint32(0x40080004),
  26436. 1: uint32(0x00000020),
  26437. 2: uint32(0x20080000),
  26438. 3: uint32(0x02060a00),
  26439. 4: uint32(0x00010040),
  26440. 5: uint32(0x14010200),
  26441. 6: uint32(0x40800000),
  26442. 7: uint32(0x08031000),
  26443. },
  26444. },
  26445. 510: {
  26446. Fmap1: [8]TFcChar32{
  26447. 0: uint32(0x40020020),
  26448. 1: uint32(0x0000202c),
  26449. 2: uint32(0x2014a008),
  26450. 4: uint32(0x80040200),
  26451. 5: uint32(0x82020012),
  26452. 6: uint32(0x00400000),
  26453. 7: uint32(0x20000000),
  26454. },
  26455. },
  26456. 511: {
  26457. Fmap1: [8]TFcChar32{
  26458. 2: uint32(0x00000004),
  26459. 3: uint32(0x04000000),
  26460. 6: uint32(0x40800100),
  26461. },
  26462. },
  26463. 512: {
  26464. Fmap1: [8]TFcChar32{
  26465. 0: uint32(0x00000008),
  26466. 1: uint32(0x04000040),
  26467. 2: uint32(0x00000001),
  26468. 3: uint32(0x000c0200),
  26469. 5: uint32(0x08000400),
  26470. 7: uint32(0x080c0001),
  26471. },
  26472. },
  26473. 513: {
  26474. Fmap1: [8]TFcChar32{
  26475. 0: uint32(0x00000400),
  26476. 3: uint32(0x00200000),
  26477. 4: uint32(0x80000000),
  26478. 5: uint32(0x00001000),
  26479. 6: uint32(0x00000200),
  26480. 7: uint32(0x01000800),
  26481. },
  26482. },
  26483. 514: {
  26484. Fmap1: [8]TFcChar32{
  26485. 1: uint32(0x00000800),
  26486. 3: uint32(0x40000000),
  26487. 7: uint32(0x04040000),
  26488. },
  26489. },
  26490. 515: {
  26491. Fmap1: [8]TFcChar32{
  26492. 2: uint32(0x00000040),
  26493. 3: uint32(0x00002000),
  26494. 4: uint32(0xa0000000),
  26495. 6: uint32(0x08000008),
  26496. 7: uint32(0x00080000),
  26497. },
  26498. },
  26499. 516: {
  26500. Fmap1: [8]TFcChar32{
  26501. 0: uint32(0x00000020),
  26502. 2: uint32(0x40000400),
  26503. 7: uint32(0x00008000),
  26504. },
  26505. },
  26506. 517: {
  26507. Fmap1: [8]TFcChar32{
  26508. 4: uint32(0x00000800),
  26509. 7: uint32(0x00200000),
  26510. },
  26511. },
  26512. 518: {
  26513. Fmap1: [8]TFcChar32{
  26514. 3: uint32(0x04000000),
  26515. 4: uint32(0x00000008),
  26516. 6: uint32(0x00010000),
  26517. 7: uint32(0x1b000000),
  26518. },
  26519. },
  26520. 519: {
  26521. Fmap1: [8]TFcChar32{
  26522. 0: uint32(0x00007000),
  26523. 2: uint32(0x10000000),
  26524. 5: uint32(0x00000080),
  26525. 6: uint32(0x80000000),
  26526. },
  26527. },
  26528. 520: {
  26529. Fmap1: [8]TFcChar32{
  26530. 1: uint32(0x00020000),
  26531. 3: uint32(0x00200000),
  26532. 4: uint32(0x40000000),
  26533. 5: uint32(0x00000010),
  26534. 6: uint32(0x00800000),
  26535. 7: uint32(0x00000008),
  26536. },
  26537. },
  26538. 521: {
  26539. Fmap1: [8]TFcChar32{
  26540. 2: uint32(0x02000000),
  26541. 3: uint32(0x20000010),
  26542. 4: uint32(0x00000080),
  26543. 6: uint32(0x00010000),
  26544. },
  26545. },
  26546. 522: {
  26547. Fmap1: [8]TFcChar32{
  26548. 1: uint32(0x02000000),
  26549. 4: uint32(0x20000000),
  26550. 5: uint32(0x00000040),
  26551. 6: uint32(0x00200028),
  26552. },
  26553. },
  26554. 523: {
  26555. Fmap1: [8]TFcChar32{
  26556. 1: uint32(0x00020000),
  26557. 3: uint32(0x02000000),
  26558. 5: uint32(0x02000000),
  26559. 6: uint32(0x40020000),
  26560. 7: uint32(0x51000040),
  26561. },
  26562. },
  26563. 524: {
  26564. Fmap1: [8]TFcChar32{
  26565. 0: uint32(0x00000080),
  26566. 1: uint32(0x04040000),
  26567. 3: uint32(0x10000000),
  26568. 4: uint32(0x00022000),
  26569. 5: uint32(0x00100000),
  26570. 6: uint32(0x20000000),
  26571. 7: uint32(0x00000082),
  26572. },
  26573. },
  26574. 525: {
  26575. Fmap1: [8]TFcChar32{
  26576. 0: uint32(0x40000000),
  26577. 1: uint32(0x00010000),
  26578. 2: uint32(0x00002000),
  26579. 4: uint32(0x00000240),
  26580. 7: uint32(0x00000008),
  26581. },
  26582. },
  26583. 526: {
  26584. Fmap1: [8]TFcChar32{
  26585. 1: uint32(0x00010000),
  26586. 2: uint32(0x00000810),
  26587. 3: uint32(0x00080880),
  26588. 4: uint32(0x00004000),
  26589. 7: uint32(0x00020000),
  26590. },
  26591. },
  26592. 527: {
  26593. Fmap1: [8]TFcChar32{
  26594. 1: uint32(0x00400020),
  26595. 3: uint32(0x00000082),
  26596. 5: uint32(0x00020001),
  26597. },
  26598. },
  26599. 528: {
  26600. Fmap1: [8]TFcChar32{
  26601. 0: uint32(0x40000018),
  26602. 1: uint32(0x00000004),
  26603. 4: uint32(0x01000000),
  26604. 5: uint32(0x00400000),
  26605. },
  26606. },
  26607. 529: {
  26608. Fmap1: [8]TFcChar32{
  26609. 0: uint32(0x00000001),
  26610. 1: uint32(0x00400000),
  26611. 3: uint32(0x00080002),
  26612. 4: uint32(0x00000400),
  26613. 5: uint32(0x00040000),
  26614. },
  26615. },
  26616. 530: {
  26617. Fmap1: [8]TFcChar32{
  26618. 0: uint32(0x00000800),
  26619. 1: uint32(0x00000800),
  26620. 6: uint32(0x00000100),
  26621. },
  26622. },
  26623. 531: {
  26624. Fmap1: [8]TFcChar32{
  26625. 1: uint32(0x00200000),
  26626. 3: uint32(0x04108000),
  26627. 7: uint32(0x00000002),
  26628. },
  26629. },
  26630. 532: {
  26631. Fmap1: [8]TFcChar32{
  26632. 1: uint32(0x02800000),
  26633. 2: uint32(0x04000000),
  26634. 5: uint32(0x00000004),
  26635. 7: uint32(0x00000400),
  26636. },
  26637. },
  26638. 533: {
  26639. Fmap1: [8]TFcChar32{
  26640. 2: uint32(0x10000000),
  26641. 3: uint32(0x00040000),
  26642. 4: uint32(0x00400000),
  26643. },
  26644. },
  26645. 534: {
  26646. Fmap1: [8]TFcChar32{
  26647. 0: uint32(0x00200000),
  26648. 1: uint32(0x00000200),
  26649. 3: uint32(0x10000000),
  26650. 6: uint32(0x2a000000),
  26651. },
  26652. },
  26653. 535: {
  26654. Fmap1: [8]TFcChar32{
  26655. 0: uint32(0x00400000),
  26656. 2: uint32(0x00400000),
  26657. 4: uint32(0x00000002),
  26658. 5: uint32(0x40000000),
  26659. 7: uint32(0x00400000),
  26660. },
  26661. },
  26662. 536: {
  26663. Fmap1: [8]TFcChar32{
  26664. 0: uint32(0x40000000),
  26665. 1: uint32(0x00001000),
  26666. 4: uint32(0x00000202),
  26667. 5: uint32(0x02000000),
  26668. 6: uint32(0x80000000),
  26669. 7: uint32(0x00020000),
  26670. },
  26671. },
  26672. 537: {
  26673. Fmap1: [8]TFcChar32{
  26674. 0: uint32(0x00000020),
  26675. 1: uint32(0x00000800),
  26676. 2: uint32(0x00020421),
  26677. 3: uint32(0x00020000),
  26678. 7: uint32(0x00400000),
  26679. },
  26680. },
  26681. 538: {
  26682. Fmap1: [8]TFcChar32{
  26683. 0: uint32(0x00200000),
  26684. 2: uint32(0x00000001),
  26685. 4: uint32(0x00000084),
  26686. },
  26687. },
  26688. 539: {
  26689. Fmap1: [8]TFcChar32{
  26690. 1: uint32(0x00004400),
  26691. 2: uint32(0x00000002),
  26692. 3: uint32(0x00100000),
  26693. 6: uint32(0x00008200),
  26694. },
  26695. },
  26696. 540: {
  26697. Fmap1: [8]TFcChar32{
  26698. 1: uint32(0x12000000),
  26699. 2: uint32(0x00000100),
  26700. 3: uint32(0x00000001),
  26701. },
  26702. },
  26703. 541: {
  26704. Fmap1: [8]TFcChar32{
  26705. 0: uint32(0x00000020),
  26706. 1: uint32(0x08100000),
  26707. 2: uint32(0x000a0400),
  26708. 3: uint32(0x00000081),
  26709. 4: uint32(0x00006000),
  26710. 5: uint32(0x00120000),
  26711. },
  26712. },
  26713. 542: {
  26714. Fmap1: [8]TFcChar32{
  26715. 0: uint32(0x00000004),
  26716. 1: uint32(0x08000000),
  26717. 2: uint32(0x00004000),
  26718. 3: uint32(0x044000c0),
  26719. },
  26720. },
  26721. 543: {
  26722. Fmap1: [8]TFcChar32{
  26723. 0: uint32(0x40001000),
  26724. 2: uint32(0x01000001),
  26725. 3: uint32(0x05000000),
  26726. 4: uint32(0x00080000),
  26727. 5: uint32(0x02000000),
  26728. 6: uint32(0x00000800),
  26729. },
  26730. },
  26731. 544: {
  26732. Fmap1: [8]TFcChar32{
  26733. 0: uint32(0x00000100),
  26734. 4: uint32(0x00002002),
  26735. 5: uint32(0x01020000),
  26736. 6: uint32(0x00800000),
  26737. },
  26738. },
  26739. 545: {
  26740. Fmap1: [8]TFcChar32{
  26741. 0: uint32(0x00000040),
  26742. 1: uint32(0x00004000),
  26743. 2: uint32(0x01000000),
  26744. 3: uint32(0x00000004),
  26745. 4: uint32(0x00020000),
  26746. 6: uint32(0x00000010),
  26747. },
  26748. },
  26749. 546: {
  26750. Fmap1: [8]TFcChar32{
  26751. 4: uint32(0x00080000),
  26752. 5: uint32(0x00010000),
  26753. 6: uint32(0x30000300),
  26754. 7: uint32(0x00000400),
  26755. },
  26756. },
  26757. 547: {
  26758. Fmap1: [8]TFcChar32{
  26759. 0: uint32(0x00000800),
  26760. 1: uint32(0x02000000),
  26761. 3: uint32(0x00008000),
  26762. },
  26763. },
  26764. 548: {
  26765. Fmap1: [8]TFcChar32{
  26766. 0: uint32(0x00200000),
  26767. 5: uint32(0x000040c0),
  26768. 6: uint32(0x00002200),
  26769. 7: uint32(0x12002000),
  26770. },
  26771. },
  26772. 549: {
  26773. Fmap1: [8]TFcChar32{
  26774. 1: uint32(0x00000020),
  26775. 2: uint32(0x20000000),
  26776. 4: uint32(0x00000200),
  26777. 5: uint32(0x00080800),
  26778. 6: uint32(0x1000a000),
  26779. },
  26780. },
  26781. 550: {
  26782. Fmap1: [8]TFcChar32{
  26783. 3: uint32(0x00004000),
  26784. },
  26785. },
  26786. 551: {
  26787. Fmap1: [8]TFcChar32{
  26788. 2: uint32(0x00004280),
  26789. 3: uint32(0x01000000),
  26790. 4: uint32(0x00800000),
  26791. 5: uint32(0x00000008),
  26792. },
  26793. },
  26794. 552: {
  26795. Fmap1: [8]TFcChar32{
  26796. 3: uint32(0x00000002),
  26797. 5: uint32(0x20400000),
  26798. 6: uint32(0x00000040),
  26799. },
  26800. },
  26801. 553: {
  26802. Fmap1: [8]TFcChar32{
  26803. 0: uint32(0x00800080),
  26804. 1: uint32(0x00800000),
  26805. 5: uint32(0x00400020),
  26806. 7: uint32(0x00008000),
  26807. },
  26808. },
  26809. 554: {
  26810. Fmap1: [8]TFcChar32{
  26811. 0: uint32(0x01000000),
  26812. 1: uint32(0x00000040),
  26813. 3: uint32(0x00400000),
  26814. 5: uint32(0x00000440),
  26815. 7: uint32(0x00800000),
  26816. },
  26817. },
  26818. 555: {
  26819. Fmap1: [8]TFcChar32{
  26820. 0: uint32(0x01000000),
  26821. 6: uint32(0x00080000),
  26822. },
  26823. },
  26824. 556: {
  26825. Fmap1: [8]TFcChar32{
  26826. 0: uint32(0x01000000),
  26827. 1: uint32(0x00000001),
  26828. 3: uint32(0x00020000),
  26829. 5: uint32(0x20002000),
  26830. 7: uint32(0x00000004),
  26831. },
  26832. },
  26833. 557: {
  26834. Fmap1: [8]TFcChar32{
  26835. 0: uint32(0x00000008),
  26836. 1: uint32(0x00100000),
  26837. 3: uint32(0x00010000),
  26838. },
  26839. },
  26840. 558: {
  26841. Fmap1: [8]TFcChar32{
  26842. 0: uint32(0x00000004),
  26843. 1: uint32(0x00008000),
  26844. 7: uint32(0x00008000),
  26845. },
  26846. },
  26847. 559: {
  26848. Fmap1: [8]TFcChar32{
  26849. 4: uint32(0x00000040),
  26850. 6: uint32(0x00004000),
  26851. },
  26852. },
  26853. 560: {
  26854. Fmap1: [8]TFcChar32{
  26855. 0: uint32(0x00000010),
  26856. 1: uint32(0x00002000),
  26857. 2: uint32(0x40000040),
  26858. 4: uint32(0x10000000),
  26859. 6: uint32(0x00008080),
  26860. },
  26861. },
  26862. 561: {
  26863. Fmap1: [8]TFcChar32{
  26864. 2: uint32(0x00000080),
  26865. 4: uint32(0x00100080),
  26866. 5: uint32(0x000000a0),
  26867. },
  26868. },
  26869. 562: {
  26870. Fmap1: [8]TFcChar32{
  26871. 4: uint32(0x00100000),
  26872. },
  26873. },
  26874. 563: {
  26875. Fmap1: [8]TFcChar32{
  26876. 2: uint32(0x00001000),
  26877. 4: uint32(0x0001000a),
  26878. },
  26879. },
  26880. 564: {
  26881. Fmap1: [8]TFcChar32{
  26882. 6: uint32(0x08002000),
  26883. },
  26884. },
  26885. 565: {
  26886. Fmap1: [8]TFcChar32{
  26887. 0: uint32(0x00000808),
  26888. },
  26889. },
  26890. 566: {
  26891. Fmap1: [8]TFcChar32{
  26892. 0: uint32(0x00004000),
  26893. 1: uint32(0x00002400),
  26894. 2: uint32(0x00008000),
  26895. 3: uint32(0x40000000),
  26896. 4: uint32(0x00000001),
  26897. 5: uint32(0x00002000),
  26898. 6: uint32(0x04000000),
  26899. 7: uint32(0x00040004),
  26900. },
  26901. },
  26902. 567: {
  26903. Fmap1: [8]TFcChar32{
  26904. 1: uint32(0x00002000),
  26905. 5: uint32(0x1c200000),
  26906. 7: uint32(0x02000000),
  26907. },
  26908. },
  26909. 568: {
  26910. Fmap1: [8]TFcChar32{
  26911. 1: uint32(0x00080000),
  26912. 2: uint32(0x00400000),
  26913. 3: uint32(0x00000002),
  26914. 5: uint32(0x00000100),
  26915. },
  26916. },
  26917. 569: {
  26918. Fmap1: [8]TFcChar32{
  26919. 3: uint32(0x00400000),
  26920. },
  26921. },
  26922. 570: {
  26923. Fmap1: [8]TFcChar32{
  26924. 0: uint32(0x00004100),
  26925. 1: uint32(0x00000400),
  26926. 2: uint32(0x20200010),
  26927. 3: uint32(0x00004004),
  26928. 5: uint32(0x42000000),
  26929. },
  26930. },
  26931. 571: {
  26932. Fmap1: [8]TFcChar32{
  26933. 0: uint32(0x00000080),
  26934. 2: uint32(0x00000121),
  26935. 3: uint32(0x00000200),
  26936. 4: uint32(0x000000b0),
  26937. 5: uint32(0x80002000),
  26938. 7: uint32(0x00010000),
  26939. },
  26940. },
  26941. 572: {
  26942. Fmap1: [8]TFcChar32{
  26943. 0: uint32(0x00000010),
  26944. 1: uint32(0x000000c0),
  26945. 2: uint32(0x08100000),
  26946. 3: uint32(0x00000020),
  26947. },
  26948. },
  26949. 573: {
  26950. Fmap1: [8]TFcChar32{
  26951. 4: uint32(0x02000000),
  26952. 5: uint32(0x00000404),
  26953. },
  26954. },
  26955. 574: {
  26956. Fmap1: [8]TFcChar32{
  26957. 4: uint32(0x00400000),
  26958. 5: uint32(0x00000008),
  26959. },
  26960. },
  26961. 575: {
  26962. Fmap1: [8]TFcChar32{
  26963. 1: uint32(0x00000002),
  26964. 2: uint32(0x00020000),
  26965. 3: uint32(0x00002000),
  26966. 7: uint32(0x00204000),
  26967. },
  26968. },
  26969. 576: {
  26970. Fmap1: [8]TFcChar32{
  26971. 1: uint32(0x00100000),
  26972. 5: uint32(0x00800000),
  26973. 6: uint32(0x00000100),
  26974. 7: uint32(0x00000001),
  26975. },
  26976. },
  26977. 577: {
  26978. Fmap1: [8]TFcChar32{
  26979. 0: uint32(0x10000000),
  26980. 1: uint32(0x01000000),
  26981. 2: uint32(0x00002400),
  26982. 3: uint32(0x00000004),
  26983. 6: uint32(0x00000020),
  26984. 7: uint32(0x00000002),
  26985. },
  26986. },
  26987. 578: {
  26988. Fmap1: [8]TFcChar32{
  26989. 0: uint32(0x00010000),
  26990. },
  26991. },
  26992. 579: {
  26993. Fmap1: [8]TFcChar32{
  26994. 1: uint32(0x00002400),
  26995. 4: uint32(0x00004802),
  26996. 7: uint32(0x80022000),
  26997. },
  26998. },
  26999. 580: {
  27000. Fmap1: [8]TFcChar32{
  27001. 0: uint32(0x00001004),
  27002. 1: uint32(0x04208000),
  27003. 2: uint32(0x20000020),
  27004. 3: uint32(0x00040000),
  27005. },
  27006. },
  27007. 581: {
  27008. Fmap1: [8]TFcChar32{
  27009. 1: uint32(0x00100000),
  27010. 2: uint32(0x40010000),
  27011. 4: uint32(0x00080000),
  27012. 6: uint32(0x00100211),
  27013. },
  27014. },
  27015. 582: {
  27016. Fmap1: [8]TFcChar32{
  27017. 0: uint32(0x00001400),
  27018. 4: uint32(0x00610000),
  27019. 5: uint32(0x80008c00),
  27020. },
  27021. },
  27022. 583: {
  27023. Fmap1: [8]TFcChar32{
  27024. 0: uint32(0x00000100),
  27025. 1: uint32(0x00000040),
  27026. 3: uint32(0x00000004),
  27027. 4: uint32(0x00004000),
  27028. },
  27029. },
  27030. 584: {
  27031. Fmap1: [8]TFcChar32{
  27032. 6: uint32(0x00000400),
  27033. },
  27034. },
  27035. 585: {
  27036. Fmap1: [8]TFcChar32{
  27037. 5: uint32(0x00000210),
  27038. },
  27039. },
  27040. 586: {
  27041. Fmap1: [8]TFcChar32{
  27042. 1: uint32(0x00000020),
  27043. 2: uint32(0x00000002),
  27044. },
  27045. },
  27046. 587: {
  27047. Fmap1: [8]TFcChar32{
  27048. 0: uint32(0x00004000),
  27049. 3: uint32(0x02000000),
  27050. },
  27051. },
  27052. 588: {
  27053. Fmap1: [8]TFcChar32{
  27054. 2: uint32(0x00080002),
  27055. 3: uint32(0x01000020),
  27056. 4: uint32(0x00400000),
  27057. 5: uint32(0x00200000),
  27058. 6: uint32(0x00008000),
  27059. },
  27060. },
  27061. 589: {
  27062. Fmap1: [8]TFcChar32{
  27063. 1: uint32(0x00020000),
  27064. 3: uint32(0xc0020000),
  27065. 4: uint32(0x10000000),
  27066. 5: uint32(0x00000080),
  27067. },
  27068. },
  27069. 590: {
  27070. Fmap1: [8]TFcChar32{
  27071. 0: uint32(0x00000210),
  27072. 2: uint32(0x00001000),
  27073. 3: uint32(0x04480000),
  27074. 4: uint32(0x20000000),
  27075. 5: uint32(0x00000004),
  27076. 6: uint32(0x00800000),
  27077. 7: uint32(0x02000000),
  27078. },
  27079. },
  27080. 591: {
  27081. Fmap1: [8]TFcChar32{
  27082. 1: uint32(0x08006000),
  27083. 2: uint32(0x00001000),
  27084. 5: uint32(0x00100000),
  27085. 7: uint32(0x00000400),
  27086. },
  27087. },
  27088. 592: {
  27089. Fmap1: [8]TFcChar32{
  27090. 0: uint32(0x00100000),
  27091. 2: uint32(0x10000000),
  27092. 3: uint32(0x08608000),
  27093. 6: uint32(0x00080002),
  27094. },
  27095. },
  27096. 593: {
  27097. Fmap1: [8]TFcChar32{
  27098. 1: uint32(0x20000000),
  27099. 2: uint32(0x00008020),
  27100. },
  27101. },
  27102. 594: {
  27103. Fmap1: [8]TFcChar32{
  27104. 3: uint32(0x10000000),
  27105. },
  27106. },
  27107. 595: {
  27108. Fmap1: [8]TFcChar32{
  27109. 1: uint32(0x00100000),
  27110. },
  27111. },
  27112. 596: {
  27113. Fmap1: [8]TFcChar32{
  27114. 1: uint32(0x00000400),
  27115. },
  27116. },
  27117. 597: {
  27118. Fmap1: [8]TFcChar32{
  27119. 7: uint32(0x02000000),
  27120. },
  27121. },
  27122. 598: {
  27123. Fmap1: [8]TFcChar32{
  27124. 6: uint32(0x00000080),
  27125. },
  27126. },
  27127. 599: {
  27128. Fmap1: [8]TFcChar32{
  27129. 5: uint32(0x00000002),
  27130. },
  27131. },
  27132. 600: {
  27133. Fmap1: [8]TFcChar32{
  27134. 6: uint32(0x00008000),
  27135. },
  27136. },
  27137. 601: {
  27138. Fmap1: [8]TFcChar32{
  27139. 2: uint32(0x00000008),
  27140. 6: uint32(0x00000400),
  27141. },
  27142. },
  27143. 602: {
  27144. Fmap1: [8]TFcChar32{
  27145. 2: uint32(0x00220000),
  27146. 3: uint32(0x00000004),
  27147. 5: uint32(0x00040000),
  27148. 6: uint32(0x00000004),
  27149. },
  27150. },
  27151. 603: {
  27152. Fmap1: [8]TFcChar32{
  27153. 2: uint32(0x00001000),
  27154. 3: uint32(0x00000080),
  27155. 4: uint32(0x00002000),
  27156. 7: uint32(0x00004000),
  27157. },
  27158. },
  27159. 604: {
  27160. Fmap1: [8]TFcChar32{
  27161. 3: uint32(0x00100000),
  27162. },
  27163. },
  27164. 605: {
  27165. Fmap1: [8]TFcChar32{
  27166. 4: uint32(0x00200000),
  27167. },
  27168. },
  27169. 606: {
  27170. Fmap1: [8]TFcChar32{
  27171. 5: uint32(0x04000000),
  27172. },
  27173. },
  27174. 607: {
  27175. Fmap1: [8]TFcChar32{
  27176. 4: uint32(0x00000200),
  27177. },
  27178. },
  27179. 608: {
  27180. Fmap1: [8]TFcChar32{
  27181. 4: uint32(0x00000001),
  27182. },
  27183. },
  27184. 609: {
  27185. Fmap1: [8]TFcChar32{
  27186. 6: uint32(0x00080000),
  27187. },
  27188. },
  27189. 610: {
  27190. Fmap1: [8]TFcChar32{
  27191. 5: uint32(0x01000000),
  27192. 7: uint32(0x00000400),
  27193. },
  27194. },
  27195. 611: {
  27196. Fmap1: [8]TFcChar32{
  27197. 5: uint32(0x00000080),
  27198. },
  27199. },
  27200. 612: {
  27201. Fmap1: [8]TFcChar32{
  27202. 1: uint32(0x00000800),
  27203. 2: uint32(0x00000100),
  27204. 3: uint32(0x40000000),
  27205. },
  27206. },
  27207. 613: {
  27208. Fmap1: [8]TFcChar32{
  27209. 1: uint32(0x00200000),
  27210. },
  27211. },
  27212. 614: {
  27213. Fmap1: [8]TFcChar32{
  27214. 2: uint32(0x01000000),
  27215. },
  27216. },
  27217. 615: {
  27218. Fmap1: [8]TFcChar32{
  27219. 6: uint32(0x04000000),
  27220. },
  27221. },
  27222. 616: {
  27223. Fmap1: [8]TFcChar32{
  27224. 6: uint32(0x00001000),
  27225. },
  27226. },
  27227. 617: {
  27228. Fmap1: [8]TFcChar32{
  27229. 4: uint32(0x00000400),
  27230. },
  27231. },
  27232. 618: {
  27233. Fmap1: [8]TFcChar32{
  27234. 7: uint32(0x04040000),
  27235. },
  27236. },
  27237. 619: {
  27238. Fmap1: [8]TFcChar32{
  27239. 4: uint32(0x00000020),
  27240. },
  27241. },
  27242. 620: {
  27243. Fmap1: [8]TFcChar32{
  27244. 2: uint32(0x00800000),
  27245. },
  27246. },
  27247. 621: {
  27248. Fmap1: [8]TFcChar32{
  27249. 1: uint32(0x00200000),
  27250. 2: uint32(0x40000000),
  27251. },
  27252. },
  27253. 622: {
  27254. Fmap1: [8]TFcChar32{
  27255. 4: uint32(0x20000000),
  27256. },
  27257. },
  27258. 623: {
  27259. Fmap1: [8]TFcChar32{
  27260. 3: uint32(0x04000000),
  27261. 5: uint32(0x00000001),
  27262. },
  27263. },
  27264. 624: {
  27265. Fmap1: [8]TFcChar32{
  27266. 1: uint32(0x40000000),
  27267. 2: uint32(0x02000000),
  27268. },
  27269. },
  27270. 625: {
  27271. Fmap1: [8]TFcChar32{
  27272. 3: uint32(0x00080000),
  27273. },
  27274. },
  27275. 626: {
  27276. Fmap1: [8]TFcChar32{
  27277. 1: uint32(0x00000010),
  27278. 5: uint32(0x20000000),
  27279. },
  27280. },
  27281. 627: {
  27282. Fmap1: [8]TFcChar32{
  27283. 2: uint32(0x20000000),
  27284. },
  27285. },
  27286. 628: {
  27287. Fmap1: [8]TFcChar32{
  27288. 0: uint32(0x00000080),
  27289. 7: uint32(0x00000004),
  27290. },
  27291. },
  27292. 629: {
  27293. Fmap1: [8]TFcChar32{
  27294. 3: uint32(0x00002000),
  27295. },
  27296. },
  27297. 630: {
  27298. Fmap1: [8]TFcChar32{
  27299. 6: uint32(0x10000001),
  27300. },
  27301. },
  27302. 631: {
  27303. Fmap1: [8]TFcChar32{
  27304. 0: uint32(0x00008000),
  27305. },
  27306. },
  27307. 632: {
  27308. Fmap1: [8]TFcChar32{
  27309. 2: uint32(0x00004040),
  27310. },
  27311. },
  27312. 633: {
  27313. Fmap1: [8]TFcChar32{
  27314. 6: uint32(0x00042400),
  27315. },
  27316. },
  27317. 634: {
  27318. Fmap1: [8]TFcChar32{
  27319. 4: uint32(0x02000000),
  27320. },
  27321. },
  27322. 635: {
  27323. Fmap1: [8]TFcChar32{
  27324. 7: uint32(0x00000080),
  27325. },
  27326. },
  27327. 636: {
  27328. Fmap1: [8]TFcChar32{
  27329. 7: uint32(0x00000020),
  27330. },
  27331. },
  27332. 637: {
  27333. Fmap1: [8]TFcChar32{
  27334. 1: uint32(0x00000001),
  27335. },
  27336. },
  27337. 638: {
  27338. Fmap1: [8]TFcChar32{
  27339. 6: uint32(0x00020000),
  27340. },
  27341. },
  27342. 639: {
  27343. Fmap1: [8]TFcChar32{
  27344. 2: uint32(0x00002000),
  27345. },
  27346. },
  27347. 640: {
  27348. Fmap1: [8]TFcChar32{
  27349. 4: uint32(0x01000000),
  27350. },
  27351. },
  27352. 641: {
  27353. Fmap1: [8]TFcChar32{
  27354. 1: uint32(0x00040000),
  27355. 2: uint32(0x08000000),
  27356. },
  27357. },
  27358. 642: {
  27359. Fmap1: [8]TFcChar32{
  27360. 0: uint32(0xc373ff8b),
  27361. 1: uint32(0x1b0f6840),
  27362. 2: uint32(0xf34ce9ac),
  27363. 3: uint32(0xc0080200),
  27364. 4: uint32(0xca3e795c),
  27365. 5: uint32(0x06487976),
  27366. 6: uint32(0xf7f02fdf),
  27367. 7: uint32(0xa8ff033a),
  27368. },
  27369. },
  27370. 643: {
  27371. Fmap1: [8]TFcChar32{
  27372. 0: uint32(0x233fef37),
  27373. 1: uint32(0xfd59b004),
  27374. 2: uint32(0xfffff3ca),
  27375. 3: uint32(0xfff9de9f),
  27376. 4: uint32(0x7df7abff),
  27377. 5: uint32(0x8eecc000),
  27378. 6: uint32(0xffdbeebf),
  27379. 7: uint32(0x45fad003),
  27380. },
  27381. },
  27382. 644: {
  27383. Fmap1: [8]TFcChar32{
  27384. 0: uint32(0xdffefae1),
  27385. 1: uint32(0x10abbfef),
  27386. 2: uint32(0xfcaaffeb),
  27387. 3: uint32(0x24fdef3f),
  27388. 4: uint32(0x7f7678ad),
  27389. 5: uint32(0xedfff00c),
  27390. 6: uint32(0x2cfacff6),
  27391. 7: uint32(0xeb6bf7f9),
  27392. },
  27393. },
  27394. 645: {
  27395. Fmap1: [8]TFcChar32{
  27396. 0: uint32(0x95bf1ffd),
  27397. 1: uint32(0xbfbf6677),
  27398. 2: uint32(0xfeb43bfb),
  27399. 3: uint32(0x11e27bae),
  27400. 4: uint32(0x41bea681),
  27401. 5: uint32(0x72c31435),
  27402. 6: uint32(0x71917d70),
  27403. 7: uint32(0x276b0003),
  27404. },
  27405. },
  27406. 646: {
  27407. Fmap1: [8]TFcChar32{
  27408. 0: uint32(0x70cf57cb),
  27409. 1: uint32(0x0def4732),
  27410. 2: uint32(0xfc747eda),
  27411. 3: uint32(0xbdb4fe06),
  27412. 4: uint32(0x8bca3f9f),
  27413. 5: uint32(0x58007e49),
  27414. 6: uint32(0xebec228f),
  27415. 7: uint32(0xddbb8a5c),
  27416. },
  27417. },
  27418. 647: {
  27419. Fmap1: [8]TFcChar32{
  27420. 0: uint32(0xb6e7ef60),
  27421. 1: uint32(0xf293a40f),
  27422. 2: uint32(0x549e37bb),
  27423. 3: uint32(0x9bafd04b),
  27424. 4: uint32(0xf7d4c414),
  27425. 5: uint32(0x0a1430b0),
  27426. 6: uint32(0x88d02f08),
  27427. 7: uint32(0x192fff7e),
  27428. },
  27429. },
  27430. 648: {
  27431. Fmap1: [8]TFcChar32{
  27432. 0: uint32(0xfb07ffda),
  27433. 1: uint32(0x7beb7ff1),
  27434. 2: uint32(0x0010c5ef),
  27435. 3: uint32(0xfdff99ff),
  27436. 4: uint32(0x056779d7),
  27437. 5: uint32(0xfdcbffe7),
  27438. 6: uint32(0x4040c3ff),
  27439. 7: uint32(0xbd8e6ff7),
  27440. },
  27441. },
  27442. 649: {
  27443. Fmap1: [8]TFcChar32{
  27444. 0: uint32(0x0497dffa),
  27445. 1: uint32(0x5bfff4c0),
  27446. 2: uint32(0xd0e7ed7b),
  27447. 3: uint32(0xf8e0047e),
  27448. 4: uint32(0xb73eff9f),
  27449. 5: uint32(0x882e7dfe),
  27450. 6: uint32(0xbe7ffffd),
  27451. 7: uint32(0xf6c483fe),
  27452. },
  27453. },
  27454. 650: {
  27455. Fmap1: [8]TFcChar32{
  27456. 0: uint32(0xb8fdf357),
  27457. 1: uint32(0xef7dd680),
  27458. 2: uint32(0x47885767),
  27459. 3: uint32(0xc3dfff7d),
  27460. 4: uint32(0x37a9f0ff),
  27461. 5: uint32(0x70fc7de0),
  27462. 6: uint32(0xec9a3f6f),
  27463. 7: uint32(0x86814cb3),
  27464. },
  27465. },
  27466. 651: {
  27467. Fmap1: [8]TFcChar32{
  27468. 0: uint32(0xdd5c3f9e),
  27469. 1: uint32(0x4819f70d),
  27470. 2: uint32(0x0007fea3),
  27471. 3: uint32(0x38ffaf56),
  27472. 4: uint32(0xefb8980d),
  27473. 5: uint32(0xb760403d),
  27474. 6: uint32(0x9035d8ce),
  27475. 7: uint32(0x3fff72bf),
  27476. },
  27477. },
  27478. 652: {
  27479. Fmap1: [8]TFcChar32{
  27480. 0: uint32(0x7a117ff7),
  27481. 1: uint32(0xabfff7bb),
  27482. 2: uint32(0x6fbeff00),
  27483. 3: uint32(0xfe72a93c),
  27484. 4: uint32(0xf11bcfef),
  27485. 5: uint32(0xf40adb6b),
  27486. 6: uint32(0xef7ec3e6),
  27487. 7: uint32(0xf6109b9c),
  27488. },
  27489. },
  27490. 653: {
  27491. Fmap1: [8]TFcChar32{
  27492. 0: uint32(0x16f4f048),
  27493. 1: uint32(0x5182feb5),
  27494. 2: uint32(0x15bbc7b1),
  27495. 3: uint32(0xfbdf6e87),
  27496. 4: uint32(0x63cde43f),
  27497. 5: uint32(0x7e7ec1ff),
  27498. 6: uint32(0x7d5ffdeb),
  27499. 7: uint32(0xfcfe777b),
  27500. },
  27501. },
  27502. 654: {
  27503. Fmap1: [8]TFcChar32{
  27504. 0: uint32(0xdbea960b),
  27505. 1: uint32(0x53e86229),
  27506. 2: uint32(0xfdef37df),
  27507. 3: uint32(0xbd8136f5),
  27508. 4: uint32(0xfcbddc18),
  27509. 5: uint32(0xffffd2e4),
  27510. 6: uint32(0xffe03fd7),
  27511. 7: uint32(0xabf87f6f),
  27512. },
  27513. },
  27514. 655: {
  27515. Fmap1: [8]TFcChar32{
  27516. 0: uint32(0x6ed99bae),
  27517. 1: uint32(0xf115f5fb),
  27518. 2: uint32(0xbdfb79a9),
  27519. 3: uint32(0xadaf5a3c),
  27520. 4: uint32(0x1facdbba),
  27521. 5: uint32(0x837971fc),
  27522. 6: uint32(0xc35f7cf7),
  27523. 7: uint32(0x0567dfff),
  27524. },
  27525. },
  27526. 656: {
  27527. Fmap1: [8]TFcChar32{
  27528. 0: uint32(0x8467ff9a),
  27529. 1: uint32(0xdf8b1534),
  27530. 2: uint32(0x3373f9f3),
  27531. 3: uint32(0x5e1af7bd),
  27532. 4: uint32(0xa03fbf40),
  27533. 5: uint32(0x01ebffff),
  27534. 6: uint32(0xcfdddfc0),
  27535. 7: uint32(0xabd37500),
  27536. },
  27537. },
  27538. 657: {
  27539. Fmap1: [8]TFcChar32{
  27540. 0: uint32(0xeed6f8c3),
  27541. 1: uint32(0xb7ff43fd),
  27542. 2: uint32(0x42275eaf),
  27543. 3: uint32(0xf6869bac),
  27544. 4: uint32(0xf6bc27d7),
  27545. 5: uint32(0x35b7f787),
  27546. 6: uint32(0xe176aacd),
  27547. 7: uint32(0xe29f49e7),
  27548. },
  27549. },
  27550. 658: {
  27551. Fmap1: [8]TFcChar32{
  27552. 0: uint32(0xaff2545c),
  27553. 1: uint32(0x61d82b3f),
  27554. 2: uint32(0xbbb8fc3b),
  27555. 3: uint32(0x7b7dffcf),
  27556. 4: uint32(0x1ce0bf95),
  27557. 5: uint32(0x43ff7dfd),
  27558. 6: uint32(0xfffe5ff6),
  27559. 7: uint32(0xc4ced3ef),
  27560. },
  27561. },
  27562. 659: {
  27563. Fmap1: [8]TFcChar32{
  27564. 0: uint32(0xadbc8db6),
  27565. 1: uint32(0x11eb63dc),
  27566. 2: uint32(0x23d0df59),
  27567. 3: uint32(0xf3dbbeb4),
  27568. 4: uint32(0xdbc71fe7),
  27569. 5: uint32(0xfae4ff63),
  27570. 6: uint32(0x63f7b22b),
  27571. 7: uint32(0xadbaed3b),
  27572. },
  27573. },
  27574. 660: {
  27575. Fmap1: [8]TFcChar32{
  27576. 0: uint32(0x7efffe01),
  27577. 1: uint32(0x02bcfff7),
  27578. 2: uint32(0xef3932ff),
  27579. 3: uint32(0x8005fffc),
  27580. 4: uint32(0xbcf577fb),
  27581. 5: uint32(0xfff7010d),
  27582. 6: uint32(0xbf3afffb),
  27583. 7: uint32(0xdfff0057),
  27584. },
  27585. },
  27586. 661: {
  27587. Fmap1: [8]TFcChar32{
  27588. 0: uint32(0xbd7def7b),
  27589. 1: uint32(0xc8d4db88),
  27590. 2: uint32(0xed7cfff3),
  27591. 3: uint32(0x56ff5dee),
  27592. 4: uint32(0xac5f7e0d),
  27593. 5: uint32(0xd57fff96),
  27594. 6: uint32(0xc1403fee),
  27595. 7: uint32(0xffe76ff9),
  27596. },
  27597. },
  27598. 662: {
  27599. Fmap1: [8]TFcChar32{
  27600. 0: uint32(0x8e77779b),
  27601. 1: uint32(0xe45d6ebf),
  27602. 2: uint32(0x5f1f6fcf),
  27603. 3: uint32(0xfedfe07f),
  27604. 4: uint32(0x01fed7db),
  27605. 5: uint32(0xfb7bff00),
  27606. 6: uint32(0x1fdfffd4),
  27607. 7: uint32(0xfffff800),
  27608. },
  27609. },
  27610. 663: {
  27611. Fmap1: [8]TFcChar32{
  27612. 0: uint32(0x007bfb8f),
  27613. 1: uint32(0x7f5cbf00),
  27614. 2: uint32(0x07f3ffff),
  27615. 3: uint32(0x3de7eba0),
  27616. 4: uint32(0xfbd7f7bf),
  27617. 5: uint32(0x6003ffbf),
  27618. 6: uint32(0xbfedfffd),
  27619. 7: uint32(0x027fefbb),
  27620. },
  27621. },
  27622. 664: {
  27623. Fmap1: [8]TFcChar32{
  27624. 0: uint32(0xddfdfe40),
  27625. 1: uint32(0xe2f9fdff),
  27626. 2: uint32(0xfb1f680b),
  27627. 3: uint32(0xaffdfbe3),
  27628. 4: uint32(0xf7ed9fa4),
  27629. 5: uint32(0xf80f7a7d),
  27630. 6: uint32(0x0fd5eebe),
  27631. 7: uint32(0xfd9fbb5d),
  27632. },
  27633. },
  27634. 665: {
  27635. Fmap1: [8]TFcChar32{
  27636. 0: uint32(0x3bf9f2db),
  27637. 1: uint32(0xebccfe7f),
  27638. 2: uint32(0x73fa876a),
  27639. 3: uint32(0x9ffc95fc),
  27640. 4: uint32(0xfaf7109f),
  27641. 5: uint32(0xbbcdddb7),
  27642. 6: uint32(0xeccdf87e),
  27643. 7: uint32(0x3c3ff366),
  27644. },
  27645. },
  27646. 666: {
  27647. Fmap1: [8]TFcChar32{
  27648. 0: uint32(0xb03ffffd),
  27649. 1: uint32(0x067ee9f7),
  27650. 2: uint32(0xfe0696ae),
  27651. 3: uint32(0x5fd7d576),
  27652. 4: uint32(0xa3f33fd1),
  27653. 5: uint32(0x6fb7cf07),
  27654. 6: uint32(0x7f449fd1),
  27655. 7: uint32(0xd3dd7b59),
  27656. },
  27657. },
  27658. 667: {
  27659. Fmap1: [8]TFcChar32{
  27660. 0: uint32(0xa9bdaf3b),
  27661. 1: uint32(0xff3a7dcf),
  27662. 2: uint32(0xf6ebfbe0),
  27663. 3: uint32(0xffffb401),
  27664. 4: uint32(0xb7bf7afa),
  27665. 5: uint32(0x0ffdc000),
  27666. 6: uint32(0xff1fff7f),
  27667. 7: uint32(0x95fffefc),
  27668. },
  27669. },
  27670. 668: {
  27671. Fmap1: [8]TFcChar32{
  27672. 0: uint32(0xb5dc0000),
  27673. 1: uint32(0x3f3eef63),
  27674. 2: uint32(0x001bfb7f),
  27675. 3: uint32(0xfbf6e800),
  27676. 4: uint32(0xb8df9eef),
  27677. 5: uint32(0x003fff9f),
  27678. 6: uint32(0xf5ff7bd0),
  27679. 7: uint32(0x3fffdfdb),
  27680. },
  27681. },
  27682. 669: {
  27683. Fmap1: [8]TFcChar32{
  27684. 0: uint32(0x00bffdf0),
  27685. 1: uint32(0xbbbd8420),
  27686. 2: uint32(0xffdedf37),
  27687. 3: uint32(0x0ff3ff6d),
  27688. 4: uint32(0x5efb604c),
  27689. 5: uint32(0xfafbfffb),
  27690. 6: uint32(0x0219fe5e),
  27691. 7: uint32(0xf9de79f4),
  27692. },
  27693. },
  27694. 670: {
  27695. Fmap1: [8]TFcChar32{
  27696. 0: uint32(0xebfaa7f7),
  27697. 1: uint32(0xff3401eb),
  27698. 2: uint32(0xef73ebd3),
  27699. 3: uint32(0xc040afd7),
  27700. 4: uint32(0xdcff72bb),
  27701. 5: uint32(0x2fd8f17f),
  27702. 6: uint32(0xfe0bb8ec),
  27703. 7: uint32(0x1f0bdda3),
  27704. },
  27705. },
  27706. 671: {
  27707. Fmap1: [8]TFcChar32{
  27708. 0: uint32(0x47cf8f1d),
  27709. 1: uint32(0xffdeb12b),
  27710. 2: uint32(0xda737fee),
  27711. 3: uint32(0xcbc424ff),
  27712. 4: uint32(0xcbf2f75d),
  27713. 5: uint32(0xb4edecfd),
  27714. 6: uint32(0x4dddbff9),
  27715. 7: uint32(0xfb8d99dd),
  27716. },
  27717. },
  27718. 672: {
  27719. Fmap1: [8]TFcChar32{
  27720. 0: uint32(0xaf7bbb7f),
  27721. 1: uint32(0xc959ddfb),
  27722. 2: uint32(0xfab5fc4f),
  27723. 3: uint32(0x6d5fafe3),
  27724. 4: uint32(0x3f7dffff),
  27725. 5: uint32(0xffdb7800),
  27726. 6: uint32(0x7effb6ff),
  27727. 7: uint32(0x022ffbaf),
  27728. },
  27729. },
  27730. 673: {
  27731. Fmap1: [8]TFcChar32{
  27732. 0: uint32(0xefc7ff9b),
  27733. 1: uint32(0xffffffa5),
  27734. 2: uint32(0xc7000007),
  27735. 3: uint32(0xfff1f7ff),
  27736. 4: uint32(0x01bf7ffd),
  27737. 5: uint32(0xfdbcdc00),
  27738. 6: uint32(0xffffbff5),
  27739. 7: uint32(0x3effff7f),
  27740. },
  27741. },
  27742. 674: {
  27743. Fmap1: [8]TFcChar32{
  27744. 0: uint32(0xbe000029),
  27745. 1: uint32(0xff7ff9ff),
  27746. 2: uint32(0xfd7e6efb),
  27747. 3: uint32(0x039ecbff),
  27748. 4: uint32(0xfbdde300),
  27749. 5: uint32(0xf6dfccff),
  27750. 6: uint32(0x117fffff),
  27751. 7: uint32(0xfbf6f800),
  27752. },
  27753. },
  27754. 675: {
  27755. Fmap1: [8]TFcChar32{
  27756. 0: uint32(0xd73ce7ef),
  27757. 1: uint32(0xdfeffeef),
  27758. 2: uint32(0xedbfc00b),
  27759. 3: uint32(0xfdcdfedf),
  27760. 4: uint32(0x40fd7bf5),
  27761. 5: uint32(0xb75fffff),
  27762. 6: uint32(0xf930ffdf),
  27763. 7: uint32(0xdc97fbdf),
  27764. },
  27765. },
  27766. 676: {
  27767. Fmap1: [8]TFcChar32{
  27768. 0: uint32(0xbff2fef3),
  27769. 1: uint32(0xdfbf8fdf),
  27770. 2: uint32(0xede6177f),
  27771. 3: uint32(0x35530f7f),
  27772. 4: uint32(0x877e447c),
  27773. 5: uint32(0x45bbfa12),
  27774. 6: uint32(0x779eede0),
  27775. 7: uint32(0xbfd98017),
  27776. },
  27777. },
  27778. 677: {
  27779. Fmap1: [8]TFcChar32{
  27780. 0: uint32(0xde897e55),
  27781. 1: uint32(0x0447c16f),
  27782. 2: uint32(0xf75d7ade),
  27783. 3: uint32(0x290557ff),
  27784. 4: uint32(0xfe9586f7),
  27785. 5: uint32(0xf32f97b3),
  27786. 6: uint32(0x9f75cfff),
  27787. 7: uint32(0xfb1771f7),
  27788. },
  27789. },
  27790. 678: {
  27791. Fmap1: [8]TFcChar32{
  27792. 0: uint32(0xee1934ee),
  27793. 1: uint32(0xef6137cc),
  27794. 2: uint32(0xef4c9fd6),
  27795. 3: uint32(0xfbddd68f),
  27796. 4: uint32(0x6def7b73),
  27797. 5: uint32(0xa431d7fe),
  27798. 6: uint32(0x97d75e7f),
  27799. 7: uint32(0xffd80f5b),
  27800. },
  27801. },
  27802. 679: {
  27803. Fmap1: [8]TFcChar32{
  27804. 0: uint32(0x7bce9d83),
  27805. 1: uint32(0xdcff22ec),
  27806. 2: uint32(0xef87763d),
  27807. 3: uint32(0xfdeddfe7),
  27808. 4: uint32(0xa0fc4fff),
  27809. 5: uint32(0xdbfc3b77),
  27810. 6: uint32(0x7fdc3ded),
  27811. 7: uint32(0xf5706fa9),
  27812. },
  27813. },
  27814. 680: {
  27815. Fmap1: [8]TFcChar32{
  27816. 0: uint32(0x2c403ffb),
  27817. 1: uint32(0x847fff7f),
  27818. 2: uint32(0xdeb7ec57),
  27819. 3: uint32(0xf22fe69c),
  27820. 4: uint32(0xd5b50feb),
  27821. 5: uint32(0xede7afeb),
  27822. 6: uint32(0xfff08c2f),
  27823. 7: uint32(0xe8f0537f),
  27824. },
  27825. },
  27826. 681: {
  27827. Fmap1: [8]TFcChar32{
  27828. 0: uint32(0xb5ffb99d),
  27829. 1: uint32(0xe78fff66),
  27830. 2: uint32(0xbe10d981),
  27831. 3: uint32(0xe3c19c7c),
  27832. 4: uint32(0x27339cd1),
  27833. 5: uint32(0xff6d0cbc),
  27834. 6: uint32(0xefb7fcb7),
  27835. 7: uint32(0xffffa0df),
  27836. },
  27837. },
  27838. 682: {
  27839. Fmap1: [8]TFcChar32{
  27840. 0: uint32(0xfe7bbf0b),
  27841. 1: uint32(0x353fa3ff),
  27842. 2: uint32(0x97cd13cc),
  27843. 3: uint32(0xfb277637),
  27844. 4: uint32(0x7e6ccfd6),
  27845. 5: uint32(0xed31ec50),
  27846. 6: uint32(0xfc1c677c),
  27847. 7: uint32(0x5fbff6fa),
  27848. },
  27849. },
  27850. 683: {
  27851. Fmap1: [8]TFcChar32{
  27852. 0: uint32(0xae2f0fba),
  27853. 1: uint32(0x7ffea3ad),
  27854. 2: uint32(0xde74fcf0),
  27855. 3: uint32(0xf200ffef),
  27856. 4: uint32(0xfea2fbbf),
  27857. 5: uint32(0xbcff3daf),
  27858. 6: uint32(0x5fb9f694),
  27859. 7: uint32(0x3f8ff3ad),
  27860. },
  27861. },
  27862. 684: {
  27863. Fmap1: [8]TFcChar32{
  27864. 0: uint32(0xa01ff26c),
  27865. 1: uint32(0x01bfffef),
  27866. 2: uint32(0x70057728),
  27867. 3: uint32(0xda03ff35),
  27868. 4: uint32(0xc7fad2f9),
  27869. 5: uint32(0x5c1d3fbf),
  27870. 6: uint32(0xec33ff3a),
  27871. 7: uint32(0xfe9cb7af),
  27872. },
  27873. },
  27874. 685: {
  27875. Fmap1: [8]TFcChar32{
  27876. 0: uint32(0x7a9f5236),
  27877. 1: uint32(0xe722bffa),
  27878. 2: uint32(0xfcff9ff7),
  27879. 3: uint32(0xb61d2fbb),
  27880. 4: uint32(0x1dfded06),
  27881. 5: uint32(0xefdf7dd7),
  27882. 6: uint32(0xf166eb23),
  27883. 7: uint32(0x0dc07ed9),
  27884. },
  27885. },
  27886. 686: {
  27887. Fmap1: [8]TFcChar32{
  27888. 0: uint32(0xdfbf3d3d),
  27889. 1: uint32(0xba83c945),
  27890. 2: uint32(0x9dd07dd1),
  27891. 3: uint32(0xcf737b87),
  27892. 4: uint32(0xc3f59ff3),
  27893. 5: uint32(0xc5fedf0d),
  27894. 6: uint32(0x83020cb3),
  27895. 7: uint32(0xaec0e879),
  27896. },
  27897. },
  27898. 687: {
  27899. Fmap1: [8]TFcChar32{
  27900. 0: uint32(0x6f0fc773),
  27901. 1: uint32(0x093ffd7d),
  27902. 2: uint32(0x0157fff1),
  27903. 3: uint32(0x01ff62fb),
  27904. 4: uint32(0x3bf3fdb4),
  27905. 5: uint32(0x43b2b013),
  27906. 6: uint32(0xff305ed3),
  27907. 7: uint32(0xeb9f0fff),
  27908. },
  27909. },
  27910. 688: {
  27911. Fmap1: [8]TFcChar32{
  27912. 0: uint32(0xf203feef),
  27913. 1: uint32(0xfb893fef),
  27914. 2: uint32(0x9e9937a9),
  27915. 3: uint32(0xa72cdef9),
  27916. 4: uint32(0xc1f63733),
  27917. 5: uint32(0xfe3e812e),
  27918. 6: uint32(0xf2f75d20),
  27919. 7: uint32(0x69d7d585),
  27920. },
  27921. },
  27922. 689: {
  27923. Fmap1: [8]TFcChar32{
  27924. 0: uint32(0xffffffff),
  27925. 1: uint32(0xff6fdb07),
  27926. 2: uint32(0xd97fc4ff),
  27927. 3: uint32(0xbe0fefce),
  27928. 4: uint32(0xf05ef17b),
  27929. 5: uint32(0xffb7f6cf),
  27930. 6: uint32(0xef845ef7),
  27931. 7: uint32(0x0edfd7cb),
  27932. },
  27933. },
  27934. 690: {
  27935. Fmap1: [8]TFcChar32{
  27936. 0: uint32(0xfcffff08),
  27937. 1: uint32(0xffffee3f),
  27938. 2: uint32(0xd7ff13ff),
  27939. 3: uint32(0x7ffdaf0f),
  27940. 4: uint32(0x1ffabdc7),
  27941. },
  27942. },
  27943. 691: {
  27944. Fmap1: [8]TFcChar32{
  27945. 1: uint32(0xe7400000),
  27946. 2: uint32(0xf933bd38),
  27947. 3: uint32(0xfeed7feb),
  27948. 4: uint32(0x7c767fe8),
  27949. 5: uint32(0xffefb3f7),
  27950. 6: uint32(0xd8b7feaf),
  27951. 7: uint32(0xfbbfff6f),
  27952. },
  27953. },
  27954. 692: {
  27955. Fmap1: [8]TFcChar32{
  27956. 0: uint32(0xdbf7f8fb),
  27957. 1: uint32(0xe2f91752),
  27958. 2: uint32(0x754785c8),
  27959. 3: uint32(0xe3ef9090),
  27960. 4: uint32(0x3f6d9ef4),
  27961. 5: uint32(0x0536ee2e),
  27962. 6: uint32(0x7ff3f7bc),
  27963. 7: uint32(0x7f3fa07b),
  27964. },
  27965. },
  27966. 693: {
  27967. Fmap1: [8]TFcChar32{
  27968. 0: uint32(0xeb600567),
  27969. 1: uint32(0x6601babe),
  27970. 2: uint32(0x583ffcd8),
  27971. 3: uint32(0x87dfcaf7),
  27972. 4: uint32(0xffa0bfcd),
  27973. 5: uint32(0xfebf5bcd),
  27974. 6: uint32(0xefa7b6fd),
  27975. 7: uint32(0xdf9c77ef),
  27976. },
  27977. },
  27978. 694: {
  27979. Fmap1: [8]TFcChar32{
  27980. 0: uint32(0xf8773fb7),
  27981. 1: uint32(0xb7fc9d27),
  27982. 2: uint32(0xdfefcab5),
  27983. 3: uint32(0xf1b6fb5a),
  27984. 4: uint32(0xef1fec39),
  27985. 5: uint32(0x7ffbfbbf),
  27986. 6: uint32(0xdafe000d),
  27987. 7: uint32(0x4e7fbdfb),
  27988. },
  27989. },
  27990. 695: {
  27991. Fmap1: [8]TFcChar32{
  27992. 0: uint32(0x5ac033ff),
  27993. 1: uint32(0x9ffebff5),
  27994. 2: uint32(0x005fffbf),
  27995. 3: uint32(0xfdf80000),
  27996. 4: uint32(0x6ffdffca),
  27997. 5: uint32(0xa001cffd),
  27998. 6: uint32(0xfbf2dfff),
  27999. 7: uint32(0xff7fdfbf),
  28000. },
  28001. },
  28002. 696: {
  28003. Fmap1: [8]TFcChar32{
  28004. 0: uint32(0x080ffeda),
  28005. 1: uint32(0xbfffba08),
  28006. 2: uint32(0xeed77afd),
  28007. 3: uint32(0x67f9fbeb),
  28008. 4: uint32(0xff93e044),
  28009. 5: uint32(0x9f57df97),
  28010. 6: uint32(0x08dffef7),
  28011. 7: uint32(0xfedfdf80),
  28012. },
  28013. },
  28014. 697: {
  28015. Fmap1: [8]TFcChar32{
  28016. 0: uint32(0xf7feffc5),
  28017. 1: uint32(0x6803fffb),
  28018. 2: uint32(0x6bfa67fb),
  28019. 3: uint32(0x5fe27fff),
  28020. 4: uint32(0xff73ffff),
  28021. 5: uint32(0xe7fb87df),
  28022. 6: uint32(0xf7a7ebfd),
  28023. 7: uint32(0xefc7bf7e),
  28024. },
  28025. },
  28026. 698: {
  28027. Fmap1: [8]TFcChar32{
  28028. 0: uint32(0xdf821ef3),
  28029. 1: uint32(0xdf7e76ff),
  28030. 2: uint32(0xda7d79c9),
  28031. 3: uint32(0x1e9befbe),
  28032. 4: uint32(0x77fb7ce0),
  28033. 5: uint32(0xfffb87be),
  28034. 6: uint32(0xffdb1bff),
  28035. 7: uint32(0x4fe03f5c),
  28036. },
  28037. },
  28038. 699: {
  28039. Fmap1: [8]TFcChar32{
  28040. 0: uint32(0x5f0e7fff),
  28041. 1: uint32(0xddbf77ff),
  28042. 2: uint32(0xfffff04f),
  28043. 3: uint32(0x0ff8ffff),
  28044. 4: uint32(0xfddfa3be),
  28045. 5: uint32(0xfffdfc1c),
  28046. 6: uint32(0xfb9e1f7d),
  28047. 7: uint32(0xdedcbdff),
  28048. },
  28049. },
  28050. 700: {
  28051. Fmap1: [8]TFcChar32{
  28052. 0: uint32(0xbafb3f6f),
  28053. 1: uint32(0xfbefdf7f),
  28054. 2: uint32(0x2eec7d1b),
  28055. 3: uint32(0xf2f7af8e),
  28056. 4: uint32(0xcfee7b0f),
  28057. 5: uint32(0x77c61d96),
  28058. 6: uint32(0xfff57e07),
  28059. 7: uint32(0x7fdfd982),
  28060. },
  28061. },
  28062. 701: {
  28063. Fmap1: [8]TFcChar32{
  28064. 0: uint32(0xc7ff5ee6),
  28065. 1: uint32(0x79effeee),
  28066. 2: uint32(0xffcf9a56),
  28067. 3: uint32(0xde5efe5f),
  28068. 4: uint32(0xf9e8896e),
  28069. 5: uint32(0xe6c4f45e),
  28070. 6: uint32(0xbe7c0001),
  28071. 7: uint32(0xdddf3b7f),
  28072. },
  28073. },
  28074. 702: {
  28075. Fmap1: [8]TFcChar32{
  28076. 0: uint32(0xe9efd59d),
  28077. 1: uint32(0xde5334ac),
  28078. 2: uint32(0x4bf7f573),
  28079. 3: uint32(0x9eff7b4f),
  28080. 4: uint32(0x476eb8fe),
  28081. 5: uint32(0xff450dfb),
  28082. 6: uint32(0xfbfeabfd),
  28083. 7: uint32(0xddffe9d7),
  28084. },
  28085. },
  28086. 703: {
  28087. Fmap1: [8]TFcChar32{
  28088. 0: uint32(0x7fffedf7),
  28089. 1: uint32(0x7eebddfd),
  28090. 2: uint32(0xb7ffcfe7),
  28091. 3: uint32(0xef91bde9),
  28092. 4: uint32(0xd77c5d75),
  28093. },
  28094. },
  28095. 704: {
  28096. Fmap1: [8]TFcChar32{
  28097. 1: uint32(0xfa800000),
  28098. 2: uint32(0xb4f1ffee),
  28099. 3: uint32(0x2fefbf76),
  28100. 4: uint32(0x77bfb677),
  28101. 5: uint32(0xfffd9fbf),
  28102. 6: uint32(0xf6ae95bf),
  28103. 7: uint32(0x7f3b75ff),
  28104. },
  28105. },
  28106. 705: {
  28107. Fmap1: [8]TFcChar32{
  28108. 0: uint32(0x0af9a7f5),
  28109. 3: uint32(0x2bddfbd0),
  28110. 4: uint32(0x9a7ff633),
  28111. 5: uint32(0xd6fcfdab),
  28112. 6: uint32(0xbfebf9e6),
  28113. 7: uint32(0xf41fdfdf),
  28114. },
  28115. },
  28116. 706: {
  28117. Fmap1: [8]TFcChar32{
  28118. 0: uint32(0xffffa6fd),
  28119. 1: uint32(0xf37b4aff),
  28120. 2: uint32(0xfef97fb7),
  28121. 3: uint32(0x1d5cb6ff),
  28122. 4: uint32(0xe5ff7ff6),
  28123. 5: uint32(0x24041f7b),
  28124. 6: uint32(0xf99ebe05),
  28125. 7: uint32(0xdff2dbe3),
  28126. },
  28127. },
  28128. 707: {
  28129. Fmap1: [8]TFcChar32{
  28130. 0: uint32(0xfdff6fef),
  28131. 1: uint32(0xcbfcd679),
  28132. 2: uint32(0xefffebfd),
  28133. 3: uint32(0x0000001f),
  28134. 4: uint32(0x98000000),
  28135. 5: uint32(0x8017e148),
  28136. 6: uint32(0x00fe6a74),
  28137. 7: uint32(0xfdf16d7f),
  28138. },
  28139. },
  28140. 708: {
  28141. Fmap1: [8]TFcChar32{
  28142. 0: uint32(0xfef3b87f),
  28143. 1: uint32(0xf176e01f),
  28144. 2: uint32(0x7b3fee96),
  28145. 3: uint32(0xfffdeb8d),
  28146. 4: uint32(0xcbb3adff),
  28147. 5: uint32(0xe17f84ef),
  28148. 6: uint32(0xbff04daa),
  28149. 7: uint32(0xfe3fbf3f),
  28150. },
  28151. },
  28152. 709: {
  28153. Fmap1: [8]TFcChar32{
  28154. 0: uint32(0xffd7ebff),
  28155. 1: uint32(0xcf7fffdf),
  28156. 2: uint32(0x85edfffb),
  28157. 3: uint32(0x07bcd73f),
  28158. 4: uint32(0xfe0faeff),
  28159. 5: uint32(0x76bffdaf),
  28160. 6: uint32(0x37bbfaef),
  28161. 7: uint32(0xa3ba7fdc),
  28162. },
  28163. },
  28164. 710: {
  28165. Fmap1: [8]TFcChar32{
  28166. 0: uint32(0x56f7b6ff),
  28167. 1: uint32(0xe7df60f8),
  28168. 2: uint32(0x4cdfff61),
  28169. 3: uint32(0xff45b0fb),
  28170. 4: uint32(0x3ffa7ded),
  28171. 5: uint32(0x18fc1fff),
  28172. 6: uint32(0xe3afffff),
  28173. 7: uint32(0xdf83c7d3),
  28174. },
  28175. },
  28176. 711: {
  28177. Fmap1: [8]TFcChar32{
  28178. 0: uint32(0xef7dfb57),
  28179. 1: uint32(0x1378efff),
  28180. 2: uint32(0x5ff7fec0),
  28181. 3: uint32(0x5ee334bb),
  28182. 4: uint32(0xeff6f70d),
  28183. 5: uint32(0x00bfd7fe),
  28184. 6: uint32(0xf7f7f59d),
  28185. 7: uint32(0xffe051de),
  28186. },
  28187. },
  28188. 712: {
  28189. Fmap1: [8]TFcChar32{
  28190. 0: uint32(0x037ffec9),
  28191. 1: uint32(0xbfef5f01),
  28192. 2: uint32(0x60a79ff1),
  28193. 3: uint32(0xf1ffef1d),
  28194. 4: uint32(0x0000000f),
  28195. },
  28196. },
  28197. 713: {
  28198. Fmap1: [8]TFcChar32{
  28199. 3: uint32(0x3c800000),
  28200. 4: uint32(0xd91ffb4d),
  28201. 5: uint32(0xfee37b3a),
  28202. 6: uint32(0xdc7f3fe9),
  28203. 7: uint32(0x0000003f),
  28204. },
  28205. },
  28206. 714: {
  28207. Fmap1: [8]TFcChar32{
  28208. 0: uint32(0x50000000),
  28209. 1: uint32(0xbe07f51f),
  28210. 2: uint32(0xf91bfc1d),
  28211. 3: uint32(0x71ffbc1e),
  28212. 4: uint32(0x5bbe6ff9),
  28213. 5: uint32(0x9b1b5796),
  28214. 6: uint32(0xfffc7fff),
  28215. 7: uint32(0xafe7872e),
  28216. },
  28217. },
  28218. 715: {
  28219. Fmap1: [8]TFcChar32{
  28220. 0: uint32(0xf34febf5),
  28221. 1: uint32(0xe725dffd),
  28222. 2: uint32(0x5d440bdc),
  28223. 3: uint32(0xfddd5747),
  28224. 4: uint32(0x7790ed3f),
  28225. 5: uint32(0x8ac87d7f),
  28226. 6: uint32(0xf3f9fafa),
  28227. 7: uint32(0xef4b202a),
  28228. },
  28229. },
  28230. 716: {
  28231. Fmap1: [8]TFcChar32{
  28232. 0: uint32(0x79cff5ff),
  28233. 1: uint32(0x0ba5abd3),
  28234. 2: uint32(0xfb8ff77a),
  28235. 3: uint32(0x001f8ebd),
  28236. 5: uint32(0xfd4ef300),
  28237. 6: uint32(0x88001a57),
  28238. 7: uint32(0x7654aeac),
  28239. },
  28240. },
  28241. 717: {
  28242. Fmap1: [8]TFcChar32{
  28243. 0: uint32(0xcdff17ad),
  28244. 1: uint32(0xf42fffb2),
  28245. 2: uint32(0xdbff5baa),
  28246. 3: uint32(0x00000002),
  28247. 4: uint32(0x73c00000),
  28248. 5: uint32(0x2e3ff9ea),
  28249. 6: uint32(0xbbfffa8e),
  28250. 7: uint32(0xffd376bc),
  28251. },
  28252. },
  28253. 718: {
  28254. Fmap1: [8]TFcChar32{
  28255. 0: uint32(0x7e72eefe),
  28256. 1: uint32(0xe7f77ebd),
  28257. 2: uint32(0xcefdf77f),
  28258. 3: uint32(0x00000ff5),
  28259. 5: uint32(0xdb9ba900),
  28260. 6: uint32(0x917fa4c7),
  28261. 7: uint32(0x7ecef8ca),
  28262. },
  28263. },
  28264. 719: {
  28265. Fmap1: [8]TFcChar32{
  28266. 0: uint32(0xc7e77d7a),
  28267. 1: uint32(0xdcaecbbd),
  28268. 2: uint32(0x8f76fd7e),
  28269. 3: uint32(0x7cf391d3),
  28270. 4: uint32(0x4c2f01e5),
  28271. 5: uint32(0xa360ed77),
  28272. 6: uint32(0x5ef807db),
  28273. 7: uint32(0x21811df7),
  28274. },
  28275. },
  28276. 720: {
  28277. Fmap1: [8]TFcChar32{
  28278. 0: uint32(0x309c6be0),
  28279. 1: uint32(0xfade3b3a),
  28280. 2: uint32(0xc3f57f53),
  28281. 3: uint32(0x07ba61cd),
  28282. 7: uint32(0xbefe26e0),
  28283. },
  28284. },
  28285. 721: {
  28286. Fmap1: [8]TFcChar32{
  28287. 0: uint32(0xebb503f9),
  28288. 1: uint32(0xe9cbe36d),
  28289. 2: uint32(0xbfde9c2f),
  28290. 3: uint32(0xabbf9f83),
  28291. 4: uint32(0xffd51ff7),
  28292. 5: uint32(0xdffeb7df),
  28293. 6: uint32(0xffeffdae),
  28294. 7: uint32(0xeffdfb7e),
  28295. },
  28296. },
  28297. 722: {
  28298. Fmap1: [8]TFcChar32{
  28299. 0: uint32(0x6ebfaaff),
  28300. 3: uint32(0xb6200000),
  28301. 4: uint32(0xbe9e7fcd),
  28302. 5: uint32(0x58f162b3),
  28303. 6: uint32(0xfd7bf10d),
  28304. 7: uint32(0xbefde9f1),
  28305. },
  28306. },
  28307. 723: {
  28308. Fmap1: [8]TFcChar32{
  28309. 0: uint32(0x5f6dc6c3),
  28310. 1: uint32(0x69ffff3d),
  28311. 2: uint32(0xfbf4ffcf),
  28312. 3: uint32(0x4ff7dcfb),
  28313. 4: uint32(0x11372000),
  28314. 5: uint32(0x00000015),
  28315. },
  28316. },
  28317. 724: {
  28318. Fmap1: [8]TFcChar32{
  28319. 0: uint32(0x00003000),
  28320. },
  28321. },
  28322. },
  28323. Fleaf_offsets: [780]Tuintptr_t{
  28324. 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)),
  28325. 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)),
  28326. 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)),
  28327. 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)),
  28328. 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)),
  28329. 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)),
  28330. 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)),
  28331. 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)),
  28332. 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)),
  28333. 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)),
  28334. 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)),
  28335. 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)),
  28336. 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)),
  28337. 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)),
  28338. 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)),
  28339. 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)),
  28340. 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)),
  28341. 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)),
  28342. 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)),
  28343. 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)),
  28344. 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)),
  28345. 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)),
  28346. 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)),
  28347. 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)),
  28348. 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)),
  28349. 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)),
  28350. 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)),
  28351. 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)),
  28352. 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)),
  28353. 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)),
  28354. 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)),
  28355. 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)),
  28356. 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)),
  28357. 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)),
  28358. 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)),
  28359. 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)),
  28360. 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)),
  28361. 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)),
  28362. 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)),
  28363. 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)),
  28364. 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)),
  28365. 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)),
  28366. 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)),
  28367. 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)),
  28368. 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)),
  28369. 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)),
  28370. 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)),
  28371. 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)),
  28372. 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)),
  28373. 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)),
  28374. 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)),
  28375. 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)),
  28376. 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)),
  28377. 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)),
  28378. 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)),
  28379. 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)),
  28380. 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)),
  28381. 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)),
  28382. 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)),
  28383. 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)),
  28384. 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)),
  28385. 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)),
  28386. 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)),
  28387. 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)),
  28388. 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)),
  28389. 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)),
  28390. 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)),
  28391. 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)),
  28392. 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)),
  28393. 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)),
  28394. 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)),
  28395. 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)),
  28396. 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)),
  28397. 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)),
  28398. 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)),
  28399. 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)),
  28400. 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)),
  28401. 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)),
  28402. 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)),
  28403. 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)),
  28404. 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)),
  28405. 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)),
  28406. 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)),
  28407. 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)),
  28408. 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)),
  28409. 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)),
  28410. 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)),
  28411. 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)),
  28412. 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)),
  28413. 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)),
  28414. 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)),
  28415. 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)),
  28416. 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)),
  28417. 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)),
  28418. 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)),
  28419. 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)),
  28420. 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)),
  28421. 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)),
  28422. 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)),
  28423. 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)),
  28424. 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)),
  28425. 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)),
  28426. 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)),
  28427. 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)),
  28428. 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)),
  28429. 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)),
  28430. 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)),
  28431. 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)),
  28432. 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)),
  28433. 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)),
  28434. 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)),
  28435. 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)),
  28436. 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)),
  28437. 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)),
  28438. 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)),
  28439. 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)),
  28440. 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)),
  28441. 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)),
  28442. 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)),
  28443. 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)),
  28444. 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)),
  28445. 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)),
  28446. 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)),
  28447. 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)),
  28448. 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)),
  28449. 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)),
  28450. 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)),
  28451. 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)),
  28452. 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)),
  28453. 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)),
  28454. 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)),
  28455. 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)),
  28456. 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)),
  28457. 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)),
  28458. 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)),
  28459. 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)),
  28460. 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)),
  28461. 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)),
  28462. 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)),
  28463. 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)),
  28464. 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)),
  28465. 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)),
  28466. 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)),
  28467. 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)),
  28468. 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)),
  28469. 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)),
  28470. 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)),
  28471. 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)),
  28472. 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)),
  28473. 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)),
  28474. 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)),
  28475. 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)),
  28476. 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)),
  28477. 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)),
  28478. 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)),
  28479. 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)),
  28480. 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)),
  28481. 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)),
  28482. 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)),
  28483. 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)),
  28484. 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)),
  28485. 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)),
  28486. 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)),
  28487. 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)),
  28488. 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)),
  28489. 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)),
  28490. 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)),
  28491. 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)),
  28492. 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)),
  28493. 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)),
  28494. 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)),
  28495. 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)),
  28496. 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)),
  28497. 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)),
  28498. 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)),
  28499. 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)),
  28500. 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)),
  28501. 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)),
  28502. 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)),
  28503. 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)),
  28504. 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)),
  28505. 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)),
  28506. 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)),
  28507. 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)),
  28508. 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)),
  28509. 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)),
  28510. 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)),
  28511. 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)),
  28512. 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)),
  28513. 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)),
  28514. 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)),
  28515. 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)),
  28516. 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)),
  28517. 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)),
  28518. 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)),
  28519. 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)),
  28520. 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)),
  28521. 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)),
  28522. 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)),
  28523. 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)),
  28524. 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)),
  28525. 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)),
  28526. 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)),
  28527. 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)),
  28528. 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)),
  28529. 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)),
  28530. 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)),
  28531. 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)),
  28532. 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)),
  28533. 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)),
  28534. 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)),
  28535. 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)),
  28536. 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)),
  28537. 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)),
  28538. 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)),
  28539. 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)),
  28540. 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)),
  28541. 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)),
  28542. 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)),
  28543. 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)),
  28544. 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)),
  28545. 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)),
  28546. 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)),
  28547. 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)),
  28548. 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)),
  28549. 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)),
  28550. 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)),
  28551. 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)),
  28552. 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)),
  28553. 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)),
  28554. 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)),
  28555. 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)),
  28556. 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)),
  28557. 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)),
  28558. 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)),
  28559. 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)),
  28560. 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)),
  28561. 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)),
  28562. 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)),
  28563. 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)),
  28564. 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)),
  28565. 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)),
  28566. 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)),
  28567. 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)),
  28568. 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)),
  28569. 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)),
  28570. 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)),
  28571. 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)),
  28572. 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)),
  28573. 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)),
  28574. 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)),
  28575. 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)),
  28576. 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)),
  28577. 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)),
  28578. 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)),
  28579. 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)),
  28580. 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)),
  28581. 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)),
  28582. 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)),
  28583. 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)),
  28584. 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)),
  28585. 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)),
  28586. 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)),
  28587. 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)),
  28588. 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)),
  28589. 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)),
  28590. 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)),
  28591. 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)),
  28592. 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)),
  28593. 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)),
  28594. 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)),
  28595. 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)),
  28596. 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)),
  28597. 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)),
  28598. 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)),
  28599. 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)),
  28600. 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)),
  28601. 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)),
  28602. 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)),
  28603. 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)),
  28604. 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)),
  28605. 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)),
  28606. 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)),
  28607. 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)),
  28608. 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)),
  28609. 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)),
  28610. 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)),
  28611. 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)),
  28612. 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)),
  28613. 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)),
  28614. 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)),
  28615. 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)),
  28616. 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)),
  28617. 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)),
  28618. 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)),
  28619. 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)),
  28620. 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)),
  28621. 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)),
  28622. 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)),
  28623. 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)),
  28624. 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)),
  28625. 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)),
  28626. 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)),
  28627. 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)),
  28628. 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)),
  28629. 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)),
  28630. 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)),
  28631. 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)),
  28632. 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)),
  28633. 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)),
  28634. 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)),
  28635. 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)),
  28636. 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)),
  28637. 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)),
  28638. 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)),
  28639. 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)),
  28640. 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)),
  28641. 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)),
  28642. 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)),
  28643. 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)),
  28644. 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)),
  28645. 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)),
  28646. 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)),
  28647. 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)),
  28648. 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)),
  28649. 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)),
  28650. 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)),
  28651. 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)),
  28652. 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)),
  28653. 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)),
  28654. 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)),
  28655. 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)),
  28656. 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)),
  28657. 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)),
  28658. 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)),
  28659. 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)),
  28660. 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)),
  28661. 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)),
  28662. 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)),
  28663. 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)),
  28664. 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)),
  28665. 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)),
  28666. 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)),
  28667. 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)),
  28668. 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)),
  28669. 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)),
  28670. 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)),
  28671. 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)),
  28672. 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)),
  28673. 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)),
  28674. 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)),
  28675. 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)),
  28676. 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)),
  28677. 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)),
  28678. 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)),
  28679. 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)),
  28680. 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)),
  28681. 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)),
  28682. 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)),
  28683. 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)),
  28684. 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)),
  28685. 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)),
  28686. 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)),
  28687. 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)),
  28688. 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)),
  28689. 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)),
  28690. 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)),
  28691. 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)),
  28692. 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)),
  28693. 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)),
  28694. 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)),
  28695. 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)),
  28696. 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)),
  28697. 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)),
  28698. 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)),
  28699. 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)),
  28700. 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)),
  28701. 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)),
  28702. 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)),
  28703. 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)),
  28704. 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)),
  28705. 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)),
  28706. 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)),
  28707. 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)),
  28708. 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)),
  28709. 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)),
  28710. 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)),
  28711. 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)),
  28712. 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)),
  28713. 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)),
  28714. 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)),
  28715. 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)),
  28716. 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)),
  28717. 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)),
  28718. 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)),
  28719. 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)),
  28720. 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)),
  28721. 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)),
  28722. 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)),
  28723. 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)),
  28724. 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)),
  28725. 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)),
  28726. 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)),
  28727. 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)),
  28728. 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)),
  28729. 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)),
  28730. 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)),
  28731. 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)),
  28732. 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)),
  28733. 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)),
  28734. 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)),
  28735. 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)),
  28736. 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)),
  28737. 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)),
  28738. 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)),
  28739. 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)),
  28740. 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)),
  28741. 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)),
  28742. 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)),
  28743. 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)),
  28744. 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)),
  28745. 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)),
  28746. 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)),
  28747. 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)),
  28748. 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)),
  28749. 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)),
  28750. 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)),
  28751. 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)),
  28752. 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)),
  28753. 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)),
  28754. 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)),
  28755. 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)),
  28756. 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)),
  28757. 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)),
  28758. 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)),
  28759. 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)),
  28760. 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)),
  28761. 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)),
  28762. 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)),
  28763. 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)),
  28764. 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)),
  28765. 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)),
  28766. 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)),
  28767. 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)),
  28768. 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)),
  28769. 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)),
  28770. 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)),
  28771. 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)),
  28772. 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)),
  28773. 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)),
  28774. 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)),
  28775. 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)),
  28776. 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)),
  28777. 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)),
  28778. 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)),
  28779. 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)),
  28780. 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)),
  28781. 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)),
  28782. 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)),
  28783. 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)),
  28784. 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)),
  28785. 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)),
  28786. 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)),
  28787. 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)),
  28788. 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)),
  28789. 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)),
  28790. 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)),
  28791. 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)),
  28792. 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)),
  28793. 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)),
  28794. 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)),
  28795. 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)),
  28796. 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)),
  28797. 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)),
  28798. 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)),
  28799. 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)),
  28800. 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)),
  28801. 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)),
  28802. 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)),
  28803. 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)),
  28804. 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)),
  28805. 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)),
  28806. 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)),
  28807. 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)),
  28808. 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)),
  28809. 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)),
  28810. 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)),
  28811. 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)),
  28812. 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)),
  28813. 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)),
  28814. 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)),
  28815. 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)),
  28816. 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)),
  28817. 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)),
  28818. 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)),
  28819. 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)),
  28820. 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)),
  28821. 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)),
  28822. 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)),
  28823. 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)),
  28824. 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)),
  28825. 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)),
  28826. 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)),
  28827. 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)),
  28828. 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)),
  28829. 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)),
  28830. 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)),
  28831. 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)),
  28832. 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)),
  28833. 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)),
  28834. 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)),
  28835. 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)),
  28836. 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)),
  28837. 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)),
  28838. 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)),
  28839. 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)),
  28840. 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)),
  28841. 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)),
  28842. 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)),
  28843. 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)),
  28844. 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)),
  28845. 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)),
  28846. 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)),
  28847. 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)),
  28848. 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)),
  28849. 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)),
  28850. 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)),
  28851. 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)),
  28852. 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)),
  28853. 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)),
  28854. 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)),
  28855. 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)),
  28856. 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)),
  28857. 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)),
  28858. 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)),
  28859. 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)),
  28860. 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)),
  28861. 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)),
  28862. 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)),
  28863. 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)),
  28864. 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)),
  28865. 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)),
  28866. 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)),
  28867. 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)),
  28868. 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)),
  28869. 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)),
  28870. 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)),
  28871. 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)),
  28872. 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)),
  28873. 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)),
  28874. 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)),
  28875. 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)),
  28876. 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)),
  28877. 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)),
  28878. 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)),
  28879. 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)),
  28880. 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)),
  28881. 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)),
  28882. 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)),
  28883. 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)),
  28884. 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)),
  28885. 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)),
  28886. 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)),
  28887. 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)),
  28888. 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)),
  28889. 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)),
  28890. 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)),
  28891. 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)),
  28892. 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)),
  28893. 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)),
  28894. 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)),
  28895. 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)),
  28896. 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)),
  28897. 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)),
  28898. 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)),
  28899. 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)),
  28900. 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)),
  28901. 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)),
  28902. 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)),
  28903. 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)),
  28904. 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)),
  28905. 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)),
  28906. 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)),
  28907. 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)),
  28908. 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)),
  28909. 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)),
  28910. 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)),
  28911. 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)),
  28912. 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)),
  28913. 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)),
  28914. 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)),
  28915. 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)),
  28916. 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)),
  28917. 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)),
  28918. 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)),
  28919. 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)),
  28920. 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)),
  28921. 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)),
  28922. 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)),
  28923. 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)),
  28924. 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)),
  28925. 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)),
  28926. 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)),
  28927. 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)),
  28928. 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)),
  28929. 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)),
  28930. 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)),
  28931. 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)),
  28932. 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)),
  28933. 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)),
  28934. 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)),
  28935. 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)),
  28936. 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)),
  28937. 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)),
  28938. 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)),
  28939. 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)),
  28940. 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)),
  28941. 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)),
  28942. 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)),
  28943. 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)),
  28944. 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)),
  28945. 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)),
  28946. 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)),
  28947. 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)),
  28948. 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)),
  28949. 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)),
  28950. 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)),
  28951. 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)),
  28952. 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)),
  28953. 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)),
  28954. 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)),
  28955. 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)),
  28956. 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)),
  28957. 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)),
  28958. 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)),
  28959. 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)),
  28960. 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)),
  28961. 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)),
  28962. 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)),
  28963. 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)),
  28964. 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)),
  28965. 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)),
  28966. 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)),
  28967. 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)),
  28968. 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)),
  28969. 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)),
  28970. 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)),
  28971. 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)),
  28972. 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)),
  28973. 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)),
  28974. 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)),
  28975. 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)),
  28976. 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)),
  28977. 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)),
  28978. 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)),
  28979. 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)),
  28980. 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)),
  28981. 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)),
  28982. 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)),
  28983. 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)),
  28984. 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)),
  28985. 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)),
  28986. 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)),
  28987. 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)),
  28988. 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)),
  28989. 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)),
  28990. 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)),
  28991. 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)),
  28992. 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)),
  28993. 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)),
  28994. 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)),
  28995. 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)),
  28996. 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)),
  28997. 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)),
  28998. 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)),
  28999. 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)),
  29000. 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)),
  29001. 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)),
  29002. 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)),
  29003. 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)),
  29004. 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)),
  29005. 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)),
  29006. 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)),
  29007. 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)),
  29008. 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)),
  29009. 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)),
  29010. 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)),
  29011. 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)),
  29012. 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)),
  29013. 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)),
  29014. 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)),
  29015. 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)),
  29016. 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)),
  29017. 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)),
  29018. 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)),
  29019. 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)),
  29020. 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)),
  29021. 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)),
  29022. 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)),
  29023. 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)),
  29024. 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)),
  29025. 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)),
  29026. 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)),
  29027. 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)),
  29028. 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)),
  29029. 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)),
  29030. 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)),
  29031. 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)),
  29032. 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)),
  29033. 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)),
  29034. 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)),
  29035. 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)),
  29036. 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)),
  29037. 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)),
  29038. 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)),
  29039. 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)),
  29040. 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)),
  29041. 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)),
  29042. 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)),
  29043. 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)),
  29044. 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)),
  29045. 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)),
  29046. 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)),
  29047. 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)),
  29048. 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)),
  29049. 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)),
  29050. 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)),
  29051. 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)),
  29052. 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)),
  29053. 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)),
  29054. 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)),
  29055. 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)),
  29056. 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)),
  29057. 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)),
  29058. 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)),
  29059. 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)),
  29060. 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)),
  29061. 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)),
  29062. 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)),
  29063. 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)),
  29064. 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)),
  29065. 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)),
  29066. 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)),
  29067. 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)),
  29068. 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)),
  29069. 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)),
  29070. 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)),
  29071. 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)),
  29072. 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)),
  29073. 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)),
  29074. 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)),
  29075. 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)),
  29076. 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)),
  29077. 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)),
  29078. 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)),
  29079. 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)),
  29080. 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)),
  29081. 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)),
  29082. 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)),
  29083. 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)),
  29084. 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)),
  29085. 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)),
  29086. 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)),
  29087. 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)),
  29088. 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)),
  29089. 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)),
  29090. 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)),
  29091. 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)),
  29092. 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)),
  29093. 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)),
  29094. 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)),
  29095. 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)),
  29096. 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)),
  29097. 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)),
  29098. 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)),
  29099. 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)),
  29100. 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)),
  29101. 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)),
  29102. 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)),
  29103. 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)),
  29104. },
  29105. Fnumbers: [780]TFcChar16{
  29106. 1: uint16(0x0004),
  29107. 3: uint16(0x0001),
  29108. 5: uint16(0x0001),
  29109. 6: uint16(0x0002),
  29110. 7: uint16(0x0003),
  29111. 8: uint16(0x001e),
  29112. 9: uint16(0x0012),
  29113. 10: uint16(0x0013),
  29114. 12: uint16(0x0006),
  29115. 13: uint16(0x0009),
  29116. 15: uint16(0x001e),
  29117. 16: uint16(0x0004),
  29118. 19: uint16(0x0001),
  29119. 20: uint16(0x0002),
  29120. 21: uint16(0x0006),
  29121. 22: uint16(0x0004),
  29122. 23: uint16(0x0004),
  29123. 25: uint16(0x0001),
  29124. 26: uint16(0x0002),
  29125. 27: uint16(0x001e),
  29126. 28: uint16(0x002d),
  29127. 29: uint16(0x0004),
  29128. 30: uint16(0x0009),
  29129. 33: uint16(0x0003),
  29130. 34: uint16(0x001e),
  29131. 36: uint16(0x0001),
  29132. 37: uint16(0x0002),
  29133. 38: uint16(0x0009),
  29134. 39: uint16(0x000f),
  29135. 41: uint16(0x0009),
  29136. 43: uint16(0x0001),
  29137. 44: uint16(0x0004),
  29138. 45: uint16(0x0012),
  29139. 46: uint16(0x0013),
  29140. 48: uint16(0x0001),
  29141. 50: uint16(0x0004),
  29142. 51: uint16(0x0013),
  29143. 53: uint16(0x0001),
  29144. 55: uint16(0x0001),
  29145. 57: uint16(0x0001),
  29146. 59: uint16(0x0001),
  29147. 60: uint16(0x0004),
  29148. 61: uint16(0x0001),
  29149. 62: uint16(0x0004),
  29150. 64: uint16(0x0001),
  29151. 65: uint16(0x001e),
  29152. 68: uint16(0x0009),
  29153. 69: uint16(0x0007),
  29154. 71: uint16(0x0001),
  29155. 72: uint16(0x0002),
  29156. 73: uint16(0x0003),
  29157. 74: uint16(0x0003),
  29158. 77: uint16(0x0001),
  29159. 79: uint16(0x0001),
  29160. 82: uint16(0x0001),
  29161. 83: uint16(0x0002),
  29162. 85: uint16(0x0001),
  29163. 92: uint16(0x0001),
  29164. 93: uint16(0x001e),
  29165. 95: uint16(0x0012),
  29166. 96: uint16(0x0013),
  29167. 98: uint16(0x0001),
  29168. 99: uint16(0x001e),
  29169. 100: uint16(0x000a),
  29170. 103: uint16(0x0001),
  29171. 104: uint16(0x0002),
  29172. 106: uint16(0x0001),
  29173. 107: uint16(0x0002),
  29174. 108: uint16(0x0005),
  29175. 110: uint16(0x0001),
  29176. 113: uint16(0x0001),
  29177. 114: uint16(0x0005),
  29178. 116: uint16(0x0003),
  29179. 117: uint16(0x001e),
  29180. 121: uint16(0x001e),
  29181. 122: uint16(0x00a0),
  29182. 123: uint16(0x00a1),
  29183. 124: uint16(0x00a2),
  29184. 125: uint16(0x00a3),
  29185. 126: uint16(0x00a4),
  29186. 127: uint16(0x0004),
  29187. 130: uint16(0x0014),
  29188. 131: uint16(0x0015),
  29189. 132: uint16(0x0016),
  29190. 133: uint16(0x0030),
  29191. 134: uint16(0x004e),
  29192. 135: uint16(0x004f),
  29193. 136: uint16(0x0050),
  29194. 137: uint16(0x0051),
  29195. 138: uint16(0x0052),
  29196. 139: uint16(0x0053),
  29197. 140: uint16(0x0054),
  29198. 141: uint16(0x0055),
  29199. 142: uint16(0x0056),
  29200. 143: uint16(0x0057),
  29201. 144: uint16(0x0058),
  29202. 145: uint16(0x0059),
  29203. 146: uint16(0x005a),
  29204. 147: uint16(0x005b),
  29205. 148: uint16(0x005c),
  29206. 149: uint16(0x005d),
  29207. 150: uint16(0x005e),
  29208. 151: uint16(0x005f),
  29209. 152: uint16(0x0060),
  29210. 153: uint16(0x0061),
  29211. 154: uint16(0x0062),
  29212. 155: uint16(0x0063),
  29213. 156: uint16(0x0064),
  29214. 157: uint16(0x0065),
  29215. 158: uint16(0x0066),
  29216. 159: uint16(0x0067),
  29217. 160: uint16(0x0068),
  29218. 161: uint16(0x0069),
  29219. 162: uint16(0x006a),
  29220. 163: uint16(0x006b),
  29221. 164: uint16(0x006c),
  29222. 165: uint16(0x006d),
  29223. 166: uint16(0x006e),
  29224. 167: uint16(0x006f),
  29225. 168: uint16(0x0070),
  29226. 169: uint16(0x0071),
  29227. 170: uint16(0x0072),
  29228. 171: uint16(0x0073),
  29229. 172: uint16(0x0074),
  29230. 173: uint16(0x0075),
  29231. 174: uint16(0x0076),
  29232. 175: uint16(0x0077),
  29233. 176: uint16(0x0078),
  29234. 177: uint16(0x0079),
  29235. 178: uint16(0x007a),
  29236. 179: uint16(0x007b),
  29237. 180: uint16(0x007c),
  29238. 181: uint16(0x007d),
  29239. 182: uint16(0x007e),
  29240. 183: uint16(0x007f),
  29241. 184: uint16(0x0080),
  29242. 185: uint16(0x0081),
  29243. 186: uint16(0x0082),
  29244. 187: uint16(0x0083),
  29245. 188: uint16(0x0084),
  29246. 189: uint16(0x0085),
  29247. 190: uint16(0x0086),
  29248. 191: uint16(0x0087),
  29249. 192: uint16(0x0088),
  29250. 193: uint16(0x0089),
  29251. 194: uint16(0x008a),
  29252. 195: uint16(0x008b),
  29253. 196: uint16(0x008c),
  29254. 197: uint16(0x008d),
  29255. 198: uint16(0x008e),
  29256. 199: uint16(0x008f),
  29257. 200: uint16(0x0090),
  29258. 201: uint16(0x0091),
  29259. 202: uint16(0x0092),
  29260. 203: uint16(0x0093),
  29261. 204: uint16(0x0094),
  29262. 205: uint16(0x0095),
  29263. 206: uint16(0x0096),
  29264. 207: uint16(0x0097),
  29265. 208: uint16(0x0098),
  29266. 209: uint16(0x0099),
  29267. 210: uint16(0x009a),
  29268. 211: uint16(0x009b),
  29269. 212: uint16(0x009c),
  29270. 213: uint16(0x009d),
  29271. 214: uint16(0x009e),
  29272. 215: uint16(0x009f),
  29273. 217: uint16(0x0010),
  29274. 218: uint16(0x0004),
  29275. 220: uint16(0x0001),
  29276. 221: uint16(0x0004),
  29277. 223: uint16(0x0001),
  29278. 224: uint16(0x0017),
  29279. 225: uint16(0x000c),
  29280. 226: uint16(0x0031),
  29281. 227: uint16(0x00ac),
  29282. 228: uint16(0x00ad),
  29283. 229: uint16(0x00ae),
  29284. 230: uint16(0x00af),
  29285. 231: uint16(0x00b0),
  29286. 232: uint16(0x00b1),
  29287. 233: uint16(0x00b2),
  29288. 234: uint16(0x00b3),
  29289. 235: uint16(0x00b4),
  29290. 236: uint16(0x00b5),
  29291. 237: uint16(0x00b6),
  29292. 238: uint16(0x00b7),
  29293. 239: uint16(0x00b8),
  29294. 240: uint16(0x00b9),
  29295. 241: uint16(0x00ba),
  29296. 242: uint16(0x00bb),
  29297. 243: uint16(0x00bc),
  29298. 244: uint16(0x00bd),
  29299. 245: uint16(0x00be),
  29300. 246: uint16(0x00bf),
  29301. 247: uint16(0x00c0),
  29302. 248: uint16(0x00c1),
  29303. 249: uint16(0x00c2),
  29304. 250: uint16(0x00c3),
  29305. 251: uint16(0x00c4),
  29306. 252: uint16(0x00c5),
  29307. 253: uint16(0x00c6),
  29308. 254: uint16(0x00c7),
  29309. 255: uint16(0x00c8),
  29310. 256: uint16(0x00c9),
  29311. 257: uint16(0x00ca),
  29312. 258: uint16(0x00cb),
  29313. 259: uint16(0x00cc),
  29314. 260: uint16(0x00cd),
  29315. 261: uint16(0x00ce),
  29316. 262: uint16(0x00cf),
  29317. 263: uint16(0x00d0),
  29318. 264: uint16(0x00d1),
  29319. 265: uint16(0x00d2),
  29320. 266: uint16(0x00d3),
  29321. 267: uint16(0x00d4),
  29322. 268: uint16(0x00d5),
  29323. 269: uint16(0x00d6),
  29324. 270: uint16(0x00d7),
  29325. 272: uint16(0x0001),
  29326. 273: uint16(0x0002),
  29327. 274: uint16(0x0006),
  29328. 275: uint16(0x0004),
  29329. 276: uint16(0x0005),
  29330. 277: uint16(0x0006),
  29331. 279: uint16(0x0001),
  29332. 280: uint16(0x0004),
  29333. 281: uint16(0x0004),
  29334. 283: uint16(0x0001),
  29335. 284: uint16(0x0002),
  29336. 285: uint16(0x0004),
  29337. 287: uint16(0x0001),
  29338. 288: uint16(0x0006),
  29339. 291: uint16(0x0001),
  29340. 294: uint16(0x0001),
  29341. 295: uint16(0x0002),
  29342. 296: uint16(0x0003),
  29343. 297: uint16(0x000e),
  29344. 299: uint16(0x0001),
  29345. 301: uint16(0x0001),
  29346. 304: uint16(0x0001),
  29347. 306: uint16(0x0001),
  29348. 307: uint16(0x001e),
  29349. 308: uint16(0x0004),
  29350. 309: uint16(0x000d),
  29351. 310: uint16(0x0018),
  29352. 311: uint16(0x0004),
  29353. 312: uint16(0x0009),
  29354. 314: uint16(0x0001),
  29355. 315: uint16(0x0002),
  29356. 316: uint16(0x0004),
  29357. 318: uint16(0x0001),
  29358. 319: uint16(0x0010),
  29359. 321: uint16(0x0001),
  29360. 323: uint16(0x0009),
  29361. 326: uint16(0x0007),
  29362. 328: uint16(0x0001),
  29363. 330: uint16(0x0001),
  29364. 331: uint16(0x0002),
  29365. 332: uint16(0x0003),
  29366. 334: uint16(0x0001),
  29367. 336: uint16(0x000b),
  29368. 337: uint16(0x0006),
  29369. 338: uint16(0x000a),
  29370. 342: uint16(0x0001),
  29371. 343: uint16(0x0006),
  29372. 344: uint16(0x0006),
  29373. 347: uint16(0x0002),
  29374. 350: uint16(0x0001),
  29375. 351: uint16(0x0002),
  29376. 352: uint16(0x0004),
  29377. 353: uint16(0x0009),
  29378. 356: uint16(0x0001),
  29379. 357: uint16(0x0002),
  29380. 358: uint16(0x0006),
  29381. 360: uint16(0x0001),
  29382. 363: uint16(0x0001),
  29383. 364: uint16(0x0004),
  29384. 366: uint16(0x0003),
  29385. 367: uint16(0x000d),
  29386. 368: uint16(0x0012),
  29387. 369: uint16(0x0013),
  29388. 371: uint16(0x0001),
  29389. 373: uint16(0x0002),
  29390. 377: uint16(0x0001),
  29391. 379: uint16(0x0001),
  29392. 380: uint16(0x0002),
  29393. 382: uint16(0x0004),
  29394. 384: uint16(0x0007),
  29395. 385: uint16(0x000b),
  29396. 386: uint16(0x000c),
  29397. 387: uint16(0x0004),
  29398. 388: uint16(0x000e),
  29399. 389: uint16(0x0012),
  29400. 390: uint16(0x0013),
  29401. 392: uint16(0x0001),
  29402. 394: uint16(0x0001),
  29403. 395: uint16(0x0004),
  29404. 397: uint16(0x0001),
  29405. 398: uint16(0x0002),
  29406. 399: uint16(0x0006),
  29407. 400: uint16(0x0004),
  29408. 402: uint16(0x0001),
  29409. 403: uint16(0x0003),
  29410. 404: uint16(0x0020),
  29411. 405: uint16(0x0021),
  29412. 406: uint16(0x0022),
  29413. 407: uint16(0x0023),
  29414. 408: uint16(0x0025),
  29415. 409: uint16(0x0027),
  29416. 410: uint16(0x01d4),
  29417. 411: uint16(0x01d5),
  29418. 412: uint16(0x01d6),
  29419. 413: uint16(0x0023),
  29420. 414: uint16(0x0025),
  29421. 415: uint16(0x0026),
  29422. 416: uint16(0x0027),
  29423. 417: uint16(0x002b),
  29424. 418: uint16(0x01f0),
  29425. 419: uint16(0x01f1),
  29426. 420: uint16(0x01f2),
  29427. 421: uint16(0x01f3),
  29428. 422: uint16(0x01f4),
  29429. 423: uint16(0x01f5),
  29430. 424: uint16(0x01f6),
  29431. 426: uint16(0x001e),
  29432. 428: uint16(0x0001),
  29433. 429: uint16(0x0003),
  29434. 430: uint16(0x001e),
  29435. 433: uint16(0x0001),
  29436. 436: uint16(0x0001),
  29437. 438: uint16(0x0001),
  29438. 441: uint16(0x0001),
  29439. 442: uint16(0x0003),
  29440. 443: uint16(0x001e),
  29441. 444: uint16(0x0002),
  29442. 445: uint16(0x004e),
  29443. 446: uint16(0x004f),
  29444. 447: uint16(0x0050),
  29445. 448: uint16(0x0051),
  29446. 449: uint16(0x0052),
  29447. 450: uint16(0x0053),
  29448. 451: uint16(0x0054),
  29449. 452: uint16(0x0055),
  29450. 453: uint16(0x0056),
  29451. 454: uint16(0x0057),
  29452. 455: uint16(0x0058),
  29453. 456: uint16(0x0059),
  29454. 457: uint16(0x005a),
  29455. 458: uint16(0x005b),
  29456. 459: uint16(0x005c),
  29457. 460: uint16(0x005d),
  29458. 461: uint16(0x005e),
  29459. 462: uint16(0x005f),
  29460. 463: uint16(0x0060),
  29461. 464: uint16(0x0061),
  29462. 465: uint16(0x0062),
  29463. 466: uint16(0x0063),
  29464. 467: uint16(0x0064),
  29465. 468: uint16(0x0065),
  29466. 469: uint16(0x0066),
  29467. 470: uint16(0x0067),
  29468. 471: uint16(0x0068),
  29469. 472: uint16(0x0069),
  29470. 473: uint16(0x006a),
  29471. 474: uint16(0x006b),
  29472. 475: uint16(0x006c),
  29473. 476: uint16(0x006d),
  29474. 477: uint16(0x006e),
  29475. 478: uint16(0x006f),
  29476. 479: uint16(0x0070),
  29477. 480: uint16(0x0071),
  29478. 481: uint16(0x0072),
  29479. 482: uint16(0x0073),
  29480. 483: uint16(0x0074),
  29481. 484: uint16(0x0075),
  29482. 485: uint16(0x0076),
  29483. 486: uint16(0x0077),
  29484. 487: uint16(0x0078),
  29485. 488: uint16(0x0079),
  29486. 489: uint16(0x007a),
  29487. 490: uint16(0x007b),
  29488. 491: uint16(0x007c),
  29489. 492: uint16(0x007d),
  29490. 493: uint16(0x007e),
  29491. 494: uint16(0x007f),
  29492. 495: uint16(0x0080),
  29493. 496: uint16(0x0081),
  29494. 497: uint16(0x0082),
  29495. 498: uint16(0x0083),
  29496. 499: uint16(0x0084),
  29497. 500: uint16(0x0085),
  29498. 501: uint16(0x0086),
  29499. 502: uint16(0x0087),
  29500. 503: uint16(0x0088),
  29501. 504: uint16(0x0089),
  29502. 505: uint16(0x008a),
  29503. 506: uint16(0x008b),
  29504. 507: uint16(0x008c),
  29505. 508: uint16(0x008d),
  29506. 509: uint16(0x008e),
  29507. 510: uint16(0x008f),
  29508. 511: uint16(0x0090),
  29509. 512: uint16(0x0091),
  29510. 513: uint16(0x0092),
  29511. 514: uint16(0x0093),
  29512. 515: uint16(0x0094),
  29513. 516: uint16(0x0095),
  29514. 517: uint16(0x0096),
  29515. 518: uint16(0x0097),
  29516. 519: uint16(0x0098),
  29517. 520: uint16(0x0099),
  29518. 521: uint16(0x009a),
  29519. 522: uint16(0x009b),
  29520. 523: uint16(0x009c),
  29521. 524: uint16(0x009e),
  29522. 525: uint16(0x009f),
  29523. 526: uint16(0x0030),
  29524. 527: uint16(0x0034),
  29525. 528: uint16(0x0035),
  29526. 529: uint16(0x0036),
  29527. 530: uint16(0x0037),
  29528. 531: uint16(0x0038),
  29529. 532: uint16(0x0039),
  29530. 533: uint16(0x003a),
  29531. 534: uint16(0x003b),
  29532. 535: uint16(0x003c),
  29533. 536: uint16(0x003d),
  29534. 537: uint16(0x003e),
  29535. 538: uint16(0x003f),
  29536. 539: uint16(0x0040),
  29537. 540: uint16(0x0041),
  29538. 541: uint16(0x0042),
  29539. 542: uint16(0x0043),
  29540. 543: uint16(0x0044),
  29541. 544: uint16(0x0045),
  29542. 545: uint16(0x0046),
  29543. 546: uint16(0x0047),
  29544. 547: uint16(0x0048),
  29545. 548: uint16(0x0049),
  29546. 549: uint16(0x004a),
  29547. 550: uint16(0x004b),
  29548. 551: uint16(0x004c),
  29549. 552: uint16(0x004d),
  29550. 553: uint16(0x004e),
  29551. 554: uint16(0x004f),
  29552. 555: uint16(0x0050),
  29553. 556: uint16(0x0051),
  29554. 557: uint16(0x0052),
  29555. 558: uint16(0x0053),
  29556. 559: uint16(0x0054),
  29557. 560: uint16(0x0055),
  29558. 561: uint16(0x0056),
  29559. 562: uint16(0x0057),
  29560. 563: uint16(0x0058),
  29561. 564: uint16(0x0059),
  29562. 565: uint16(0x005a),
  29563. 566: uint16(0x005b),
  29564. 567: uint16(0x005c),
  29565. 568: uint16(0x005d),
  29566. 569: uint16(0x005e),
  29567. 570: uint16(0x005f),
  29568. 571: uint16(0x0060),
  29569. 572: uint16(0x0061),
  29570. 573: uint16(0x0062),
  29571. 574: uint16(0x0063),
  29572. 575: uint16(0x0064),
  29573. 576: uint16(0x0065),
  29574. 577: uint16(0x0066),
  29575. 578: uint16(0x0067),
  29576. 579: uint16(0x0068),
  29577. 580: uint16(0x0069),
  29578. 581: uint16(0x006a),
  29579. 582: uint16(0x006b),
  29580. 583: uint16(0x006c),
  29581. 584: uint16(0x006d),
  29582. 585: uint16(0x006e),
  29583. 586: uint16(0x006f),
  29584. 587: uint16(0x0070),
  29585. 588: uint16(0x0071),
  29586. 589: uint16(0x0072),
  29587. 590: uint16(0x0073),
  29588. 591: uint16(0x0074),
  29589. 592: uint16(0x0075),
  29590. 593: uint16(0x0076),
  29591. 594: uint16(0x0077),
  29592. 595: uint16(0x0078),
  29593. 596: uint16(0x0079),
  29594. 597: uint16(0x007a),
  29595. 598: uint16(0x007b),
  29596. 599: uint16(0x007c),
  29597. 600: uint16(0x007d),
  29598. 601: uint16(0x007e),
  29599. 602: uint16(0x007f),
  29600. 603: uint16(0x0080),
  29601. 604: uint16(0x0081),
  29602. 605: uint16(0x0082),
  29603. 606: uint16(0x0083),
  29604. 607: uint16(0x0084),
  29605. 608: uint16(0x0085),
  29606. 609: uint16(0x0086),
  29607. 610: uint16(0x0087),
  29608. 611: uint16(0x0088),
  29609. 612: uint16(0x0089),
  29610. 613: uint16(0x008a),
  29611. 614: uint16(0x008b),
  29612. 615: uint16(0x008c),
  29613. 616: uint16(0x008d),
  29614. 617: uint16(0x008e),
  29615. 618: uint16(0x008f),
  29616. 619: uint16(0x0090),
  29617. 620: uint16(0x0091),
  29618. 621: uint16(0x0092),
  29619. 622: uint16(0x0093),
  29620. 623: uint16(0x0094),
  29621. 624: uint16(0x0095),
  29622. 625: uint16(0x0096),
  29623. 626: uint16(0x0097),
  29624. 627: uint16(0x0098),
  29625. 628: uint16(0x0099),
  29626. 629: uint16(0x009a),
  29627. 630: uint16(0x009b),
  29628. 631: uint16(0x009c),
  29629. 632: uint16(0x009d),
  29630. 633: uint16(0x009e),
  29631. 634: uint16(0x009f),
  29632. 635: uint16(0x0200),
  29633. 636: uint16(0x0201),
  29634. 637: uint16(0x0203),
  29635. 638: uint16(0x0207),
  29636. 639: uint16(0x020c),
  29637. 640: uint16(0x020d),
  29638. 641: uint16(0x020e),
  29639. 642: uint16(0x020f),
  29640. 643: uint16(0x0210),
  29641. 644: uint16(0x0211),
  29642. 645: uint16(0x0219),
  29643. 646: uint16(0x021a),
  29644. 647: uint16(0x021c),
  29645. 648: uint16(0x021d),
  29646. 649: uint16(0x0220),
  29647. 650: uint16(0x0221),
  29648. 651: uint16(0x022a),
  29649. 652: uint16(0x022b),
  29650. 653: uint16(0x022c),
  29651. 654: uint16(0x022d),
  29652. 655: uint16(0x022f),
  29653. 656: uint16(0x0232),
  29654. 657: uint16(0x0235),
  29655. 658: uint16(0x0236),
  29656. 659: uint16(0x023c),
  29657. 660: uint16(0x023e),
  29658. 661: uint16(0x023f),
  29659. 662: uint16(0x0244),
  29660. 663: uint16(0x024d),
  29661. 664: uint16(0x024e),
  29662. 665: uint16(0x0251),
  29663. 666: uint16(0x0255),
  29664. 667: uint16(0x025e),
  29665. 668: uint16(0x0262),
  29666. 669: uint16(0x0266),
  29667. 670: uint16(0x0267),
  29668. 671: uint16(0x0268),
  29669. 672: uint16(0x0269),
  29670. 673: uint16(0x0272),
  29671. 674: uint16(0x0275),
  29672. 675: uint16(0x0276),
  29673. 676: uint16(0x0277),
  29674. 677: uint16(0x0278),
  29675. 678: uint16(0x0279),
  29676. 679: uint16(0x027a),
  29677. 680: uint16(0x027d),
  29678. 681: uint16(0x0280),
  29679. 682: uint16(0x0281),
  29680. 683: uint16(0x0282),
  29681. 684: uint16(0x0283),
  29682. 685: uint16(0x0289),
  29683. 686: uint16(0x028a),
  29684. 687: uint16(0x028b),
  29685. 688: uint16(0x028c),
  29686. 689: uint16(0x028d),
  29687. 690: uint16(0x028e),
  29688. 691: uint16(0x0294),
  29689. 692: uint16(0x0297),
  29690. 693: uint16(0x0298),
  29691. 694: uint16(0x029a),
  29692. 695: uint16(0x029d),
  29693. 696: uint16(0x02a6),
  29694. 697: uint16(0x004e),
  29695. 698: uint16(0x004f),
  29696. 699: uint16(0x0050),
  29697. 700: uint16(0x0051),
  29698. 701: uint16(0x0052),
  29699. 702: uint16(0x0053),
  29700. 703: uint16(0x0054),
  29701. 704: uint16(0x0055),
  29702. 705: uint16(0x0056),
  29703. 706: uint16(0x0057),
  29704. 707: uint16(0x0058),
  29705. 708: uint16(0x0059),
  29706. 709: uint16(0x005a),
  29707. 710: uint16(0x005b),
  29708. 711: uint16(0x005c),
  29709. 712: uint16(0x005d),
  29710. 713: uint16(0x005e),
  29711. 714: uint16(0x005f),
  29712. 715: uint16(0x0060),
  29713. 716: uint16(0x0061),
  29714. 717: uint16(0x0062),
  29715. 718: uint16(0x0063),
  29716. 719: uint16(0x0064),
  29717. 720: uint16(0x0065),
  29718. 721: uint16(0x0066),
  29719. 722: uint16(0x0067),
  29720. 723: uint16(0x0068),
  29721. 724: uint16(0x0069),
  29722. 725: uint16(0x006a),
  29723. 726: uint16(0x006b),
  29724. 727: uint16(0x006c),
  29725. 728: uint16(0x006d),
  29726. 729: uint16(0x006e),
  29727. 730: uint16(0x006f),
  29728. 731: uint16(0x0070),
  29729. 732: uint16(0x0071),
  29730. 733: uint16(0x0072),
  29731. 734: uint16(0x0073),
  29732. 735: uint16(0x0074),
  29733. 736: uint16(0x0075),
  29734. 737: uint16(0x0076),
  29735. 738: uint16(0x0077),
  29736. 739: uint16(0x0078),
  29737. 740: uint16(0x0079),
  29738. 741: uint16(0x007a),
  29739. 742: uint16(0x007b),
  29740. 743: uint16(0x007c),
  29741. 744: uint16(0x007d),
  29742. 745: uint16(0x007e),
  29743. 746: uint16(0x007f),
  29744. 747: uint16(0x0080),
  29745. 748: uint16(0x0081),
  29746. 749: uint16(0x0082),
  29747. 750: uint16(0x0083),
  29748. 751: uint16(0x0084),
  29749. 752: uint16(0x0085),
  29750. 753: uint16(0x0086),
  29751. 754: uint16(0x0087),
  29752. 755: uint16(0x0088),
  29753. 756: uint16(0x0089),
  29754. 757: uint16(0x008a),
  29755. 758: uint16(0x008b),
  29756. 759: uint16(0x008c),
  29757. 760: uint16(0x008d),
  29758. 761: uint16(0x008e),
  29759. 762: uint16(0x008f),
  29760. 763: uint16(0x0090),
  29761. 764: uint16(0x0091),
  29762. 765: uint16(0x0092),
  29763. 766: uint16(0x0093),
  29764. 767: uint16(0x0094),
  29765. 768: uint16(0x0095),
  29766. 769: uint16(0x0096),
  29767. 770: uint16(0x0097),
  29768. 771: uint16(0x0098),
  29769. 772: uint16(0x0099),
  29770. 773: uint16(0x009a),
  29771. 774: uint16(0x009b),
  29772. 775: uint16(0x009c),
  29773. 776: uint16(0x009d),
  29774. 777: uint16(0x009e),
  29775. 778: uint16(0x009f),
  29776. 779: uint16(0x00fa),
  29777. },
  29778. FlangIndices: [246]TFcChar8{
  29779. 1: uint8(1),
  29780. 2: uint8(2),
  29781. 3: uint8(190),
  29782. 4: uint8(3),
  29783. 5: uint8(191),
  29784. 6: uint8(4),
  29785. 7: uint8(5),
  29786. 8: uint8(6),
  29787. 9: uint8(7),
  29788. 10: uint8(8),
  29789. 11: uint8(9),
  29790. 12: uint8(10),
  29791. 13: uint8(11),
  29792. 14: uint8(13),
  29793. 15: uint8(192),
  29794. 16: uint8(193),
  29795. 17: uint8(14),
  29796. 18: uint8(15),
  29797. 19: uint8(16),
  29798. 20: uint8(17),
  29799. 21: uint8(18),
  29800. 22: uint8(12),
  29801. 23: uint8(19),
  29802. 24: uint8(20),
  29803. 25: uint8(21),
  29804. 26: uint8(240),
  29805. 27: uint8(22),
  29806. 28: uint8(23),
  29807. 29: uint8(194),
  29808. 30: uint8(24),
  29809. 31: uint8(25),
  29810. 32: uint8(26),
  29811. 33: uint8(27),
  29812. 34: uint8(28),
  29813. 35: uint8(29),
  29814. 36: uint8(195),
  29815. 37: uint8(30),
  29816. 38: uint8(196),
  29817. 39: uint8(31),
  29818. 40: uint8(32),
  29819. 41: uint8(33),
  29820. 42: uint8(34),
  29821. 43: uint8(35),
  29822. 44: uint8(242),
  29823. 45: uint8(197),
  29824. 46: uint8(36),
  29825. 47: uint8(198),
  29826. 48: uint8(37),
  29827. 49: uint8(38),
  29828. 50: uint8(39),
  29829. 51: uint8(40),
  29830. 52: uint8(41),
  29831. 53: uint8(42),
  29832. 54: uint8(43),
  29833. 55: uint8(199),
  29834. 56: uint8(48),
  29835. 57: uint8(44),
  29836. 58: uint8(200),
  29837. 59: uint8(45),
  29838. 60: uint8(46),
  29839. 61: uint8(47),
  29840. 62: uint8(49),
  29841. 63: uint8(50),
  29842. 64: uint8(51),
  29843. 65: uint8(52),
  29844. 66: uint8(53),
  29845. 67: uint8(54),
  29846. 68: uint8(55),
  29847. 69: uint8(56),
  29848. 70: uint8(57),
  29849. 71: uint8(58),
  29850. 72: uint8(59),
  29851. 73: uint8(60),
  29852. 74: uint8(61),
  29853. 75: uint8(201),
  29854. 76: uint8(62),
  29855. 77: uint8(63),
  29856. 78: uint8(202),
  29857. 79: uint8(203),
  29858. 80: uint8(64),
  29859. 81: uint8(65),
  29860. 82: uint8(204),
  29861. 83: uint8(66),
  29862. 84: uint8(68),
  29863. 85: uint8(69),
  29864. 86: uint8(67),
  29865. 87: uint8(205),
  29866. 88: uint8(70),
  29867. 89: uint8(71),
  29868. 90: uint8(72),
  29869. 91: uint8(73),
  29870. 92: uint8(74),
  29871. 93: uint8(75),
  29872. 94: uint8(206),
  29873. 95: uint8(76),
  29874. 96: uint8(77),
  29875. 97: uint8(207),
  29876. 98: uint8(78),
  29877. 99: uint8(208),
  29878. 100: uint8(79),
  29879. 101: uint8(80),
  29880. 102: uint8(81),
  29881. 103: uint8(82),
  29882. 104: uint8(83),
  29883. 105: uint8(84),
  29884. 106: uint8(209),
  29885. 107: uint8(85),
  29886. 108: uint8(86),
  29887. 109: uint8(210),
  29888. 110: uint8(87),
  29889. 111: uint8(211),
  29890. 112: uint8(88),
  29891. 113: uint8(89),
  29892. 114: uint8(90),
  29893. 115: uint8(212),
  29894. 116: uint8(91),
  29895. 117: uint8(92),
  29896. 118: uint8(238),
  29897. 119: uint8(93),
  29898. 120: uint8(94),
  29899. 121: uint8(213),
  29900. 122: uint8(214),
  29901. 123: uint8(95),
  29902. 124: uint8(96),
  29903. 125: uint8(97),
  29904. 126: uint8(98),
  29905. 127: uint8(215),
  29906. 128: uint8(99),
  29907. 129: uint8(100),
  29908. 130: uint8(101),
  29909. 131: uint8(102),
  29910. 132: uint8(103),
  29911. 133: uint8(104),
  29912. 134: uint8(216),
  29913. 135: uint8(243),
  29914. 136: uint8(105),
  29915. 137: uint8(106),
  29916. 138: uint8(217),
  29917. 139: uint8(107),
  29918. 140: uint8(108),
  29919. 141: uint8(218),
  29920. 142: uint8(109),
  29921. 143: uint8(110),
  29922. 144: uint8(111),
  29923. 145: uint8(219),
  29924. 146: uint8(112),
  29925. 147: uint8(113),
  29926. 148: uint8(114),
  29927. 149: uint8(239),
  29928. 150: uint8(115),
  29929. 151: uint8(116),
  29930. 152: uint8(220),
  29931. 153: uint8(117),
  29932. 154: uint8(118),
  29933. 155: uint8(119),
  29934. 156: uint8(120),
  29935. 157: uint8(121),
  29936. 158: uint8(221),
  29937. 159: uint8(122),
  29938. 160: uint8(222),
  29939. 161: uint8(223),
  29940. 162: uint8(224),
  29941. 163: uint8(123),
  29942. 164: uint8(124),
  29943. 165: uint8(125),
  29944. 166: uint8(126),
  29945. 167: uint8(225),
  29946. 168: uint8(226),
  29947. 169: uint8(127),
  29948. 170: uint8(227),
  29949. 171: uint8(128),
  29950. 172: uint8(129),
  29951. 173: uint8(228),
  29952. 174: uint8(130),
  29953. 175: uint8(131),
  29954. 176: uint8(241),
  29955. 177: uint8(229),
  29956. 178: uint8(132),
  29957. 179: uint8(230),
  29958. 180: uint8(133),
  29959. 181: uint8(134),
  29960. 182: uint8(231),
  29961. 183: uint8(135),
  29962. 184: uint8(136),
  29963. 185: uint8(137),
  29964. 186: uint8(232),
  29965. 187: uint8(138),
  29966. 188: uint8(139),
  29967. 189: uint8(140),
  29968. 190: uint8(141),
  29969. 191: uint8(142),
  29970. 192: uint8(143),
  29971. 193: uint8(144),
  29972. 194: uint8(233),
  29973. 195: uint8(145),
  29974. 196: uint8(146),
  29975. 197: uint8(147),
  29976. 198: uint8(148),
  29977. 199: uint8(149),
  29978. 200: uint8(234),
  29979. 201: uint8(150),
  29980. 202: uint8(151),
  29981. 203: uint8(152),
  29982. 204: uint8(153),
  29983. 205: uint8(154),
  29984. 206: uint8(155),
  29985. 207: uint8(156),
  29986. 208: uint8(157),
  29987. 209: uint8(158),
  29988. 210: uint8(159),
  29989. 211: uint8(160),
  29990. 212: uint8(161),
  29991. 213: uint8(162),
  29992. 214: uint8(163),
  29993. 215: uint8(164),
  29994. 216: uint8(165),
  29995. 217: uint8(166),
  29996. 218: uint8(167),
  29997. 219: uint8(235),
  29998. 220: uint8(168),
  29999. 221: uint8(169),
  30000. 222: uint8(170),
  30001. 223: uint8(245),
  30002. 224: uint8(244),
  30003. 225: uint8(171),
  30004. 226: uint8(172),
  30005. 227: uint8(173),
  30006. 228: uint8(174),
  30007. 229: uint8(175),
  30008. 230: uint8(176),
  30009. 231: uint8(177),
  30010. 232: uint8(236),
  30011. 233: uint8(178),
  30012. 234: uint8(179),
  30013. 235: uint8(180),
  30014. 236: uint8(181),
  30015. 237: uint8(182),
  30016. 238: uint8(183),
  30017. 239: uint8(237),
  30018. 240: uint8(184),
  30019. 241: uint8(185),
  30020. 242: uint8(186),
  30021. 243: uint8(187),
  30022. 244: uint8(188),
  30023. 245: uint8(189),
  30024. },
  30025. FlangIndicesInv: [246]TFcChar8{
  30026. 1: uint8(1),
  30027. 2: uint8(2),
  30028. 3: uint8(4),
  30029. 4: uint8(6),
  30030. 5: uint8(7),
  30031. 6: uint8(8),
  30032. 7: uint8(9),
  30033. 8: uint8(10),
  30034. 9: uint8(11),
  30035. 10: uint8(12),
  30036. 11: uint8(13),
  30037. 12: uint8(22),
  30038. 13: uint8(14),
  30039. 14: uint8(17),
  30040. 15: uint8(18),
  30041. 16: uint8(19),
  30042. 17: uint8(20),
  30043. 18: uint8(21),
  30044. 19: uint8(23),
  30045. 20: uint8(24),
  30046. 21: uint8(25),
  30047. 22: uint8(27),
  30048. 23: uint8(28),
  30049. 24: uint8(30),
  30050. 25: uint8(31),
  30051. 26: uint8(32),
  30052. 27: uint8(33),
  30053. 28: uint8(34),
  30054. 29: uint8(35),
  30055. 30: uint8(37),
  30056. 31: uint8(39),
  30057. 32: uint8(40),
  30058. 33: uint8(41),
  30059. 34: uint8(42),
  30060. 35: uint8(43),
  30061. 36: uint8(46),
  30062. 37: uint8(48),
  30063. 38: uint8(49),
  30064. 39: uint8(50),
  30065. 40: uint8(51),
  30066. 41: uint8(52),
  30067. 42: uint8(53),
  30068. 43: uint8(54),
  30069. 44: uint8(57),
  30070. 45: uint8(59),
  30071. 46: uint8(60),
  30072. 47: uint8(61),
  30073. 48: uint8(56),
  30074. 49: uint8(62),
  30075. 50: uint8(63),
  30076. 51: uint8(64),
  30077. 52: uint8(65),
  30078. 53: uint8(66),
  30079. 54: uint8(67),
  30080. 55: uint8(68),
  30081. 56: uint8(69),
  30082. 57: uint8(70),
  30083. 58: uint8(71),
  30084. 59: uint8(72),
  30085. 60: uint8(73),
  30086. 61: uint8(74),
  30087. 62: uint8(76),
  30088. 63: uint8(77),
  30089. 64: uint8(80),
  30090. 65: uint8(81),
  30091. 66: uint8(83),
  30092. 67: uint8(86),
  30093. 68: uint8(84),
  30094. 69: uint8(85),
  30095. 70: uint8(88),
  30096. 71: uint8(89),
  30097. 72: uint8(90),
  30098. 73: uint8(91),
  30099. 74: uint8(92),
  30100. 75: uint8(93),
  30101. 76: uint8(95),
  30102. 77: uint8(96),
  30103. 78: uint8(98),
  30104. 79: uint8(100),
  30105. 80: uint8(101),
  30106. 81: uint8(102),
  30107. 82: uint8(103),
  30108. 83: uint8(104),
  30109. 84: uint8(105),
  30110. 85: uint8(107),
  30111. 86: uint8(108),
  30112. 87: uint8(110),
  30113. 88: uint8(112),
  30114. 89: uint8(113),
  30115. 90: uint8(114),
  30116. 91: uint8(116),
  30117. 92: uint8(117),
  30118. 93: uint8(119),
  30119. 94: uint8(120),
  30120. 95: uint8(123),
  30121. 96: uint8(124),
  30122. 97: uint8(125),
  30123. 98: uint8(126),
  30124. 99: uint8(128),
  30125. 100: uint8(129),
  30126. 101: uint8(130),
  30127. 102: uint8(131),
  30128. 103: uint8(132),
  30129. 104: uint8(133),
  30130. 105: uint8(136),
  30131. 106: uint8(137),
  30132. 107: uint8(139),
  30133. 108: uint8(140),
  30134. 109: uint8(142),
  30135. 110: uint8(143),
  30136. 111: uint8(144),
  30137. 112: uint8(146),
  30138. 113: uint8(147),
  30139. 114: uint8(148),
  30140. 115: uint8(150),
  30141. 116: uint8(151),
  30142. 117: uint8(153),
  30143. 118: uint8(154),
  30144. 119: uint8(155),
  30145. 120: uint8(156),
  30146. 121: uint8(157),
  30147. 122: uint8(159),
  30148. 123: uint8(163),
  30149. 124: uint8(164),
  30150. 125: uint8(165),
  30151. 126: uint8(166),
  30152. 127: uint8(169),
  30153. 128: uint8(171),
  30154. 129: uint8(172),
  30155. 130: uint8(174),
  30156. 131: uint8(175),
  30157. 132: uint8(178),
  30158. 133: uint8(180),
  30159. 134: uint8(181),
  30160. 135: uint8(183),
  30161. 136: uint8(184),
  30162. 137: uint8(185),
  30163. 138: uint8(187),
  30164. 139: uint8(188),
  30165. 140: uint8(189),
  30166. 141: uint8(190),
  30167. 142: uint8(191),
  30168. 143: uint8(192),
  30169. 144: uint8(193),
  30170. 145: uint8(195),
  30171. 146: uint8(196),
  30172. 147: uint8(197),
  30173. 148: uint8(198),
  30174. 149: uint8(199),
  30175. 150: uint8(201),
  30176. 151: uint8(202),
  30177. 152: uint8(203),
  30178. 153: uint8(204),
  30179. 154: uint8(205),
  30180. 155: uint8(206),
  30181. 156: uint8(207),
  30182. 157: uint8(208),
  30183. 158: uint8(209),
  30184. 159: uint8(210),
  30185. 160: uint8(211),
  30186. 161: uint8(212),
  30187. 162: uint8(213),
  30188. 163: uint8(214),
  30189. 164: uint8(215),
  30190. 165: uint8(216),
  30191. 166: uint8(217),
  30192. 167: uint8(218),
  30193. 168: uint8(220),
  30194. 169: uint8(221),
  30195. 170: uint8(222),
  30196. 171: uint8(225),
  30197. 172: uint8(226),
  30198. 173: uint8(227),
  30199. 174: uint8(228),
  30200. 175: uint8(229),
  30201. 176: uint8(230),
  30202. 177: uint8(231),
  30203. 178: uint8(233),
  30204. 179: uint8(234),
  30205. 180: uint8(235),
  30206. 181: uint8(236),
  30207. 182: uint8(237),
  30208. 183: uint8(238),
  30209. 184: uint8(240),
  30210. 185: uint8(241),
  30211. 186: uint8(242),
  30212. 187: uint8(243),
  30213. 188: uint8(244),
  30214. 189: uint8(245),
  30215. 190: uint8(3),
  30216. 191: uint8(5),
  30217. 192: uint8(15),
  30218. 193: uint8(16),
  30219. 194: uint8(29),
  30220. 195: uint8(36),
  30221. 196: uint8(38),
  30222. 197: uint8(45),
  30223. 198: uint8(47),
  30224. 199: uint8(55),
  30225. 200: uint8(58),
  30226. 201: uint8(75),
  30227. 202: uint8(78),
  30228. 203: uint8(79),
  30229. 204: uint8(82),
  30230. 205: uint8(87),
  30231. 206: uint8(94),
  30232. 207: uint8(97),
  30233. 208: uint8(99),
  30234. 209: uint8(106),
  30235. 210: uint8(109),
  30236. 211: uint8(111),
  30237. 212: uint8(115),
  30238. 213: uint8(121),
  30239. 214: uint8(122),
  30240. 215: uint8(127),
  30241. 216: uint8(134),
  30242. 217: uint8(138),
  30243. 218: uint8(141),
  30244. 219: uint8(145),
  30245. 220: uint8(152),
  30246. 221: uint8(158),
  30247. 222: uint8(160),
  30248. 223: uint8(161),
  30249. 224: uint8(162),
  30250. 225: uint8(167),
  30251. 226: uint8(168),
  30252. 227: uint8(170),
  30253. 228: uint8(173),
  30254. 229: uint8(177),
  30255. 230: uint8(179),
  30256. 231: uint8(182),
  30257. 232: uint8(186),
  30258. 233: uint8(194),
  30259. 234: uint8(200),
  30260. 235: uint8(219),
  30261. 236: uint8(232),
  30262. 237: uint8(239),
  30263. 238: uint8(118),
  30264. 239: uint8(149),
  30265. 240: uint8(26),
  30266. 241: uint8(176),
  30267. 242: uint8(44),
  30268. 243: uint8(135),
  30269. 244: uint8(224),
  30270. 245: uint8(223),
  30271. },
  30272. }
  30273. var _fcLangCountrySets = [10][8]TFcChar32{
  30274. 0: {
  30275. 0: uint32(0x00000600),
  30276. },
  30277. 1: {
  30278. 6: uint32(0x00000003),
  30279. },
  30280. 2: {
  30281. 2: uint32(0x00c00000),
  30282. 6: uint32(0x000c0000),
  30283. },
  30284. 3: {
  30285. 3: uint32(0x00000100),
  30286. 6: uint32(0x01000000),
  30287. },
  30288. 4: {
  30289. 6: uint32(0x40000000),
  30290. },
  30291. 5: {
  30292. 6: uint32(0x80000000),
  30293. 7: uint32(0x00000001),
  30294. },
  30295. 6: {
  30296. 3: uint32(0x30000000),
  30297. },
  30298. 7: {
  30299. 4: uint32(0x60000000),
  30300. },
  30301. 8: {
  30302. 7: uint32(0x00300000),
  30303. },
  30304. 9: {
  30305. 5: uint32(0x1f000000),
  30306. },
  30307. }
  30308. var _fcLangCharSetRanges = [26]TFcLangCharSetRange{
  30309. 0: {
  30310. Fend: int32(12),
  30311. },
  30312. 1: {
  30313. Fbegin: int32(13),
  30314. Fend: int32(29),
  30315. },
  30316. 2: {
  30317. Fbegin: int32(30),
  30318. Fend: int32(41),
  30319. },
  30320. 3: {
  30321. Fbegin: int32(42),
  30322. Fend: int32(46),
  30323. },
  30324. 4: {
  30325. Fbegin: int32(47),
  30326. Fend: int32(53),
  30327. },
  30328. 5: {
  30329. Fbegin: int32(54),
  30330. Fend: int32(63),
  30331. },
  30332. 6: {
  30333. Fbegin: int32(64),
  30334. Fend: int32(70),
  30335. },
  30336. 7: {
  30337. Fbegin: int32(71),
  30338. Fend: int32(82),
  30339. },
  30340. 8: {
  30341. Fbegin: int32(83),
  30342. Fend: int32(92),
  30343. },
  30344. 9: {
  30345. Fbegin: int32(93),
  30346. Fend: int32(94),
  30347. },
  30348. 10: {
  30349. Fbegin: int32(95),
  30350. Fend: int32(116),
  30351. },
  30352. 11: {
  30353. Fbegin: int32(117),
  30354. Fend: int32(126),
  30355. },
  30356. 12: {
  30357. Fbegin: int32(127),
  30358. Fend: int32(140),
  30359. },
  30360. 13: {
  30361. Fbegin: int32(141),
  30362. Fend: int32(153),
  30363. },
  30364. 14: {
  30365. Fbegin: int32(154),
  30366. Fend: int32(158),
  30367. },
  30368. 15: {
  30369. Fbegin: int32(159),
  30370. Fend: int32(166),
  30371. },
  30372. 16: {
  30373. Fbegin: int32(167),
  30374. Fend: int32(168),
  30375. },
  30376. 17: {
  30377. Fbegin: int32(169),
  30378. Fend: int32(173),
  30379. },
  30380. 18: {
  30381. Fbegin: int32(174),
  30382. Fend: int32(203),
  30383. },
  30384. 19: {
  30385. Fbegin: int32(204),
  30386. Fend: int32(220),
  30387. },
  30388. 20: {
  30389. Fbegin: int32(221),
  30390. Fend: int32(226),
  30391. },
  30392. 21: {
  30393. Fbegin: int32(227),
  30394. Fend: int32(230),
  30395. },
  30396. 22: {
  30397. Fbegin: int32(231),
  30398. Fend: int32(234),
  30399. },
  30400. 23: {
  30401. Fbegin: int32(235),
  30402. Fend: int32(235),
  30403. },
  30404. 24: {
  30405. Fbegin: int32(236),
  30406. Fend: int32(238),
  30407. },
  30408. 25: {
  30409. Fbegin: int32(239),
  30410. Fend: int32(245),
  30411. },
  30412. }
  30413. func _FcLangSetBitSet(tls *libc.TLS, ls uintptr, id uint32) {
  30414. var bucket uint32
  30415. _ = bucket
  30416. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35752 + uintptr(id))))
  30417. bucket = id >> int32(5)
  30418. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30419. return
  30420. } /* shouldn't happen really */
  30421. *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(bucket)*4)) |= libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f))
  30422. }
  30423. func _FcLangSetBitGet(tls *libc.TLS, ls uintptr, id uint32) (r TFcBool) {
  30424. var bucket uint32
  30425. var v1 int32
  30426. _, _ = bucket, v1
  30427. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35752 + uintptr(id))))
  30428. bucket = id >> int32(5)
  30429. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30430. return m_FcFalse
  30431. }
  30432. if *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(bucket)*4))>>(id&libc.Uint32FromInt32(0x1f))&uint32(1) != 0 {
  30433. v1 = int32(m_FcTrue)
  30434. } else {
  30435. v1 = m_FcFalse
  30436. }
  30437. return v1
  30438. }
  30439. func _FcLangSetBitReset(tls *libc.TLS, ls uintptr, id uint32) {
  30440. var bucket uint32
  30441. _ = bucket
  30442. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35752 + uintptr(id))))
  30443. bucket = id >> int32(5)
  30444. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30445. return
  30446. } /* shouldn't happen really */
  30447. *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(bucket)*4)) &= ^(libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f)))
  30448. }
  30449. func XFcFreeTypeLangSet(tls *libc.TLS, charset uintptr, exclusiveLang uintptr) (r uintptr) {
  30450. bp := tls.Alloc(64)
  30451. defer tls.Free(64)
  30452. var exclusiveCharset, ls, missed uintptr
  30453. var i, i1, j, j1 int32
  30454. var missing, ucs4 TFcChar32
  30455. var _ /* map at bp+0 */ [8]TFcChar32
  30456. var _ /* next at bp+32 */ TFcChar32
  30457. _, _, _, _, _, _, _, _, _ = exclusiveCharset, i, i1, j, j1, ls, missed, missing, ucs4
  30458. exclusiveCharset = uintptr(0)
  30459. if exclusiveLang != 0 {
  30460. exclusiveCharset = XIA__FcLangGetCharSet(tls, exclusiveLang)
  30461. }
  30462. ls = XIA__FcLangSetCreate(tls)
  30463. if !(ls != 0) {
  30464. return uintptr(0)
  30465. }
  30466. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30467. libc.Xprintf(tls, __ccgo_ts+5636, 0)
  30468. XFcCharSetPrint(tls, charset)
  30469. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  30470. }
  30471. i = 0
  30472. for {
  30473. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30474. break
  30475. }
  30476. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30477. libc.Xprintf(tls, __ccgo_ts+5649, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32))
  30478. XFcCharSetPrint(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16)
  30479. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  30480. }
  30481. /*
  30482. * Check for Han charsets to make fonts
  30483. * which advertise support for a single language
  30484. * not support other Han languages
  30485. */
  30486. if exclusiveCharset != 0 && XFcFreeTypeIsExclusiveLang(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32) != 0 {
  30487. if (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*32))).Fcharset.Fnum != (*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fnum {
  30488. goto _1
  30489. }
  30490. j = 0
  30491. for {
  30492. if !(j < (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*32))).Fcharset.Fnum) {
  30493. break
  30494. }
  30495. 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))) {
  30496. goto _2
  30497. }
  30498. goto _2
  30499. _2:
  30500. ;
  30501. j++
  30502. }
  30503. }
  30504. missing = XIA__FcCharSetSubtractCount(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16, charset)
  30505. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  30506. if missing != 0 && missing < uint32(10) {
  30507. missed = XIA__FcCharSetSubtract(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32+16, charset)
  30508. libc.Xprintf(tls, __ccgo_ts+5660, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, missing))
  30509. libc.Xprintf(tls, __ccgo_ts+5669, 0)
  30510. ucs4 = XIA__FcCharSetFirstPage(tls, missed, bp, bp+32)
  30511. for {
  30512. if !(ucs4 != libc.Uint32FromInt32(-libc.Int32FromInt32(1))) {
  30513. break
  30514. }
  30515. i1 = 0
  30516. for {
  30517. if !(i1 < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  30518. break
  30519. }
  30520. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1] != 0 {
  30521. j1 = 0
  30522. for {
  30523. if !(j1 < int32(32)) {
  30524. break
  30525. }
  30526. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1]&(uint32(1)<<j1) != 0 {
  30527. libc.Xprintf(tls, __ccgo_ts+5671, libc.VaList(bp+48, ucs4+libc.Uint32FromInt32(i1*int32(32))+libc.Uint32FromInt32(j1)))
  30528. }
  30529. goto _5
  30530. _5:
  30531. ;
  30532. j1++
  30533. }
  30534. }
  30535. goto _4
  30536. _4:
  30537. ;
  30538. i1++
  30539. }
  30540. goto _3
  30541. _3:
  30542. ;
  30543. ucs4 = XIA__FcCharSetNextPage(tls, missed, bp, bp+32)
  30544. }
  30545. libc.Xprintf(tls, __ccgo_ts+5677, 0)
  30546. XIA__FcCharSetDestroy(tls, missed)
  30547. } else {
  30548. libc.Xprintf(tls, __ccgo_ts+5682, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, missing))
  30549. }
  30550. }
  30551. if !(missing != 0) {
  30552. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(i))
  30553. }
  30554. goto _1
  30555. _1:
  30556. ;
  30557. i++
  30558. }
  30559. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  30560. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  30561. }
  30562. return ls
  30563. }
  30564. func XIA__FcLangNormalize(tls *libc.TLS, lang uintptr) (r uintptr) {
  30565. bp := tls.Alloc(32)
  30566. defer tls.Free(32)
  30567. var encoding, modifier, orig, result, s, territory uintptr
  30568. var llen, mlen, tlen Tsize_t
  30569. var v1 uint32
  30570. _, _, _, _, _, _, _, _, _, _ = encoding, llen, mlen, modifier, orig, result, s, territory, tlen, v1
  30571. result = libc.UintptrFromInt32(0)
  30572. tlen = uint32(0)
  30573. mlen = uint32(0)
  30574. if !(lang != 0) || !(*(*TFcChar8)(unsafe.Pointer(lang)) != 0) {
  30575. return libc.UintptrFromInt32(0)
  30576. }
  30577. /* might be called without initialization */
  30578. XFcInitDebug(tls)
  30579. 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 {
  30580. result = XIA__FcStrCopy(tls, __ccgo_ts+2789)
  30581. goto bail
  30582. }
  30583. s = XIA__FcStrCopy(tls, lang)
  30584. if !(s != 0) {
  30585. goto bail
  30586. }
  30587. /* from the comments in glibc:
  30588. *
  30589. * LOCALE can consist of up to four recognized parts for the XPG syntax:
  30590. *
  30591. * language[_territory[.codeset]][@modifier]
  30592. *
  30593. * Beside the first all of them are allowed to be missing. If the
  30594. * full specified locale is not found, the less specific one are
  30595. * looked for. The various part will be stripped off according to
  30596. * the following order:
  30597. * (1) codeset
  30598. * (2) normalized codeset
  30599. * (3) territory
  30600. * (4) modifier
  30601. *
  30602. * So since we don't take care of the codeset part here, what patterns
  30603. * we need to deal with is:
  30604. *
  30605. * 1. language_territory@modifier
  30606. * 2. language@modifier
  30607. * 3. language
  30608. *
  30609. * then. and maybe no need to try language_territory here.
  30610. */
  30611. modifier = libc.Xstrchr(tls, s, int32('@'))
  30612. if modifier != 0 {
  30613. *(*int8)(unsafe.Pointer(modifier)) = 0
  30614. modifier++
  30615. mlen = libc.Xstrlen(tls, modifier)
  30616. }
  30617. encoding = libc.Xstrchr(tls, s, int32('.'))
  30618. if encoding != 0 {
  30619. *(*int8)(unsafe.Pointer(encoding)) = 0
  30620. encoding++
  30621. if modifier != 0 {
  30622. libc.Xmemmove(tls, encoding, modifier, mlen+uint32(1))
  30623. modifier = encoding
  30624. }
  30625. }
  30626. territory = libc.Xstrchr(tls, s, int32('_'))
  30627. if !(territory != 0) {
  30628. territory = libc.Xstrchr(tls, s, int32('-'))
  30629. }
  30630. if territory != 0 {
  30631. *(*int8)(unsafe.Pointer(territory)) = 0
  30632. territory++
  30633. tlen = libc.Xstrlen(tls, territory)
  30634. }
  30635. llen = libc.Xstrlen(tls, s)
  30636. if llen < uint32(2) || llen > uint32(3) {
  30637. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5711, libc.VaList(bp+8, lang))
  30638. goto bail0
  30639. }
  30640. if territory != 0 && (tlen < uint32(2) || tlen > uint32(3)) && !(int32(*(*int8)(unsafe.Pointer(territory))) == int32('z') && tlen < uint32(5)) {
  30641. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5770, libc.VaList(bp+8, lang))
  30642. goto bail0
  30643. }
  30644. if territory != 0 {
  30645. *(*int8)(unsafe.Pointer(territory + uintptr(-libc.Int32FromInt32(1)))) = int8('-')
  30646. }
  30647. if modifier != 0 {
  30648. *(*int8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = int8('@')
  30649. }
  30650. orig = XIA__FcStrDowncase(tls, s)
  30651. if !(orig != 0) {
  30652. goto bail0
  30653. }
  30654. if territory != 0 {
  30655. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30656. libc.Xprintf(tls, __ccgo_ts+5827, libc.VaList(bp+8, s))
  30657. }
  30658. if _FcLangSetIndex(tls, s) < 0 {
  30659. if mlen > uint32(0) {
  30660. v1 = mlen + uint32(1)
  30661. } else {
  30662. v1 = uint32(0)
  30663. }
  30664. libc.Xmemmove(tls, territory-uintptr(1), territory+uintptr(tlen), v1+uint32(1))
  30665. if modifier != 0 {
  30666. modifier = territory
  30667. }
  30668. } else {
  30669. result = s
  30670. /* we'll miss the opportunity to reduce the correct size
  30671. * of the allocated memory for the string after that.
  30672. */
  30673. s = libc.UintptrFromInt32(0)
  30674. goto bail1
  30675. }
  30676. }
  30677. if modifier != 0 {
  30678. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30679. libc.Xprintf(tls, __ccgo_ts+5827, libc.VaList(bp+8, s))
  30680. }
  30681. if _FcLangSetIndex(tls, s) < 0 {
  30682. *(*int8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = 0
  30683. } else {
  30684. result = s
  30685. /* we'll miss the opportunity to reduce the correct size
  30686. * of the allocated memory for the string after that.
  30687. */
  30688. s = libc.UintptrFromInt32(0)
  30689. goto bail1
  30690. }
  30691. }
  30692. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30693. libc.Xprintf(tls, __ccgo_ts+5827, libc.VaList(bp+8, s))
  30694. }
  30695. if _FcLangSetIndex(tls, s) < 0 {
  30696. /* there seems no languages matched in orth.
  30697. * add the language as is for fallback.
  30698. */
  30699. result = orig
  30700. orig = libc.UintptrFromInt32(0)
  30701. } else {
  30702. result = s
  30703. /* we'll miss the opportunity to reduce the correct size
  30704. * of the allocated memory for the string after that.
  30705. */
  30706. s = libc.UintptrFromInt32(0)
  30707. }
  30708. goto bail1
  30709. bail1:
  30710. ;
  30711. if orig != 0 {
  30712. XIA__FcStrFree(tls, orig)
  30713. }
  30714. goto bail0
  30715. bail0:
  30716. ;
  30717. if s != 0 {
  30718. libc.Xfree(tls, s)
  30719. }
  30720. goto bail
  30721. bail:
  30722. ;
  30723. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30724. if result != 0 {
  30725. libc.Xprintf(tls, __ccgo_ts+5862, libc.VaList(bp+8, lang, result))
  30726. } else {
  30727. libc.Xprintf(tls, __ccgo_ts+5884, libc.VaList(bp+8, lang))
  30728. }
  30729. }
  30730. return result
  30731. }
  30732. var XFcLangNormalize = XIA__FcLangNormalize
  30733. func XFcLangCompare(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcLangResult) {
  30734. var c1, c2 TFcChar8
  30735. var is_und TFcBool
  30736. var result TFcLangResult
  30737. var s1_orig, v7, v8 uintptr
  30738. var v1, v10, v11, v2, v4, v9 int32
  30739. var v3, v5 bool
  30740. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c1, c2, is_und, result, s1_orig, v1, v10, v11, v2, v3, v4, v5, v7, v8, v9
  30741. result = int32(_FcLangDifferentLang)
  30742. s1_orig = s1
  30743. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) <= int32(0132) {
  30744. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) - int32(0101) + int32(0141)
  30745. } else {
  30746. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1)))
  30747. }
  30748. if v3 = v1 == int32('u'); v3 {
  30749. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) <= int32(0132) {
  30750. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) - int32(0101) + int32(0141)
  30751. } else {
  30752. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1)))
  30753. }
  30754. }
  30755. if v5 = v3 && v2 == int32('n'); v5 {
  30756. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) <= int32(0132) {
  30757. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) - int32(0101) + int32(0141)
  30758. } else {
  30759. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2)))
  30760. }
  30761. }
  30762. 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')))
  30763. for {
  30764. v7 = s1
  30765. s1++
  30766. c1 = *(*TFcChar8)(unsafe.Pointer(v7))
  30767. v8 = s2
  30768. s2++
  30769. c2 = *(*TFcChar8)(unsafe.Pointer(v8))
  30770. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  30771. v9 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  30772. } else {
  30773. v9 = libc.Int32FromUint8(c1)
  30774. }
  30775. c1 = libc.Uint8FromInt32(v9)
  30776. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  30777. v10 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  30778. } else {
  30779. v10 = libc.Int32FromUint8(c2)
  30780. }
  30781. c2 = libc.Uint8FromInt32(v10)
  30782. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  30783. if !(is_und != 0) && (libc.Int32FromUint8(c1) == int32('-') || libc.Int32FromUint8(c1) == int32('\000')) && (libc.Int32FromUint8(c2) == int32('-') || libc.Int32FromUint8(c2) == int32('\000')) {
  30784. result = int32(_FcLangDifferentTerritory)
  30785. }
  30786. return result
  30787. } else {
  30788. if !(c1 != 0) {
  30789. if is_und != 0 {
  30790. v11 = result
  30791. } else {
  30792. v11 = int32(_FcLangEqual)
  30793. }
  30794. return v11
  30795. } else {
  30796. if libc.Int32FromUint8(c1) == int32('-') {
  30797. if !(is_und != 0) {
  30798. result = int32(_FcLangDifferentTerritory)
  30799. }
  30800. }
  30801. }
  30802. }
  30803. /* If we parsed past "und-", then do not consider it undefined anymore,
  30804. * as there's *something* specified. */
  30805. if is_und != 0 && int32(s1)-int32(s1_orig) == int32(4) {
  30806. is_und = m_FcFalse
  30807. }
  30808. goto _6
  30809. _6:
  30810. }
  30811. return r
  30812. }
  30813. /*
  30814. * Return FcTrue when super contains sub.
  30815. *
  30816. * super contains sub if super and sub have the same
  30817. * language and either the same country or one
  30818. * is missing the country
  30819. */
  30820. func _FcLangContains(tls *libc.TLS, super uintptr, sub uintptr) (r TFcBool) {
  30821. var c1, c2 TFcChar8
  30822. var v2, v3 uintptr
  30823. var v4, v5 int32
  30824. _, _, _, _, _, _ = c1, c2, v2, v3, v4, v5
  30825. for {
  30826. v2 = super
  30827. super++
  30828. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  30829. v3 = sub
  30830. sub++
  30831. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  30832. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  30833. v4 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  30834. } else {
  30835. v4 = libc.Int32FromUint8(c1)
  30836. }
  30837. c1 = libc.Uint8FromInt32(v4)
  30838. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  30839. v5 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  30840. } else {
  30841. v5 = libc.Int32FromUint8(c2)
  30842. }
  30843. c2 = libc.Uint8FromInt32(v5)
  30844. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  30845. /* see if super has a country while sub is missing one */
  30846. if libc.Int32FromUint8(c1) == int32('-') && libc.Int32FromUint8(c2) == int32('\000') {
  30847. return int32(m_FcTrue)
  30848. }
  30849. /* see if sub has a country while super is missing one */
  30850. if libc.Int32FromUint8(c1) == int32('\000') && libc.Int32FromUint8(c2) == int32('-') {
  30851. return int32(m_FcTrue)
  30852. }
  30853. return m_FcFalse
  30854. } else {
  30855. if !(c1 != 0) {
  30856. return int32(m_FcTrue)
  30857. }
  30858. }
  30859. goto _1
  30860. _1:
  30861. }
  30862. return r
  30863. }
  30864. func XIA__FcLangGetCharSet(tls *libc.TLS, lang uintptr) (r uintptr) {
  30865. var country, i int32
  30866. _, _ = country, i
  30867. country = -int32(1)
  30868. i = 0
  30869. for {
  30870. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30871. break
  30872. }
  30873. switch XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32) {
  30874. case int32(_FcLangEqual):
  30875. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*32 + 16
  30876. case int32(_FcLangDifferentTerritory):
  30877. if country == -int32(1) {
  30878. country = i
  30879. }
  30880. fallthrough
  30881. case int32(_FcLangDifferentLang):
  30882. fallthrough
  30883. default:
  30884. break
  30885. }
  30886. goto _1
  30887. _1:
  30888. ;
  30889. i++
  30890. }
  30891. if country == -int32(1) {
  30892. return uintptr(0)
  30893. }
  30894. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(country)*32 + 16
  30895. }
  30896. var XFcLangGetCharSet = XIA__FcLangGetCharSet
  30897. func XIA__FcGetLangs(tls *libc.TLS) (r uintptr) {
  30898. var i int32
  30899. var langs uintptr
  30900. _, _ = i, langs
  30901. langs = XIA__FcStrSetCreate(tls)
  30902. if !(langs != 0) {
  30903. return uintptr(0)
  30904. }
  30905. i = 0
  30906. for {
  30907. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30908. break
  30909. }
  30910. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32)
  30911. goto _1
  30912. _1:
  30913. ;
  30914. i++
  30915. }
  30916. return langs
  30917. }
  30918. var XFcGetLangs = XIA__FcGetLangs
  30919. func XIA__FcLangSetCreate(tls *libc.TLS) (r uintptr) {
  30920. var ls uintptr
  30921. _ = ls
  30922. ls = libc.Xmalloc(tls, uint32(40))
  30923. if !(ls != 0) {
  30924. return uintptr(0)
  30925. }
  30926. libc.Xmemset(tls, ls+8, int32('\000'), uint32(32))
  30927. (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  30928. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = uintptr(0)
  30929. return ls
  30930. }
  30931. var XFcLangSetCreate = XIA__FcLangSetCreate
  30932. func XIA__FcLangSetDestroy(tls *libc.TLS, ls uintptr) {
  30933. if !(ls != 0) {
  30934. return
  30935. }
  30936. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30937. XIA__FcStrSetDestroy(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30938. }
  30939. libc.Xfree(tls, ls)
  30940. }
  30941. var XFcLangSetDestroy = XIA__FcLangSetDestroy
  30942. func XIA__FcLangSetCopy(tls *libc.TLS, ls uintptr) (r uintptr) {
  30943. var extra, list, new1, v2 uintptr
  30944. var v1 uint32
  30945. _, _, _, _, _ = extra, list, new1, v1, v2
  30946. if !(ls != 0) {
  30947. return libc.UintptrFromInt32(0)
  30948. }
  30949. new1 = XIA__FcLangSetCreate(tls)
  30950. if !(new1 != 0) {
  30951. goto bail0
  30952. }
  30953. libc.Xmemset(tls, new1+8, int32('\000'), uint32(32))
  30954. if libc.Uint32FromInt64(32) < (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size*uint32(4) {
  30955. v1 = libc.Uint32FromInt64(32)
  30956. } else {
  30957. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size * uint32(4)
  30958. }
  30959. libc.Xmemcpy(tls, new1+8, ls+8, v1)
  30960. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30961. (*TFcLangSet)(unsafe.Pointer(new1)).Fextra = XIA__FcStrSetCreate(tls)
  30962. if !((*TFcLangSet)(unsafe.Pointer(new1)).Fextra != 0) {
  30963. goto bail1
  30964. }
  30965. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30966. if !(list != 0) {
  30967. goto bail1
  30968. }
  30969. for {
  30970. v2 = XIA__FcStrListNext(tls, list)
  30971. extra = v2
  30972. if !(v2 != 0) {
  30973. break
  30974. }
  30975. if !(XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(new1)).Fextra, extra) != 0) {
  30976. XIA__FcStrListDone(tls, list)
  30977. goto bail1
  30978. }
  30979. }
  30980. XIA__FcStrListDone(tls, list)
  30981. }
  30982. return new1
  30983. goto bail1
  30984. bail1:
  30985. ;
  30986. XIA__FcLangSetDestroy(tls, new1)
  30987. goto bail0
  30988. bail0:
  30989. ;
  30990. return uintptr(0)
  30991. return r
  30992. }
  30993. var XFcLangSetCopy = XIA__FcLangSetCopy
  30994. // C documentation
  30995. //
  30996. // /* When the language isn't found, the return value r is such that:
  30997. // * 1) r < 0
  30998. // * 2) -r -1 is the index of the first language in fcLangCharSets that comes
  30999. // * after the 'lang' argument in lexicographic order.
  31000. // *
  31001. // * The -1 is necessary to avoid problems with language id 0 (otherwise, we
  31002. // * wouldn't be able to distinguish between “language found, id is 0” and
  31003. // * “language not found, sorts right before the language with id 0”).
  31004. // */
  31005. func _FcLangSetIndex(tls *libc.TLS, lang uintptr) (r int32) {
  31006. var cmp, high, low, mid, v1, v2, v3 int32
  31007. var firstChar, secondChar TFcChar8
  31008. _, _, _, _, _, _, _, _, _ = cmp, firstChar, high, low, mid, secondChar, v1, v2, v3
  31009. mid = 0
  31010. cmp = 0
  31011. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) <= int32(0132) {
  31012. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) - int32(0101) + int32(0141)
  31013. } else {
  31014. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang)))
  31015. }
  31016. firstChar = libc.Uint8FromInt32(v1)
  31017. if firstChar != 0 {
  31018. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) <= int32(0132) {
  31019. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) - int32(0101) + int32(0141)
  31020. } else {
  31021. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1)))
  31022. }
  31023. v2 = v3
  31024. } else {
  31025. v2 = int32('\000')
  31026. }
  31027. secondChar = libc.Uint8FromInt32(v2)
  31028. if libc.Int32FromUint8(firstChar) < int32('a') {
  31029. low = 0
  31030. high = _fcLangCharSetRanges[0].Fbegin
  31031. } else {
  31032. if libc.Int32FromUint8(firstChar) > int32('z') {
  31033. low = _fcLangCharSetRanges[int32(25)].Fbegin
  31034. high = libc.Int32FromInt32(m_NUM_LANG_CHAR_SET) - libc.Int32FromInt32(1)
  31035. } else {
  31036. low = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fbegin
  31037. high = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fend
  31038. /* no matches */
  31039. if low > high {
  31040. return -(low + int32(1))
  31041. } /* one past next entry after where it would be */
  31042. }
  31043. }
  31044. for low <= high {
  31045. mid = (high + low) >> int32(1)
  31046. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*32))) != libc.Int32FromUint8(firstChar) {
  31047. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*32, lang)
  31048. } else {
  31049. /* fast path for resolving 2-letter languages (by far the most common) after
  31050. * finding the first char (probably already true because of the hash table) */
  31051. cmp = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*32 + 1))) - libc.Int32FromUint8(secondChar)
  31052. 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')) {
  31053. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*32+uintptr(2), lang+uintptr(2))
  31054. }
  31055. }
  31056. if cmp == 0 {
  31057. return mid
  31058. }
  31059. if cmp < 0 {
  31060. low = mid + int32(1)
  31061. } else {
  31062. high = mid - int32(1)
  31063. }
  31064. }
  31065. if cmp < 0 {
  31066. mid++
  31067. }
  31068. return -(mid + int32(1))
  31069. }
  31070. func XIA__FcLangSetAdd(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31071. var id int32
  31072. _ = id
  31073. id = _FcLangSetIndex(tls, lang)
  31074. if id >= 0 {
  31075. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(id))
  31076. return int32(m_FcTrue)
  31077. }
  31078. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  31079. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = XIA__FcStrSetCreate(tls)
  31080. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  31081. return m_FcFalse
  31082. }
  31083. }
  31084. return XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  31085. }
  31086. var XFcLangSetAdd = XIA__FcLangSetAdd
  31087. func XIA__FcLangSetDel(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31088. var id int32
  31089. _ = id
  31090. id = _FcLangSetIndex(tls, lang)
  31091. if id >= 0 {
  31092. _FcLangSetBitReset(tls, ls, libc.Uint32FromInt32(id))
  31093. } else {
  31094. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31095. XIA__FcStrSetDel(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  31096. }
  31097. }
  31098. return int32(m_FcTrue)
  31099. }
  31100. var XFcLangSetDel = XIA__FcLangSetDel
  31101. func XIA__FcLangSetHasLang(tls *libc.TLS, ls uintptr, lang uintptr) (r1 TFcLangResult) {
  31102. var best, r TFcLangResult
  31103. var extra, list, v3 uintptr
  31104. var i, id int32
  31105. var v4 bool
  31106. _, _, _, _, _, _, _, _ = best, extra, i, id, list, r, v3, v4
  31107. id = _FcLangSetIndex(tls, lang)
  31108. if id < 0 {
  31109. id = -id - int32(1)
  31110. } else {
  31111. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  31112. return int32(_FcLangEqual)
  31113. }
  31114. }
  31115. best = int32(_FcLangDifferentLang)
  31116. i = id - int32(1)
  31117. for {
  31118. if !(i >= 0) {
  31119. break
  31120. }
  31121. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32)
  31122. if r == int32(_FcLangDifferentLang) {
  31123. break
  31124. }
  31125. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  31126. best = r
  31127. }
  31128. goto _1
  31129. _1:
  31130. ;
  31131. i--
  31132. }
  31133. i = id
  31134. for {
  31135. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31136. break
  31137. }
  31138. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32)
  31139. if r == int32(_FcLangDifferentLang) {
  31140. break
  31141. }
  31142. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  31143. best = r
  31144. }
  31145. goto _2
  31146. _2:
  31147. ;
  31148. i++
  31149. }
  31150. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31151. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31152. if list != 0 {
  31153. for {
  31154. if v4 = best > int32(_FcLangEqual); v4 {
  31155. v3 = XIA__FcStrListNext(tls, list)
  31156. extra = v3
  31157. }
  31158. if !(v4 && v3 != 0) {
  31159. break
  31160. }
  31161. r = XFcLangCompare(tls, lang, extra)
  31162. if r < best {
  31163. best = r
  31164. }
  31165. }
  31166. XIA__FcStrListDone(tls, list)
  31167. }
  31168. }
  31169. return best
  31170. }
  31171. var XFcLangSetHasLang = XIA__FcLangSetHasLang
  31172. func _FcLangSetCompareStrSet(tls *libc.TLS, ls uintptr, set uintptr) (r1 TFcLangResult) {
  31173. var best, r TFcLangResult
  31174. var extra, list, v1 uintptr
  31175. var v2 bool
  31176. _, _, _, _, _, _ = best, extra, list, r, v1, v2
  31177. list = XIA__FcStrListCreate(tls, set)
  31178. best = int32(_FcLangDifferentLang)
  31179. if list != 0 {
  31180. for {
  31181. if v2 = best > int32(_FcLangEqual); v2 {
  31182. v1 = XIA__FcStrListNext(tls, list)
  31183. extra = v1
  31184. }
  31185. if !(v2 && v1 != 0) {
  31186. break
  31187. }
  31188. r = XIA__FcLangSetHasLang(tls, ls, extra)
  31189. if r < best {
  31190. best = r
  31191. }
  31192. }
  31193. XIA__FcStrListDone(tls, list)
  31194. }
  31195. return best
  31196. }
  31197. func XIA__FcLangSetCompare(tls *libc.TLS, lsa uintptr, lsb uintptr) (r1 TFcLangResult) {
  31198. var aInCountrySet, bInCountrySet TFcChar32
  31199. var best, r TFcLangResult
  31200. var count, i, j, v2 int32
  31201. var v1 uint32
  31202. _, _, _, _, _, _, _, _, _ = aInCountrySet, bInCountrySet, best, count, i, j, r, v1, v2
  31203. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31204. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31205. } else {
  31206. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31207. }
  31208. count = libc.Int32FromUint32(v1)
  31209. if int32(m_NUM_LANG_SET_MAP) < count {
  31210. v2 = int32(m_NUM_LANG_SET_MAP)
  31211. } else {
  31212. v2 = count
  31213. }
  31214. count = v2
  31215. i = 0
  31216. for {
  31217. if !(i < count) {
  31218. break
  31219. }
  31220. if *(*TFcChar32)(unsafe.Pointer(lsa + 8 + uintptr(i)*4))&*(*TFcChar32)(unsafe.Pointer(lsb + 8 + uintptr(i)*4)) != 0 {
  31221. return int32(_FcLangEqual)
  31222. }
  31223. goto _3
  31224. _3:
  31225. ;
  31226. i++
  31227. }
  31228. best = int32(_FcLangDifferentLang)
  31229. j = 0
  31230. for {
  31231. if !(j < int32(m_NUM_COUNTRY_SET)) {
  31232. break
  31233. }
  31234. aInCountrySet = uint32(0)
  31235. bInCountrySet = uint32(0)
  31236. i = 0
  31237. for {
  31238. if !(i < count) {
  31239. break
  31240. }
  31241. aInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsa + 8 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  31242. bInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsb + 8 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  31243. if aInCountrySet != 0 && bInCountrySet != 0 {
  31244. best = int32(_FcLangDifferentTerritory)
  31245. break
  31246. }
  31247. goto _5
  31248. _5:
  31249. ;
  31250. i++
  31251. }
  31252. goto _4
  31253. _4:
  31254. ;
  31255. j++
  31256. }
  31257. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 {
  31258. r = _FcLangSetCompareStrSet(tls, lsb, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra)
  31259. if r < best {
  31260. best = r
  31261. }
  31262. }
  31263. if best > int32(_FcLangEqual) && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31264. r = _FcLangSetCompareStrSet(tls, lsa, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31265. if r < best {
  31266. best = r
  31267. }
  31268. }
  31269. return best
  31270. }
  31271. var XFcLangSetCompare = XIA__FcLangSetCompare
  31272. // C documentation
  31273. //
  31274. // /*
  31275. // * Used in computing values -- mustn't allocate any storage
  31276. // */
  31277. func XFcLangSetPromote(tls *libc.TLS, lang uintptr, vbuf uintptr) (r uintptr) {
  31278. var buf uintptr
  31279. var id int32
  31280. _, _ = buf, id
  31281. buf = vbuf
  31282. libc.Xmemset(tls, buf+8, int32('\000'), uint32(32))
  31283. (*struct {
  31284. Fls TFcLangSet
  31285. Fstrs TFcStrSet
  31286. Fstr uintptr
  31287. })(unsafe.Pointer(buf)).Fls.Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  31288. (*struct {
  31289. Fls TFcLangSet
  31290. Fstrs TFcStrSet
  31291. Fstr uintptr
  31292. })(unsafe.Pointer(buf)).Fls.Fextra = uintptr(0)
  31293. if lang != 0 {
  31294. id = _FcLangSetIndex(tls, lang)
  31295. if id >= 0 {
  31296. _FcLangSetBitSet(tls, buf, libc.Uint32FromInt32(id))
  31297. } else {
  31298. (*struct {
  31299. Fls TFcLangSet
  31300. Fstrs TFcStrSet
  31301. Fstr uintptr
  31302. })(unsafe.Pointer(buf)).Fls.Fextra = buf + 40
  31303. (*struct {
  31304. Fls TFcLangSet
  31305. Fstrs TFcStrSet
  31306. Fstr uintptr
  31307. })(unsafe.Pointer(buf)).Fstrs.Fnum = int32(1)
  31308. (*struct {
  31309. Fls TFcLangSet
  31310. Fstrs TFcStrSet
  31311. Fstr uintptr
  31312. })(unsafe.Pointer(buf)).Fstrs.Fsize = int32(1)
  31313. (*struct {
  31314. Fls TFcLangSet
  31315. Fstrs TFcStrSet
  31316. Fstr uintptr
  31317. })(unsafe.Pointer(buf)).Fstrs.Fstrs = buf + 60
  31318. (*TFcRef)(unsafe.Pointer(buf + 40)).Fcount = int32(1)
  31319. (*struct {
  31320. Fls TFcLangSet
  31321. Fstrs TFcStrSet
  31322. Fstr uintptr
  31323. })(unsafe.Pointer(buf)).Fstr = lang
  31324. }
  31325. }
  31326. return buf
  31327. }
  31328. func XIA__FcLangSetHash(tls *libc.TLS, ls uintptr) (r TFcChar32) {
  31329. var count, i int32
  31330. var h TFcChar32
  31331. var v1 uint32
  31332. _, _, _, _ = count, h, i, v1
  31333. h = uint32(0)
  31334. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  31335. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  31336. } else {
  31337. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  31338. }
  31339. count = libc.Int32FromUint32(v1)
  31340. i = 0
  31341. for {
  31342. if !(i < count) {
  31343. break
  31344. }
  31345. h ^= *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(i)*4))
  31346. goto _2
  31347. _2:
  31348. ;
  31349. i++
  31350. }
  31351. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31352. h ^= libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer((*TFcLangSet)(unsafe.Pointer(ls)).Fextra)).Fnum)
  31353. }
  31354. return h
  31355. }
  31356. var XFcLangSetHash = XIA__FcLangSetHash
  31357. func XFcNameParseLangSet(tls *libc.TLS, string1 uintptr) (r uintptr) {
  31358. bp := tls.Alloc(32)
  31359. defer tls.Free(32)
  31360. var c TFcChar8
  31361. var i int32
  31362. var ls, v3 uintptr
  31363. var _ /* lang at bp+0 */ [32]TFcChar8
  31364. _, _, _, _ = c, i, ls, v3
  31365. c = uint8(0)
  31366. ls = XIA__FcLangSetCreate(tls)
  31367. if !(ls != 0) {
  31368. goto bail0
  31369. }
  31370. for {
  31371. i = 0
  31372. for {
  31373. if !(i < int32(31)) {
  31374. break
  31375. }
  31376. v3 = string1
  31377. string1++
  31378. c = *(*TFcChar8)(unsafe.Pointer(v3))
  31379. if libc.Int32FromUint8(c) == int32('\000') || libc.Int32FromUint8(c) == int32('|') {
  31380. break
  31381. } /* end of this code */
  31382. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = c
  31383. goto _2
  31384. _2:
  31385. ;
  31386. i++
  31387. }
  31388. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = uint8('\000')
  31389. if !(XIA__FcLangSetAdd(tls, ls, bp) != 0) {
  31390. goto bail1
  31391. }
  31392. if libc.Int32FromUint8(c) == int32('\000') {
  31393. break
  31394. }
  31395. goto _1
  31396. _1:
  31397. }
  31398. return ls
  31399. goto bail1
  31400. bail1:
  31401. ;
  31402. XIA__FcLangSetDestroy(tls, ls)
  31403. goto bail0
  31404. bail0:
  31405. ;
  31406. return uintptr(0)
  31407. return r
  31408. }
  31409. func XFcNameUnparseLangSet(tls *libc.TLS, buf uintptr, ls uintptr) (r TFcBool) {
  31410. var bit, count, i, id int32
  31411. var bits, v3 TFcChar32
  31412. var extra, list, v5 uintptr
  31413. var first TFcBool
  31414. var v1 uint32
  31415. _, _, _, _, _, _, _, _, _, _, _ = bit, bits, count, extra, first, i, id, list, v1, v3, v5
  31416. first = int32(m_FcTrue)
  31417. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  31418. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  31419. } else {
  31420. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  31421. }
  31422. count = libc.Int32FromUint32(v1)
  31423. i = 0
  31424. for {
  31425. if !(i < count) {
  31426. break
  31427. }
  31428. v3 = *(*TFcChar32)(unsafe.Pointer(ls + 8 + uintptr(i)*4))
  31429. bits = v3
  31430. if v3 != 0 {
  31431. bit = 0
  31432. for {
  31433. if !(bit <= int32(31)) {
  31434. break
  31435. }
  31436. if bits&(uint32(1)<<bit) != 0 {
  31437. id = i<<int32(5) | bit
  31438. if !(first != 0) {
  31439. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  31440. return m_FcFalse
  31441. }
  31442. }
  31443. if !(XFcStrBufString(tls, buf, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35998 + uintptr(id))))*32) != 0) {
  31444. return m_FcFalse
  31445. }
  31446. first = m_FcFalse
  31447. }
  31448. goto _4
  31449. _4:
  31450. ;
  31451. bit++
  31452. }
  31453. }
  31454. goto _2
  31455. _2:
  31456. ;
  31457. i++
  31458. }
  31459. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31460. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31461. if !(list != 0) {
  31462. return m_FcFalse
  31463. }
  31464. for {
  31465. v5 = XIA__FcStrListNext(tls, list)
  31466. extra = v5
  31467. if !(v5 != 0) {
  31468. break
  31469. }
  31470. if !(first != 0) {
  31471. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  31472. XIA__FcStrListDone(tls, list)
  31473. return m_FcFalse
  31474. }
  31475. }
  31476. if !(XFcStrBufString(tls, buf, extra) != 0) {
  31477. XIA__FcStrListDone(tls, list)
  31478. return m_FcFalse
  31479. }
  31480. first = m_FcFalse
  31481. }
  31482. XIA__FcStrListDone(tls, list)
  31483. }
  31484. return int32(m_FcTrue)
  31485. }
  31486. func XIA__FcLangSetEqual(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  31487. var count, i, v2 int32
  31488. var v1 uint32
  31489. _, _, _, _ = count, i, v1, v2
  31490. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31491. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31492. } else {
  31493. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31494. }
  31495. count = libc.Int32FromUint32(v1)
  31496. if int32(m_NUM_LANG_SET_MAP) < count {
  31497. v2 = int32(m_NUM_LANG_SET_MAP)
  31498. } else {
  31499. v2 = count
  31500. }
  31501. count = v2
  31502. i = 0
  31503. for {
  31504. if !(i < count) {
  31505. break
  31506. }
  31507. if *(*TFcChar32)(unsafe.Pointer(lsa + 8 + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer(lsb + 8 + uintptr(i)*4)) {
  31508. return m_FcFalse
  31509. }
  31510. goto _3
  31511. _3:
  31512. ;
  31513. i++
  31514. }
  31515. if !((*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0) && !((*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0) {
  31516. return int32(m_FcTrue)
  31517. }
  31518. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31519. return XIA__FcStrSetEqual(tls, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31520. }
  31521. return m_FcFalse
  31522. }
  31523. var XFcLangSetEqual = XIA__FcLangSetEqual
  31524. func _FcLangSetContainsLang(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31525. var extra, list, v3 uintptr
  31526. var i, id int32
  31527. _, _, _, _, _ = extra, i, id, list, v3
  31528. id = _FcLangSetIndex(tls, lang)
  31529. if id < 0 {
  31530. id = -id - int32(1)
  31531. } else {
  31532. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  31533. return int32(m_FcTrue)
  31534. }
  31535. }
  31536. /*
  31537. * search up and down among equal languages for a match
  31538. */
  31539. i = id - int32(1)
  31540. for {
  31541. if !(i >= 0) {
  31542. break
  31543. }
  31544. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, lang) == int32(_FcLangDifferentLang) {
  31545. break
  31546. }
  31547. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, lang) != 0 {
  31548. return int32(m_FcTrue)
  31549. }
  31550. goto _1
  31551. _1:
  31552. ;
  31553. i--
  31554. }
  31555. i = id
  31556. for {
  31557. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31558. break
  31559. }
  31560. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, lang) == int32(_FcLangDifferentLang) {
  31561. break
  31562. }
  31563. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32, lang) != 0 {
  31564. return int32(m_FcTrue)
  31565. }
  31566. goto _2
  31567. _2:
  31568. ;
  31569. i++
  31570. }
  31571. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31572. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31573. if list != 0 {
  31574. for {
  31575. v3 = XIA__FcStrListNext(tls, list)
  31576. extra = v3
  31577. if !(v3 != 0) {
  31578. break
  31579. }
  31580. if _FcLangContains(tls, extra, lang) != 0 {
  31581. break
  31582. }
  31583. }
  31584. XIA__FcStrListDone(tls, list)
  31585. if extra != 0 {
  31586. return int32(m_FcTrue)
  31587. }
  31588. }
  31589. }
  31590. return m_FcFalse
  31591. }
  31592. // C documentation
  31593. //
  31594. // /*
  31595. // * return FcTrue if lsa contains every language in lsb
  31596. // */
  31597. func XIA__FcLangSetContains(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  31598. bp := tls.Alloc(16)
  31599. defer tls.Free(16)
  31600. var count, i, j, v2 int32
  31601. var extra, list, v5 uintptr
  31602. var missing TFcChar32
  31603. var v1 uint32
  31604. _, _, _, _, _, _, _, _, _ = count, extra, i, j, list, missing, v1, v2, v5
  31605. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31606. libc.Xprintf(tls, __ccgo_ts+5908, 0)
  31607. XFcLangSetPrint(tls, lsa)
  31608. libc.Xprintf(tls, __ccgo_ts+5919, 0)
  31609. XFcLangSetPrint(tls, lsb)
  31610. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  31611. }
  31612. /*
  31613. * check bitmaps for missing language support
  31614. */
  31615. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31616. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31617. } else {
  31618. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31619. }
  31620. count = libc.Int32FromUint32(v1)
  31621. if int32(m_NUM_LANG_SET_MAP) < count {
  31622. v2 = int32(m_NUM_LANG_SET_MAP)
  31623. } else {
  31624. v2 = count
  31625. }
  31626. count = v2
  31627. i = 0
  31628. for {
  31629. if !(i < count) {
  31630. break
  31631. }
  31632. missing = *(*TFcChar32)(unsafe.Pointer(lsb + 8 + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(lsa + 8 + uintptr(i)*4))
  31633. if missing != 0 {
  31634. j = 0
  31635. for {
  31636. if !(j < int32(32)) {
  31637. break
  31638. }
  31639. if missing&(uint32(1)<<j) != 0 {
  31640. if !(_FcLangSetContainsLang(tls, lsa, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 35998 + uintptr(i*int32(32)+j))))*32) != 0) {
  31641. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31642. 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))
  31643. }
  31644. return m_FcFalse
  31645. }
  31646. }
  31647. goto _4
  31648. _4:
  31649. ;
  31650. j++
  31651. }
  31652. }
  31653. goto _3
  31654. _3:
  31655. ;
  31656. i++
  31657. }
  31658. if (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31659. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31660. if list != 0 {
  31661. for {
  31662. v5 = XIA__FcStrListNext(tls, list)
  31663. extra = v5
  31664. if !(v5 != 0) {
  31665. break
  31666. }
  31667. if !(_FcLangSetContainsLang(tls, lsa, extra) != 0) {
  31668. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31669. libc.Xprintf(tls, __ccgo_ts+5950, libc.VaList(bp+8, extra))
  31670. }
  31671. break
  31672. }
  31673. }
  31674. XIA__FcStrListDone(tls, list)
  31675. if extra != 0 {
  31676. return m_FcFalse
  31677. }
  31678. }
  31679. }
  31680. return int32(m_FcTrue)
  31681. }
  31682. var XFcLangSetContains = XIA__FcLangSetContains
  31683. func XFcLangSetSerializeAlloc(tls *libc.TLS, serialize uintptr, l uintptr) (r TFcBool) {
  31684. if !(XFcSerializeAlloc(tls, serialize, l, int32(40)) != 0) {
  31685. return m_FcFalse
  31686. }
  31687. return int32(m_FcTrue)
  31688. }
  31689. func XFcLangSetSerialize(tls *libc.TLS, serialize uintptr, l uintptr) (r uintptr) {
  31690. var l_serialize uintptr
  31691. var v1 uint32
  31692. _, _ = l_serialize, v1
  31693. l_serialize = XFcSerializePtr(tls, serialize, l)
  31694. if !(l_serialize != 0) {
  31695. return libc.UintptrFromInt32(0)
  31696. }
  31697. libc.Xmemset(tls, l_serialize+8, int32('\000'), uint32(32))
  31698. if libc.Uint32FromInt64(32) < (*TFcLangSet)(unsafe.Pointer(l)).Fmap_size*uint32(4) {
  31699. v1 = libc.Uint32FromInt64(32)
  31700. } else {
  31701. v1 = (*TFcLangSet)(unsafe.Pointer(l)).Fmap_size * uint32(4)
  31702. }
  31703. libc.Xmemcpy(tls, l_serialize+8, l+8, v1)
  31704. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  31705. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fextra = libc.UintptrFromInt32(0) /* We don't serialize ls->extra */
  31706. return l_serialize
  31707. }
  31708. func XIA__FcLangSetGetLangs(tls *libc.TLS, ls uintptr) (r uintptr) {
  31709. var extra, langs, list, v2 uintptr
  31710. var i int32
  31711. _, _, _, _, _ = extra, i, langs, list, v2
  31712. langs = XIA__FcStrSetCreate(tls)
  31713. if !(langs != 0) {
  31714. return uintptr(0)
  31715. }
  31716. i = 0
  31717. for {
  31718. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31719. break
  31720. }
  31721. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 {
  31722. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*32)
  31723. }
  31724. goto _1
  31725. _1:
  31726. ;
  31727. i++
  31728. }
  31729. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31730. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31731. if list != 0 {
  31732. for {
  31733. v2 = XIA__FcStrListNext(tls, list)
  31734. extra = v2
  31735. if !(v2 != 0) {
  31736. break
  31737. }
  31738. XIA__FcStrSetAdd(tls, langs, extra)
  31739. }
  31740. XIA__FcStrListDone(tls, list)
  31741. }
  31742. }
  31743. return langs
  31744. }
  31745. var XFcLangSetGetLangs = XIA__FcLangSetGetLangs
  31746. func _FcLangSetOperate(tls *libc.TLS, a uintptr, b uintptr, func1 uintptr) (r uintptr) {
  31747. var langset, set, sl, str, v1 uintptr
  31748. _, _, _, _, _ = langset, set, sl, str, v1
  31749. langset = XIA__FcLangSetCopy(tls, a)
  31750. set = XIA__FcLangSetGetLangs(tls, b)
  31751. sl = XIA__FcStrListCreate(tls, set)
  31752. XIA__FcStrSetDestroy(tls, set)
  31753. for {
  31754. v1 = XIA__FcStrListNext(tls, sl)
  31755. str = v1
  31756. if !(v1 != 0) {
  31757. break
  31758. }
  31759. (*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, langset, str)
  31760. }
  31761. XIA__FcStrListDone(tls, sl)
  31762. return langset
  31763. }
  31764. func XIA__FcLangSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  31765. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetAdd))
  31766. }
  31767. var XFcLangSetUnion = XIA__FcLangSetUnion
  31768. func XIA__FcLangSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  31769. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetDel))
  31770. }
  31771. var XFcLangSetSubtract = XIA__FcLangSetSubtract
  31772. const m_FC_LIST_HASH_SIZE = 4099
  31773. func XIA__FcObjectSetCreate(tls *libc.TLS) (r uintptr) {
  31774. var os uintptr
  31775. _ = os
  31776. os = libc.Xmalloc(tls, uint32(12))
  31777. if !(os != 0) {
  31778. return uintptr(0)
  31779. }
  31780. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject = 0
  31781. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = 0
  31782. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = uintptr(0)
  31783. return os
  31784. }
  31785. var XFcObjectSetCreate = XIA__FcObjectSetCreate
  31786. func XIA__FcObjectSetAdd(tls *libc.TLS, os uintptr, object uintptr) (r TFcBool) {
  31787. var c, high, low, mid, s int32
  31788. var objects uintptr
  31789. _, _, _, _, _, _ = c, high, low, mid, objects, s
  31790. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject {
  31791. s = (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject + int32(4)
  31792. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  31793. objects = libc.Xrealloc(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects, libc.Uint32FromInt32(s)*uint32(4))
  31794. } else {
  31795. objects = libc.Xmalloc(tls, libc.Uint32FromInt32(s)*uint32(4))
  31796. }
  31797. if !(objects != 0) {
  31798. return m_FcFalse
  31799. }
  31800. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = objects
  31801. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = s
  31802. }
  31803. high = (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject - int32(1)
  31804. low = 0
  31805. mid = 0
  31806. c = int32(1)
  31807. object = libc.Xstrdup(tls, object)
  31808. for low <= high {
  31809. mid = (low + high) >> int32(1)
  31810. c = int32(*(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*4))) - int32(object)
  31811. if c == 0 {
  31812. libc.Xfree(tls, object)
  31813. return int32(m_FcTrue)
  31814. }
  31815. if c < 0 {
  31816. low = mid + int32(1)
  31817. } else {
  31818. high = mid - int32(1)
  31819. }
  31820. }
  31821. if c < 0 {
  31822. mid++
  31823. }
  31824. 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))
  31825. *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*4)) = object
  31826. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject++
  31827. return int32(m_FcTrue)
  31828. }
  31829. var XFcObjectSetAdd = XIA__FcObjectSetAdd
  31830. func XIA__FcObjectSetDestroy(tls *libc.TLS, os uintptr) {
  31831. var i int32
  31832. _ = i
  31833. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  31834. i = 0
  31835. for {
  31836. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31837. break
  31838. }
  31839. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)))
  31840. goto _1
  31841. _1:
  31842. ;
  31843. i++
  31844. }
  31845. libc.Xfree(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)
  31846. }
  31847. libc.Xfree(tls, os)
  31848. }
  31849. var XFcObjectSetDestroy = XIA__FcObjectSetDestroy
  31850. func XIA__FcObjectSetVaBuild(tls *libc.TLS, first uintptr, va Tva_list) (r uintptr) {
  31851. var __ob__, __os__, ret uintptr
  31852. _, _, _ = __ob__, __os__, ret
  31853. ret = uintptr(0)
  31854. __os__ = XIA__FcObjectSetCreate(tls)
  31855. if !(__os__ != 0) {
  31856. goto _FcObjectSetVapBuild_bail0
  31857. }
  31858. __ob__ = first
  31859. for __ob__ != 0 {
  31860. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  31861. goto _FcObjectSetVapBuild_bail1
  31862. }
  31863. __ob__ = libc.VaUintptr(&va)
  31864. }
  31865. ret = __os__
  31866. goto _FcObjectSetVapBuild_bail1
  31867. _FcObjectSetVapBuild_bail1:
  31868. ;
  31869. if !(ret != 0) && __os__ != 0 {
  31870. XIA__FcObjectSetDestroy(tls, __os__)
  31871. }
  31872. goto _FcObjectSetVapBuild_bail0
  31873. _FcObjectSetVapBuild_bail0:
  31874. ;
  31875. return ret
  31876. }
  31877. var XFcObjectSetVaBuild = XIA__FcObjectSetVaBuild
  31878. func XIA__FcObjectSetBuild(tls *libc.TLS, first uintptr, va1 uintptr) (r uintptr) {
  31879. var __ob__, __os__, os uintptr
  31880. var va Tva_list
  31881. _, _, _, _ = __ob__, __os__, os, va
  31882. va = va1
  31883. os = uintptr(0)
  31884. __os__ = XIA__FcObjectSetCreate(tls)
  31885. if !(__os__ != 0) {
  31886. goto _FcObjectSetVapBuild_bail0
  31887. }
  31888. __ob__ = first
  31889. for __ob__ != 0 {
  31890. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  31891. goto _FcObjectSetVapBuild_bail1
  31892. }
  31893. __ob__ = libc.VaUintptr(&va)
  31894. }
  31895. os = __os__
  31896. goto _FcObjectSetVapBuild_bail1
  31897. _FcObjectSetVapBuild_bail1:
  31898. ;
  31899. if !(os != 0) && __os__ != 0 {
  31900. XIA__FcObjectSetDestroy(tls, __os__)
  31901. }
  31902. goto _FcObjectSetVapBuild_bail0
  31903. _FcObjectSetVapBuild_bail0:
  31904. ;
  31905. _ = va
  31906. return os
  31907. }
  31908. var XFcObjectSetBuild = XIA__FcObjectSetBuild
  31909. // C documentation
  31910. //
  31911. // /*
  31912. // * Font must have a containing value for every value in the pattern
  31913. // */
  31914. func _FcListValueListMatchAny(tls *libc.TLS, patOrig TFcValueListPtr, fntOrig TFcValueListPtr) (r TFcBool) {
  31915. /* font */
  31916. var fnt, pat TFcValueListPtr
  31917. var v3, v4 uintptr
  31918. _, _, _, _ = fnt, pat, v3, v4
  31919. pat = patOrig
  31920. for {
  31921. if !(pat != libc.UintptrFromInt32(0)) {
  31922. break
  31923. }
  31924. fnt = fntOrig
  31925. for {
  31926. if !(fnt != libc.UintptrFromInt32(0)) {
  31927. break
  31928. }
  31929. /*
  31930. * make sure the font 'contains' the pattern.
  31931. * (OpListing is OpContains except for strings
  31932. * where it requires an exact match)
  31933. */
  31934. if XFcConfigCompareValue(tls, fnt+4, libc.Uint32FromInt32(int32(_FcOpListing)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), pat+4) != 0 {
  31935. break
  31936. }
  31937. goto _2
  31938. _2:
  31939. ;
  31940. if int32((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int32(1) != 0 {
  31941. v3 = uintptr(int32(fnt) + int32((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext) & ^libc.Int32FromInt32(1))
  31942. } else {
  31943. v3 = (*T_FcValueList)(unsafe.Pointer(fnt)).Fnext
  31944. }
  31945. fnt = v3
  31946. }
  31947. if fnt == libc.UintptrFromInt32(0) {
  31948. return m_FcFalse
  31949. }
  31950. goto _1
  31951. _1:
  31952. ;
  31953. if int32((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int32(1) != 0 {
  31954. v4 = uintptr(int32(pat) + int32((*T_FcValueList)(unsafe.Pointer(pat)).Fnext) & ^libc.Int32FromInt32(1))
  31955. } else {
  31956. v4 = (*T_FcValueList)(unsafe.Pointer(pat)).Fnext
  31957. }
  31958. pat = v4
  31959. }
  31960. return int32(m_FcTrue)
  31961. }
  31962. func _FcListValueListEqual(tls *libc.TLS, v1orig TFcValueListPtr, v2orig TFcValueListPtr) (r TFcBool) {
  31963. var v1, v2 TFcValueListPtr
  31964. var v3, v4, v7, v8 uintptr
  31965. _, _, _, _, _, _ = v1, v2, v3, v4, v7, v8
  31966. v1 = v1orig
  31967. for {
  31968. if !(v1 != libc.UintptrFromInt32(0)) {
  31969. break
  31970. }
  31971. v2 = v2orig
  31972. for {
  31973. if !(v2 != libc.UintptrFromInt32(0)) {
  31974. break
  31975. }
  31976. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+4), XFcValueCanonicalize(tls, v2+4)) != 0 {
  31977. break
  31978. }
  31979. goto _2
  31980. _2:
  31981. ;
  31982. if int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int32(1) != 0 {
  31983. v3 = uintptr(int32(v2) + int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext) & ^libc.Int32FromInt32(1))
  31984. } else {
  31985. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  31986. }
  31987. v2 = v3
  31988. }
  31989. if v2 == libc.UintptrFromInt32(0) {
  31990. return m_FcFalse
  31991. }
  31992. goto _1
  31993. _1:
  31994. ;
  31995. if int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int32(1) != 0 {
  31996. v4 = uintptr(int32(v1) + int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext) & ^libc.Int32FromInt32(1))
  31997. } else {
  31998. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  31999. }
  32000. v1 = v4
  32001. }
  32002. v2 = v2orig
  32003. for {
  32004. if !(v2 != libc.UintptrFromInt32(0)) {
  32005. break
  32006. }
  32007. v1 = v1orig
  32008. for {
  32009. if !(v1 != libc.UintptrFromInt32(0)) {
  32010. break
  32011. }
  32012. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+4), XFcValueCanonicalize(tls, v2+4)) != 0 {
  32013. break
  32014. }
  32015. goto _6
  32016. _6:
  32017. ;
  32018. if int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int32(1) != 0 {
  32019. v7 = uintptr(int32(v1) + int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext) & ^libc.Int32FromInt32(1))
  32020. } else {
  32021. v7 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  32022. }
  32023. v1 = v7
  32024. }
  32025. if v1 == libc.UintptrFromInt32(0) {
  32026. return m_FcFalse
  32027. }
  32028. goto _5
  32029. _5:
  32030. ;
  32031. if int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int32(1) != 0 {
  32032. v8 = uintptr(int32(v2) + int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext) & ^libc.Int32FromInt32(1))
  32033. } else {
  32034. v8 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  32035. }
  32036. v2 = v8
  32037. }
  32038. return int32(m_FcTrue)
  32039. }
  32040. func _FcListPatternEqual(tls *libc.TLS, p1 uintptr, p2 uintptr, os uintptr) (r TFcBool) {
  32041. var e1, e2, v2, v3 uintptr
  32042. var i int32
  32043. _, _, _, _, _ = e1, e2, i, v2, v3
  32044. i = 0
  32045. for {
  32046. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32047. break
  32048. }
  32049. e1 = XFcPatternObjectFindElt(tls, p1, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4))))
  32050. e2 = XFcPatternObjectFindElt(tls, p2, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4))))
  32051. if !(e1 != 0) && !(e2 != 0) {
  32052. goto _1
  32053. }
  32054. if !(e1 != 0) || !(e2 != 0) {
  32055. return m_FcFalse
  32056. }
  32057. if int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int32(1) != 0 {
  32058. v2 = uintptr(int32(e1) + int32((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues) & ^libc.Int32FromInt32(1))
  32059. } else {
  32060. v2 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  32061. }
  32062. if int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int32(1) != 0 {
  32063. v3 = uintptr(int32(e2) + int32((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues) & ^libc.Int32FromInt32(1))
  32064. } else {
  32065. v3 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  32066. }
  32067. if !(_FcListValueListEqual(tls, v2, v3) != 0) {
  32068. return m_FcFalse
  32069. }
  32070. goto _1
  32071. _1:
  32072. ;
  32073. i++
  32074. }
  32075. return int32(m_FcTrue)
  32076. }
  32077. /*
  32078. * FcTrue iff all objects in "p" match "font"
  32079. */
  32080. func XFcListPatternMatchAny(tls *libc.TLS, p uintptr, font uintptr) (r TFcBool) {
  32081. var fe, pe, v2, v3 uintptr
  32082. var i int32
  32083. _, _, _, _, _ = fe, i, pe, v2, v3
  32084. if !(p != 0) {
  32085. return m_FcFalse
  32086. }
  32087. i = 0
  32088. for {
  32089. if !(i < (*TFcPattern)(unsafe.Pointer(p)).Fnum) {
  32090. break
  32091. }
  32092. pe = uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*8
  32093. if (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject == int32(_FC_NAMELANG_OBJECT) {
  32094. /* "namelang" object is the alias object to change "familylang",
  32095. * "stylelang" and "fullnamelang" object all together. it won't be
  32096. * available on the font pattern. so checking its availability
  32097. * causes no results. we should ignore it here.
  32098. */
  32099. goto _1
  32100. }
  32101. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  32102. if !(fe != 0) {
  32103. return m_FcFalse
  32104. }
  32105. if int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int32(1) != 0 {
  32106. v2 = uintptr(int32(pe) + int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues) & ^libc.Int32FromInt32(1))
  32107. } else {
  32108. v2 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  32109. }
  32110. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  32111. v3 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  32112. } else {
  32113. v3 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32114. }
  32115. if !(_FcListValueListMatchAny(tls, v2, v3) != 0) { /* font elts */
  32116. return m_FcFalse
  32117. }
  32118. goto _1
  32119. _1:
  32120. ;
  32121. i++
  32122. }
  32123. return int32(m_FcTrue)
  32124. }
  32125. func _FcListMatrixHash(tls *libc.TLS, m uintptr) (r TFcChar32) {
  32126. var xx, xy, yx, yy int32
  32127. _, _, _, _ = xx, xy, yx, yy
  32128. xx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxx * libc.Float64FromInt32(100))
  32129. xy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxy * libc.Float64FromInt32(100))
  32130. yx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyx * libc.Float64FromInt32(100))
  32131. yy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyy * libc.Float64FromInt32(100))
  32132. return libc.Uint32FromInt32(xx) ^ libc.Uint32FromInt32(xy) ^ libc.Uint32FromInt32(yx) ^ libc.Uint32FromInt32(yy)
  32133. }
  32134. func _FcListValueHash(tls *libc.TLS, value uintptr) (r TFcChar32) {
  32135. bp := tls.Alloc(16)
  32136. defer tls.Free(16)
  32137. var _ /* v at bp+0 */ TFcValue
  32138. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32139. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, value)
  32140. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32141. case int32(_FcTypeUnknown):
  32142. fallthrough
  32143. case int32(_FcTypeVoid):
  32144. return uint32(0)
  32145. case int32(_FcTypeInteger):
  32146. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp + 4)))
  32147. case int32(_FcTypeDouble):
  32148. return libc.Uint32FromInt32(int32(*(*float64)(unsafe.Pointer(bp + 4))))
  32149. case int32(_FcTypeString):
  32150. return XFcStrHashIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  32151. case int32(_FcTypeBool):
  32152. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(bp + 4)))
  32153. case int32(_FcTypeMatrix):
  32154. return _FcListMatrixHash(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  32155. case int32(_FcTypeCharSet):
  32156. return XIA__FcCharSetCount(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  32157. case int32(_FcTypeFTFace):
  32158. return libc.Uint32FromInt32(int32(*(*uintptr)(unsafe.Pointer(bp + 4))))
  32159. case int32(_FcTypeLangSet):
  32160. return XIA__FcLangSetHash(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  32161. case int32(_FcTypeRange):
  32162. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  32163. }
  32164. return uint32(0)
  32165. }
  32166. func _FcListValueListHash(tls *libc.TLS, list TFcValueListPtr) (r TFcChar32) {
  32167. var h TFcChar32
  32168. var v1 uintptr
  32169. _, _ = h, v1
  32170. h = uint32(0)
  32171. for list != libc.UintptrFromInt32(0) {
  32172. h = h ^ _FcListValueHash(tls, list+4)
  32173. if int32((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int32(1) != 0 {
  32174. v1 = uintptr(int32(list) + int32((*T_FcValueList)(unsafe.Pointer(list)).Fnext) & ^libc.Int32FromInt32(1))
  32175. } else {
  32176. v1 = (*T_FcValueList)(unsafe.Pointer(list)).Fnext
  32177. }
  32178. list = v1
  32179. }
  32180. return h
  32181. }
  32182. func _FcListPatternHash(tls *libc.TLS, font uintptr, os uintptr) (r TFcChar32) {
  32183. var e, v2 uintptr
  32184. var h TFcChar32
  32185. var n int32
  32186. _, _, _, _ = e, h, n, v2
  32187. h = uint32(0)
  32188. n = 0
  32189. for {
  32190. if !(n < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32191. break
  32192. }
  32193. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(n)*4))))
  32194. if e != 0 {
  32195. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  32196. v2 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  32197. } else {
  32198. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32199. }
  32200. h = h ^ _FcListValueListHash(tls, v2)
  32201. }
  32202. goto _1
  32203. _1:
  32204. ;
  32205. n++
  32206. }
  32207. return h
  32208. }
  32209. type TFcListBucket = struct {
  32210. Fnext uintptr
  32211. Fhash TFcChar32
  32212. Fpattern uintptr
  32213. }
  32214. type T_FcListBucket = TFcListBucket
  32215. type TFcListHashTable = struct {
  32216. Fentries int32
  32217. Fbuckets [4099]uintptr
  32218. }
  32219. type T_FcListHashTable = TFcListHashTable
  32220. func _FcListHashTableInit(tls *libc.TLS, table uintptr) {
  32221. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  32222. libc.Xmemset(tls, table+4, int32('\000'), uint32(16396))
  32223. }
  32224. func _FcListHashTableCleanup(tls *libc.TLS, table uintptr) {
  32225. var bucket, next uintptr
  32226. var i int32
  32227. _, _, _ = bucket, i, next
  32228. i = 0
  32229. for {
  32230. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  32231. break
  32232. }
  32233. bucket = *(*uintptr)(unsafe.Pointer(table + 4 + uintptr(i)*4))
  32234. for {
  32235. if !(bucket != 0) {
  32236. break
  32237. }
  32238. next = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  32239. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  32240. libc.Xfree(tls, bucket)
  32241. goto _2
  32242. _2:
  32243. ;
  32244. bucket = next
  32245. }
  32246. *(*uintptr)(unsafe.Pointer(table + 4 + uintptr(i)*4)) = uintptr(0)
  32247. goto _1
  32248. _1:
  32249. ;
  32250. i++
  32251. }
  32252. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  32253. }
  32254. func _FcGetDefaultObjectLangIndex(tls *libc.TLS, font uintptr, object TFcObject, lang uintptr) (r int32) {
  32255. bp := tls.Alloc(16)
  32256. defer tls.Free(16)
  32257. var defidx, i, idx, v4, v5 int32
  32258. var e, v2, v3 uintptr
  32259. var res TFcLangResult
  32260. var v TFcValueListPtr
  32261. var _ /* value at bp+0 */ TFcValue
  32262. _, _, _, _, _, _, _, _, _, _ = defidx, e, i, idx, res, v, v2, v3, v4, v5
  32263. e = XFcPatternObjectFindElt(tls, font, object)
  32264. idx = -int32(1)
  32265. defidx = -int32(1)
  32266. if e != 0 {
  32267. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  32268. v2 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  32269. } else {
  32270. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32271. }
  32272. v = v2
  32273. i = libc.Int32FromInt32(0)
  32274. for {
  32275. if !(v != 0) {
  32276. break
  32277. }
  32278. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v+4)
  32279. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) {
  32280. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), lang)
  32281. if res == int32(_FcLangEqual) {
  32282. return i
  32283. }
  32284. if res == int32(_FcLangDifferentCountry) && idx < 0 {
  32285. idx = i
  32286. }
  32287. if defidx < 0 {
  32288. /* workaround for fonts that has non-English value
  32289. * at the head of values.
  32290. */
  32291. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), __ccgo_ts+2789)
  32292. if res == int32(_FcLangEqual) {
  32293. defidx = i
  32294. }
  32295. }
  32296. }
  32297. goto _1
  32298. _1:
  32299. ;
  32300. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  32301. v3 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  32302. } else {
  32303. v3 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  32304. }
  32305. v = v3
  32306. i++
  32307. }
  32308. }
  32309. if idx > 0 {
  32310. v4 = idx
  32311. } else {
  32312. if defidx > 0 {
  32313. v5 = defidx
  32314. } else {
  32315. v5 = 0
  32316. }
  32317. v4 = v5
  32318. }
  32319. return v4
  32320. }
  32321. func _FcListAppend(tls *libc.TLS, table uintptr, font uintptr, os uintptr, lang uintptr) (r TFcBool) {
  32322. var bucket, e, prev, v2, v5, v6 uintptr
  32323. var defidx, familyidx, fullnameidx, idx, o, styleidx int32
  32324. var hash TFcChar32
  32325. var v TFcValueListPtr
  32326. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bucket, defidx, e, familyidx, fullnameidx, hash, idx, o, prev, styleidx, v, v2, v5, v6
  32327. familyidx = -int32(1)
  32328. fullnameidx = -int32(1)
  32329. styleidx = -int32(1)
  32330. defidx = 0
  32331. hash = _FcListPatternHash(tls, font, os)
  32332. prev = table + 4 + uintptr(hash%uint32(m_FC_LIST_HASH_SIZE))*4
  32333. for {
  32334. v2 = *(*uintptr)(unsafe.Pointer(prev))
  32335. bucket = v2
  32336. if !(v2 != 0) {
  32337. break
  32338. }
  32339. if (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash == hash && _FcListPatternEqual(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, font, os) != 0 {
  32340. return int32(m_FcTrue)
  32341. }
  32342. goto _1
  32343. _1:
  32344. ;
  32345. prev = bucket
  32346. }
  32347. bucket = libc.Xmalloc(tls, uint32(12))
  32348. if !(bucket != 0) {
  32349. goto bail0
  32350. }
  32351. (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext = uintptr(0)
  32352. (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash = hash
  32353. (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern = XIA__FcPatternCreate(tls)
  32354. if !((*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern != 0) {
  32355. goto bail1
  32356. }
  32357. o = 0
  32358. for {
  32359. if !(o < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32360. break
  32361. }
  32362. 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) {
  32363. if familyidx < 0 {
  32364. familyidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FAMILYLANG_OBJECT), lang)
  32365. }
  32366. defidx = familyidx
  32367. } else {
  32368. 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) {
  32369. if fullnameidx < 0 {
  32370. fullnameidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FULLNAMELANG_OBJECT), lang)
  32371. }
  32372. defidx = fullnameidx
  32373. } else {
  32374. 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) {
  32375. if styleidx < 0 {
  32376. styleidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_STYLELANG_OBJECT), lang)
  32377. }
  32378. defidx = styleidx
  32379. } else {
  32380. defidx = 0
  32381. }
  32382. }
  32383. }
  32384. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4))))
  32385. if e != 0 {
  32386. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  32387. v5 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  32388. } else {
  32389. v5 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32390. }
  32391. v = v5
  32392. idx = libc.Int32FromInt32(0)
  32393. for {
  32394. if !(v != 0) {
  32395. break
  32396. }
  32397. if !(XIA__FcPatternAdd(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*4)), XFcValueCanonicalize(tls, v+4), libc.BoolInt32(defidx != idx)) != 0) {
  32398. goto bail2
  32399. }
  32400. goto _4
  32401. _4:
  32402. ;
  32403. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  32404. v6 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  32405. } else {
  32406. v6 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  32407. }
  32408. v = v6
  32409. idx++
  32410. }
  32411. }
  32412. goto _3
  32413. _3:
  32414. ;
  32415. o++
  32416. }
  32417. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  32418. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries++
  32419. return int32(m_FcTrue)
  32420. goto bail2
  32421. bail2:
  32422. ;
  32423. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  32424. goto bail1
  32425. bail1:
  32426. ;
  32427. libc.Xfree(tls, bucket)
  32428. goto bail0
  32429. bail0:
  32430. ;
  32431. return m_FcFalse
  32432. return r
  32433. }
  32434. func XIA__FcFontSetList(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, os uintptr) (r uintptr) {
  32435. bp := tls.Alloc(16416)
  32436. defer tls.Free(16416)
  32437. var bucket, ret, s, v4 uintptr
  32438. var destroy_os, f, i, set int32
  32439. var _ /* lang at bp+16400 */ uintptr
  32440. var _ /* table at bp+0 */ TFcListHashTable
  32441. _, _, _, _, _, _, _, _ = bucket, destroy_os, f, i, ret, s, set, v4
  32442. destroy_os = 0
  32443. if !(config != 0) {
  32444. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  32445. goto bail0
  32446. }
  32447. }
  32448. config = XIA__FcConfigReference(tls, config)
  32449. if !(config != 0) {
  32450. goto bail0
  32451. }
  32452. _FcListHashTableInit(tls, bp)
  32453. if !(os != 0) {
  32454. os = XFcObjectGetSet(tls)
  32455. destroy_os = int32(1)
  32456. }
  32457. /*
  32458. * Walk all available fonts adding those that
  32459. * match to the hash table
  32460. */
  32461. set = 0
  32462. for {
  32463. if !(set < nsets) {
  32464. break
  32465. }
  32466. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*4))
  32467. if !(s != 0) {
  32468. goto _1
  32469. }
  32470. f = 0
  32471. for {
  32472. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  32473. break
  32474. }
  32475. if XFcListPatternMatchAny(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4))) != 0 { /* font */
  32476. if XFcPatternObjectGetString(tls, p, int32(_FC_NAMELANG_OBJECT), 0, bp+16400) != int32(_FcResultMatch) {
  32477. *(*uintptr)(unsafe.Pointer(bp + 16400)) = XFcGetDefaultLang(tls)
  32478. }
  32479. if !(_FcListAppend(tls, bp, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4)), os, *(*uintptr)(unsafe.Pointer(bp + 16400))) != 0) {
  32480. goto bail1
  32481. }
  32482. }
  32483. goto _2
  32484. _2:
  32485. ;
  32486. f++
  32487. }
  32488. goto _1
  32489. _1:
  32490. ;
  32491. set++
  32492. }
  32493. /*
  32494. * Walk the hash table and build
  32495. * a font set
  32496. */
  32497. ret = XIA__FcFontSetCreate(tls)
  32498. if !(ret != 0) {
  32499. goto bail1
  32500. }
  32501. i = 0
  32502. for {
  32503. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  32504. break
  32505. }
  32506. for {
  32507. v4 = *(*uintptr)(unsafe.Pointer(bp + 4 + uintptr(i)*4))
  32508. bucket = v4
  32509. if !(v4 != 0) {
  32510. break
  32511. }
  32512. if !(XIA__FcFontSetAdd(tls, ret, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern) != 0) {
  32513. goto bail2
  32514. }
  32515. *(*uintptr)(unsafe.Pointer(bp + 4 + uintptr(i)*4)) = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  32516. libc.Xfree(tls, bucket)
  32517. }
  32518. goto _3
  32519. _3:
  32520. ;
  32521. i++
  32522. }
  32523. if destroy_os != 0 {
  32524. XIA__FcObjectSetDestroy(tls, os)
  32525. }
  32526. XIA__FcConfigDestroy(tls, config)
  32527. return ret
  32528. goto bail2
  32529. bail2:
  32530. ;
  32531. XIA__FcFontSetDestroy(tls, ret)
  32532. goto bail1
  32533. bail1:
  32534. ;
  32535. _FcListHashTableCleanup(tls, bp)
  32536. XIA__FcConfigDestroy(tls, config)
  32537. goto bail0
  32538. bail0:
  32539. ;
  32540. if destroy_os != 0 {
  32541. XIA__FcObjectSetDestroy(tls, os)
  32542. }
  32543. return uintptr(0)
  32544. }
  32545. var XFcFontSetList = XIA__FcFontSetList
  32546. func XIA__FcFontList(tls *libc.TLS, config uintptr, p uintptr, os uintptr) (r uintptr) {
  32547. bp := tls.Alloc(16)
  32548. defer tls.Free(16)
  32549. var nsets, v1, v2 int32
  32550. var ret uintptr
  32551. var _ /* sets at bp+0 */ [2]uintptr
  32552. _, _, _, _ = nsets, ret, v1, v2
  32553. if !(config != 0) {
  32554. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  32555. return uintptr(0)
  32556. }
  32557. }
  32558. config = XIA__FcConfigReference(tls, config)
  32559. if !(config != 0) {
  32560. return libc.UintptrFromInt32(0)
  32561. }
  32562. nsets = 0
  32563. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4)) != 0 {
  32564. v1 = nsets
  32565. nsets++
  32566. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4))
  32567. }
  32568. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4)) != 0 {
  32569. v2 = nsets
  32570. nsets++
  32571. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4))
  32572. }
  32573. ret = XIA__FcFontSetList(tls, config, bp, nsets, p, os)
  32574. XIA__FcConfigDestroy(tls, config)
  32575. return ret
  32576. }
  32577. var XFcFontList = XIA__FcFontList
  32578. func _FcCompareNumber(tls *libc.TLS, value1 uintptr, value2 uintptr, bestValue uintptr) (r float64) {
  32579. var v, v1, v2 float64
  32580. _, _, _ = v, v1, v2
  32581. switch (*TFcValue)(unsafe.Pointer(value1)).Ftype1 {
  32582. case int32(_FcTypeInteger):
  32583. v1 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value1)).Fu)))
  32584. case int32(_FcTypeDouble):
  32585. v1 = *(*float64)(unsafe.Pointer(value1 + 4))
  32586. default:
  32587. return -libc.Float64FromFloat64(1)
  32588. }
  32589. switch (*TFcValue)(unsafe.Pointer(value2)).Ftype1 {
  32590. case int32(_FcTypeInteger):
  32591. v2 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value2)).Fu)))
  32592. case int32(_FcTypeDouble):
  32593. v2 = *(*float64)(unsafe.Pointer(value2 + 4))
  32594. default:
  32595. return -libc.Float64FromFloat64(1)
  32596. }
  32597. v = v2 - v1
  32598. if v < libc.Float64FromInt32(0) {
  32599. v = -v
  32600. }
  32601. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, value2)
  32602. return v
  32603. }
  32604. func _FcCompareString(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32605. var v11, v21 uintptr
  32606. _, _ = v11, v21
  32607. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32608. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32609. v11 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32610. } else {
  32611. v11 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32612. }
  32613. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32614. v21 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32615. } else {
  32616. v21 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32617. }
  32618. return float64(libc.Bool32(float64(XIA__FcStrCmpIgnoreCase(tls, v11, v21)) != libc.Float64FromInt32(0)))
  32619. }
  32620. func _FcCompareFamily(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32621. var v1_string, v2_string, v11, v21 uintptr
  32622. var v3, v4 int32
  32623. _, _, _, _, _, _ = v1_string, v2_string, v11, v21, v3, v4
  32624. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32625. v11 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32626. } else {
  32627. v11 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32628. }
  32629. /* rely on the guarantee in FcPatternObjectAddWithBinding that
  32630. * families are always FcTypeString. */
  32631. v1_string = v11
  32632. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32633. v21 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32634. } else {
  32635. v21 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32636. }
  32637. v2_string = v21
  32638. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32639. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  32640. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  32641. } else {
  32642. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  32643. }
  32644. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  32645. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  32646. } else {
  32647. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  32648. }
  32649. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  32650. return float64(1)
  32651. }
  32652. return float64(libc.Bool32(float64(XFcStrCmpIgnoreBlanksAndCase(tls, v1_string, v2_string)) != libc.Float64FromInt32(0)))
  32653. }
  32654. func _FcComparePostScript(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32655. var len1, len2, mlen Tsize_t
  32656. var n, v3, v4 int32
  32657. var v1_string, v2_string, v11, v21 uintptr
  32658. var v5 uint32
  32659. _, _, _, _, _, _, _, _, _, _, _ = len1, len2, mlen, n, v1_string, v2_string, v11, v21, v3, v4, v5
  32660. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32661. v11 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32662. } else {
  32663. v11 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32664. }
  32665. v1_string = v11
  32666. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32667. v21 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32668. } else {
  32669. v21 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32670. }
  32671. v2_string = v21
  32672. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32673. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  32674. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  32675. } else {
  32676. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  32677. }
  32678. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  32679. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  32680. } else {
  32681. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  32682. }
  32683. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  32684. return float64(1)
  32685. }
  32686. n = XFcStrMatchIgnoreCaseAndDelims(tls, v1_string, v2_string, __ccgo_ts+6020)
  32687. len1 = libc.Xstrlen(tls, v1_string)
  32688. len2 = libc.Xstrlen(tls, v2_string)
  32689. if len1 > len2 {
  32690. v5 = len1
  32691. } else {
  32692. v5 = len2
  32693. }
  32694. mlen = v5
  32695. return float64(mlen-libc.Uint32FromInt32(n)) / float64(mlen)
  32696. }
  32697. func _FcCompareLang(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32698. var result TFcLangResult
  32699. var v11, v21, v3, v4, v5, v6, v7, v8 uintptr
  32700. _, _, _, _, _, _, _, _, _ = result, v11, v21, v3, v4, v5, v6, v7, v8
  32701. switch (*TFcValue)(unsafe.Pointer(v1)).Ftype1 {
  32702. case int32(_FcTypeLangSet):
  32703. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  32704. case int32(_FcTypeLangSet):
  32705. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)))&int32(1) != 0 {
  32706. v11 = uintptr(int32(v1) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))) & ^libc.Int32FromInt32(1))
  32707. } else {
  32708. v11 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32709. }
  32710. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)))&int32(1) != 0 {
  32711. v21 = uintptr(int32(v2) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))) & ^libc.Int32FromInt32(1))
  32712. } else {
  32713. v21 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32714. }
  32715. result = XIA__FcLangSetCompare(tls, v11, v21)
  32716. case int32(_FcTypeString):
  32717. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)))&int32(1) != 0 {
  32718. v3 = uintptr(int32(v1) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))) & ^libc.Int32FromInt32(1))
  32719. } else {
  32720. v3 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32721. }
  32722. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32723. v4 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32724. } else {
  32725. v4 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32726. }
  32727. result = XIA__FcLangSetHasLang(tls, v3, v4)
  32728. default:
  32729. return -libc.Float64FromFloat64(1)
  32730. }
  32731. case int32(_FcTypeString):
  32732. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  32733. case int32(_FcTypeLangSet):
  32734. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)))&int32(1) != 0 {
  32735. v5 = uintptr(int32(v2) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))) & ^libc.Int32FromInt32(1))
  32736. } else {
  32737. v5 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32738. }
  32739. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32740. v6 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32741. } else {
  32742. v6 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32743. }
  32744. result = XIA__FcLangSetHasLang(tls, v5, v6)
  32745. case int32(_FcTypeString):
  32746. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32747. v7 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32748. } else {
  32749. v7 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32750. }
  32751. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32752. v8 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32753. } else {
  32754. v8 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32755. }
  32756. result = XFcLangCompare(tls, v7, v8)
  32757. default:
  32758. return -libc.Float64FromFloat64(1)
  32759. }
  32760. default:
  32761. return -libc.Float64FromFloat64(1)
  32762. }
  32763. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32764. switch result {
  32765. case int32(_FcLangEqual):
  32766. return libc.Float64FromInt32(0)
  32767. case int32(_FcLangDifferentCountry):
  32768. return libc.Float64FromInt32(1)
  32769. case int32(_FcLangDifferentLang):
  32770. fallthrough
  32771. default:
  32772. return libc.Float64FromInt32(2)
  32773. }
  32774. return r
  32775. }
  32776. func _FcCompareBool(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32777. if (*TFcValue)(unsafe.Pointer(v2)).Ftype1 != int32(_FcTypeBool) || (*TFcValue)(unsafe.Pointer(v1)).Ftype1 != int32(_FcTypeBool) {
  32778. return -libc.Float64FromFloat64(1)
  32779. }
  32780. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeBool)
  32781. if *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)) != int32(m_FcDontCare) {
  32782. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32783. } else {
  32784. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32785. }
  32786. return float64(libc.Bool32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))^*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)) == libc.Int32FromInt32(1)))
  32787. }
  32788. func _FcCompareCharSet(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32789. var v11, v21 uintptr
  32790. _, _ = v11, v21
  32791. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2) /* TODO Improve. */
  32792. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)))&int32(1) != 0 {
  32793. v11 = uintptr(int32(v1) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))) & ^libc.Int32FromInt32(1))
  32794. } else {
  32795. v11 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32796. }
  32797. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)))&int32(1) != 0 {
  32798. v21 = uintptr(int32(v2) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))) & ^libc.Int32FromInt32(1))
  32799. } else {
  32800. v21 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32801. }
  32802. return float64(XIA__FcCharSetSubtractCount(tls, v11, v21))
  32803. }
  32804. func _FcCompareRange(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32805. bp := tls.Alloc(32)
  32806. defer tls.Free(32)
  32807. var b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7 float64
  32808. var _ /* value1 at bp+0 */ TFcValue
  32809. var _ /* value2 at bp+12 */ TFcValue
  32810. _, _, _, _, _, _, _, _, _, _, _, _ = b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7
  32811. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32812. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  32813. *(*TFcValue)(unsafe.Pointer(bp + 12)) = TFcValue{}
  32814. *(*T_FcValue)(unsafe.Pointer(bp + 12)) = XFcValueCanonicalize(tls, v2)
  32815. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32816. case int32(_FcTypeInteger):
  32817. v11 = float64(*(*int32)(unsafe.Pointer(bp + 4)))
  32818. e1 = v11
  32819. b1 = v11
  32820. case int32(_FcTypeDouble):
  32821. v21 = *(*float64)(unsafe.Pointer(bp + 4))
  32822. e1 = v21
  32823. b1 = v21
  32824. case int32(_FcTypeRange):
  32825. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fbegin
  32826. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fend
  32827. default:
  32828. return float64(-libc.Int32FromInt32(1))
  32829. }
  32830. switch (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  32831. case int32(_FcTypeInteger):
  32832. v3 = float64(*(*int32)(unsafe.Pointer(bp + 12 + 4)))
  32833. e2 = v3
  32834. b2 = v3
  32835. case int32(_FcTypeDouble):
  32836. v4 = *(*float64)(unsafe.Pointer(bp + 12 + 4))
  32837. e2 = v4
  32838. b2 = v4
  32839. case int32(_FcTypeRange):
  32840. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 + 4)))).Fbegin
  32841. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 + 4)))).Fend
  32842. default:
  32843. return float64(-libc.Int32FromInt32(1))
  32844. }
  32845. if e1 < b2 {
  32846. d = b2
  32847. } else {
  32848. if e2 < b1 {
  32849. d = e2
  32850. } else {
  32851. if b1 > b2 {
  32852. v5 = b1
  32853. } else {
  32854. v5 = b2
  32855. }
  32856. if e1 < e2 {
  32857. v6 = e1
  32858. } else {
  32859. v6 = e2
  32860. }
  32861. d = (v5 + v6) * float64(0.5)
  32862. }
  32863. }
  32864. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  32865. *(*float64)(unsafe.Pointer(bestValue + 4)) = d
  32866. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  32867. if e1 < b2 || e2 < b1 {
  32868. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  32869. v7 = libc.Xfabs(tls, b2-e1)
  32870. } else {
  32871. v7 = libc.Xfabs(tls, b1-e2)
  32872. }
  32873. return v7
  32874. } else {
  32875. return float64(0)
  32876. }
  32877. return r
  32878. }
  32879. func _FcCompareSize(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32880. bp := tls.Alloc(32)
  32881. defer tls.Free(32)
  32882. var b1, b2, e1, e2, v11, v21, v3, v4, v5 float64
  32883. var _ /* value1 at bp+0 */ TFcValue
  32884. var _ /* value2 at bp+12 */ TFcValue
  32885. _, _, _, _, _, _, _, _, _ = b1, b2, e1, e2, v11, v21, v3, v4, v5
  32886. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32887. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  32888. *(*TFcValue)(unsafe.Pointer(bp + 12)) = TFcValue{}
  32889. *(*T_FcValue)(unsafe.Pointer(bp + 12)) = XFcValueCanonicalize(tls, v2)
  32890. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32891. case int32(_FcTypeInteger):
  32892. v11 = float64(*(*int32)(unsafe.Pointer(bp + 4)))
  32893. e1 = v11
  32894. b1 = v11
  32895. case int32(_FcTypeDouble):
  32896. v21 = *(*float64)(unsafe.Pointer(bp + 4))
  32897. e1 = v21
  32898. b1 = v21
  32899. case int32(_FcTypeRange):
  32900. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fbegin
  32901. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).Fend
  32902. default:
  32903. return float64(-libc.Int32FromInt32(1))
  32904. }
  32905. switch (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  32906. case int32(_FcTypeInteger):
  32907. v3 = float64(*(*int32)(unsafe.Pointer(bp + 12 + 4)))
  32908. e2 = v3
  32909. b2 = v3
  32910. case int32(_FcTypeDouble):
  32911. v4 = *(*float64)(unsafe.Pointer(bp + 12 + 4))
  32912. e2 = v4
  32913. b2 = v4
  32914. case int32(_FcTypeRange):
  32915. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 + 4)))).Fbegin
  32916. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 12 + 4)))).Fend
  32917. default:
  32918. return float64(-libc.Int32FromInt32(1))
  32919. }
  32920. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  32921. *(*float64)(unsafe.Pointer(bestValue + 4)) = (b1 + e1) * float64(0.5)
  32922. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  32923. if e1 < b2 || e2 < b1 {
  32924. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  32925. v5 = libc.Xfabs(tls, b2-e1)
  32926. } else {
  32927. v5 = libc.Xfabs(tls, b1-e2)
  32928. }
  32929. return v5
  32930. }
  32931. if b2 != e2 && b1 == e2 { /* Semi-closed interval. */
  32932. return float64(1e-15)
  32933. } else {
  32934. return float64(0)
  32935. }
  32936. return r
  32937. }
  32938. func _FcCompareFilename(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32939. var s1, s2, v11, v21 uintptr
  32940. _, _, _, _ = s1, s2, v11, v21
  32941. if int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs)&int32(1) != 0 {
  32942. v11 = uintptr(int32(v1) + int32((*TFcValue)(unsafe.Pointer(v1)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32943. } else {
  32944. v11 = (*TFcValue)(unsafe.Pointer(v1)).Fu.Fs
  32945. }
  32946. s1 = v11
  32947. if int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs)&int32(1) != 0 {
  32948. v21 = uintptr(int32(v2) + int32((*TFcValue)(unsafe.Pointer(v2)).Fu.Fs) & ^libc.Int32FromInt32(1))
  32949. } else {
  32950. v21 = (*TFcValue)(unsafe.Pointer(v2)).Fu.Fs
  32951. }
  32952. s2 = v21
  32953. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32954. if XIA__FcStrCmp(tls, s1, s2) == 0 {
  32955. return float64(0)
  32956. } else {
  32957. if XIA__FcStrCmpIgnoreCase(tls, s1, s2) == 0 {
  32958. return float64(1)
  32959. } else {
  32960. if XFcStrGlobMatch(tls, s1, s2) != 0 {
  32961. return float64(2)
  32962. } else {
  32963. return float64(3)
  32964. }
  32965. }
  32966. }
  32967. return r
  32968. }
  32969. /* Define priorities to -1 for objects that don't have a compare function. */
  32970. type TFcMatcherPriorityDummy = int32
  32971. /* Define priorities to -1 for objects that don't have a compare function. */
  32972. type __FcMatcherPriorityDummy = int32
  32973. const _PRI_FAMILYLANG_STRONG = -1
  32974. const _PRI_FAMILYLANG_WEAK = -1
  32975. const _PRI_STYLELANG_STRONG = -1
  32976. const _PRI_STYLELANG_WEAK = -1
  32977. const _PRI_FULLNAME_STRONG = -1
  32978. const _PRI_FULLNAME_WEAK = -1
  32979. const _PRI_FULLNAMELANG_STRONG = -1
  32980. const _PRI_FULLNAMELANG_WEAK = -1
  32981. const _PRI_ASPECT_STRONG = -1
  32982. const _PRI_ASPECT_WEAK = -1
  32983. const _PRI_HINT_STYLE_STRONG = -1
  32984. const _PRI_HINT_STYLE_WEAK = -1
  32985. const _PRI_HINTING_STRONG = -1
  32986. const _PRI_HINTING_WEAK = -1
  32987. const _PRI_VERTICAL_LAYOUT_STRONG = -1
  32988. const _PRI_VERTICAL_LAYOUT_WEAK = -1
  32989. const _PRI_AUTOHINT_STRONG = -1
  32990. const _PRI_AUTOHINT_WEAK = -1
  32991. const _PRI_GLOBAL_ADVANCE_STRONG = -1
  32992. const _PRI_GLOBAL_ADVANCE_WEAK = -1
  32993. const _PRI_INDEX_STRONG = -1
  32994. const _PRI_INDEX_WEAK = -1
  32995. const _PRI_DPI_STRONG = -1
  32996. const _PRI_DPI_WEAK = -1
  32997. const _PRI_RGBA_STRONG = -1
  32998. const _PRI_RGBA_WEAK = -1
  32999. const _PRI_SCALE_STRONG = -1
  33000. const _PRI_SCALE_WEAK = -1
  33001. const _PRI_MINSPACE_STRONG = -1
  33002. const _PRI_MINSPACE_WEAK = -1
  33003. const _PRI_CHARWIDTH_STRONG = -1
  33004. const _PRI_CHARWIDTH_WEAK = -1
  33005. const _PRI_CHAR_HEIGHT_STRONG = -1
  33006. const _PRI_CHAR_HEIGHT_WEAK = -1
  33007. const _PRI_MATRIX_STRONG = -1
  33008. const _PRI_MATRIX_WEAK = -1
  33009. const _PRI_CAPABILITY_STRONG = -1
  33010. const _PRI_CAPABILITY_WEAK = -1
  33011. const _PRI_EMBOLDEN_STRONG = -1
  33012. const _PRI_EMBOLDEN_WEAK = -1
  33013. const _PRI_EMBEDDED_BITMAP_STRONG = -1
  33014. const _PRI_EMBEDDED_BITMAP_WEAK = -1
  33015. const _PRI_LCD_FILTER_STRONG = -1
  33016. const _PRI_LCD_FILTER_WEAK = -1
  33017. const _PRI_NAMELANG_STRONG = -1
  33018. const _PRI_NAMELANG_WEAK = -1
  33019. const _PRI_FONT_FEATURES_STRONG = -1
  33020. const _PRI_FONT_FEATURES_WEAK = -1
  33021. const _PRI_PRGNAME_STRONG = -1
  33022. const _PRI_PRGNAME_WEAK = -1
  33023. const _PRI_HASH_STRONG = -1
  33024. const _PRI_HASH_WEAK = -1
  33025. const _PRI_FONT_VARIATIONS_STRONG = -1
  33026. const _PRI_FONT_VARIATIONS_WEAK = -1
  33027. /* Canonical match priority order. */
  33028. type TFcMatcherPriority = int32
  33029. /* Canonical match priority order. */
  33030. type __FcMatcherPriority = int32
  33031. const _PRI_FILE = 0
  33032. const _PRI_FILE_STRONG = 0
  33033. const _PRI_FILE_WEAK = 0
  33034. const _PRI_FONTFORMAT = 1
  33035. const _PRI_FONTFORMAT_STRONG = 1
  33036. const _PRI_FONTFORMAT_WEAK = 1
  33037. const _PRI_VARIABLE = 2
  33038. const _PRI_VARIABLE_STRONG = 2
  33039. const _PRI_VARIABLE_WEAK = 2
  33040. const _PRI_SCALABLE = 3
  33041. const _PRI_SCALABLE_STRONG = 3
  33042. const _PRI_SCALABLE_WEAK = 3
  33043. const _PRI_COLOR = 4
  33044. const _PRI_COLOR_STRONG = 4
  33045. const _PRI_COLOR_WEAK = 4
  33046. const _PRI_FOUNDRY = 5
  33047. const _PRI_FOUNDRY_STRONG = 5
  33048. const _PRI_FOUNDRY_WEAK = 5
  33049. const _PRI_CHARSET = 6
  33050. const _PRI_CHARSET_STRONG = 6
  33051. const _PRI_CHARSET_WEAK = 6
  33052. const _PRI_FAMILY_STRONG = 7
  33053. const _PRI_POSTSCRIPT_NAME_STRONG = 8
  33054. const _PRI_LANG = 9
  33055. const _PRI_LANG_STRONG = 9
  33056. const _PRI_LANG_WEAK = 9
  33057. const _PRI_FAMILY_WEAK = 10
  33058. const _PRI_POSTSCRIPT_NAME_WEAK = 11
  33059. const _PRI_SYMBOL = 12
  33060. const _PRI_SYMBOL_STRONG = 12
  33061. const _PRI_SYMBOL_WEAK = 12
  33062. const _PRI_SPACING = 13
  33063. const _PRI_SPACING_STRONG = 13
  33064. const _PRI_SPACING_WEAK = 13
  33065. const _PRI_SIZE = 14
  33066. const _PRI_SIZE_STRONG = 14
  33067. const _PRI_SIZE_WEAK = 14
  33068. const _PRI_PIXEL_SIZE = 15
  33069. const _PRI_PIXEL_SIZE_STRONG = 15
  33070. const _PRI_PIXEL_SIZE_WEAK = 15
  33071. const _PRI_STYLE = 16
  33072. const _PRI_STYLE_STRONG = 16
  33073. const _PRI_STYLE_WEAK = 16
  33074. const _PRI_SLANT = 17
  33075. const _PRI_SLANT_STRONG = 17
  33076. const _PRI_SLANT_WEAK = 17
  33077. const _PRI_WEIGHT = 18
  33078. const _PRI_WEIGHT_STRONG = 18
  33079. const _PRI_WEIGHT_WEAK = 18
  33080. const _PRI_WIDTH = 19
  33081. const _PRI_WIDTH_STRONG = 19
  33082. const _PRI_WIDTH_WEAK = 19
  33083. const _PRI_FONT_HAS_HINT = 20
  33084. const _PRI_FONT_HAS_HINT_STRONG = 20
  33085. const _PRI_FONT_HAS_HINT_WEAK = 20
  33086. const _PRI_DECORATIVE = 21
  33087. const _PRI_DECORATIVE_STRONG = 21
  33088. const _PRI_DECORATIVE_WEAK = 21
  33089. const _PRI_ANTIALIAS = 22
  33090. const _PRI_ANTIALIAS_STRONG = 22
  33091. const _PRI_ANTIALIAS_WEAK = 22
  33092. const _PRI_RASTERIZER = 23
  33093. const _PRI_RASTERIZER_STRONG = 23
  33094. const _PRI_RASTERIZER_WEAK = 23
  33095. const _PRI_OUTLINE = 24
  33096. const _PRI_OUTLINE_STRONG = 24
  33097. const _PRI_OUTLINE_WEAK = 24
  33098. const _PRI_ORDER = 25
  33099. const _PRI_ORDER_STRONG = 25
  33100. const _PRI_ORDER_WEAK = 25
  33101. const _PRI_FONTVERSION = 26
  33102. const _PRI_FONTVERSION_STRONG = 26
  33103. const _PRI_FONTVERSION_WEAK = 26
  33104. const _PRI_END = 27
  33105. type TFcMatcher = struct {
  33106. Fobject TFcObject
  33107. Fcompare uintptr
  33108. Fstrong int32
  33109. Fweak int32
  33110. }
  33111. type T_FcMatcher = TFcMatcher
  33112. // C documentation
  33113. //
  33114. // /*
  33115. // * Order is significant, it defines the precedence of
  33116. // * each value, earlier values are more significant than
  33117. // * later values
  33118. // */
  33119. var __FcMatchers = [53]TFcMatcher{
  33120. 0: {
  33121. Fstrong: -int32(1),
  33122. Fweak: -int32(1),
  33123. },
  33124. 1: {
  33125. Fobject: int32(_FC_FAMILY_OBJECT),
  33126. Fstrong: int32(_PRI_FAMILY_STRONG),
  33127. Fweak: int32(_PRI_FAMILY_WEAK),
  33128. },
  33129. 2: {
  33130. Fobject: int32(_FC_FAMILYLANG_OBJECT),
  33131. Fstrong: int32(_PRI_FAMILYLANG_STRONG),
  33132. Fweak: int32(_PRI_FAMILYLANG_WEAK),
  33133. },
  33134. 3: {
  33135. Fobject: int32(_FC_STYLE_OBJECT),
  33136. Fstrong: int32(_PRI_STYLE_STRONG),
  33137. Fweak: int32(_PRI_STYLE_WEAK),
  33138. },
  33139. 4: {
  33140. Fobject: int32(_FC_STYLELANG_OBJECT),
  33141. Fstrong: int32(_PRI_STYLELANG_STRONG),
  33142. Fweak: int32(_PRI_STYLELANG_WEAK),
  33143. },
  33144. 5: {
  33145. Fobject: int32(_FC_FULLNAME_OBJECT),
  33146. Fstrong: int32(_PRI_FULLNAME_STRONG),
  33147. Fweak: int32(_PRI_FULLNAME_WEAK),
  33148. },
  33149. 6: {
  33150. Fobject: int32(_FC_FULLNAMELANG_OBJECT),
  33151. Fstrong: int32(_PRI_FULLNAMELANG_STRONG),
  33152. Fweak: int32(_PRI_FULLNAMELANG_WEAK),
  33153. },
  33154. 7: {
  33155. Fobject: int32(_FC_SLANT_OBJECT),
  33156. Fstrong: int32(_PRI_SLANT_STRONG),
  33157. Fweak: int32(_PRI_SLANT_WEAK),
  33158. },
  33159. 8: {
  33160. Fobject: int32(_FC_WEIGHT_OBJECT),
  33161. Fstrong: int32(_PRI_WEIGHT_STRONG),
  33162. Fweak: int32(_PRI_WEIGHT_WEAK),
  33163. },
  33164. 9: {
  33165. Fobject: int32(_FC_WIDTH_OBJECT),
  33166. Fstrong: int32(_PRI_WIDTH_STRONG),
  33167. Fweak: int32(_PRI_WIDTH_WEAK),
  33168. },
  33169. 10: {
  33170. Fobject: int32(_FC_SIZE_OBJECT),
  33171. Fstrong: int32(_PRI_SIZE_STRONG),
  33172. Fweak: int32(_PRI_SIZE_WEAK),
  33173. },
  33174. 11: {
  33175. Fobject: int32(_FC_ASPECT_OBJECT),
  33176. Fstrong: int32(_PRI_ASPECT_STRONG),
  33177. Fweak: int32(_PRI_ASPECT_WEAK),
  33178. },
  33179. 12: {
  33180. Fobject: int32(_FC_PIXEL_SIZE_OBJECT),
  33181. Fstrong: int32(_PRI_PIXEL_SIZE_STRONG),
  33182. Fweak: int32(_PRI_PIXEL_SIZE_WEAK),
  33183. },
  33184. 13: {
  33185. Fobject: int32(_FC_SPACING_OBJECT),
  33186. Fstrong: int32(_PRI_SPACING_STRONG),
  33187. Fweak: int32(_PRI_SPACING_WEAK),
  33188. },
  33189. 14: {
  33190. Fobject: int32(_FC_FOUNDRY_OBJECT),
  33191. Fstrong: int32(_PRI_FOUNDRY_STRONG),
  33192. Fweak: int32(_PRI_FOUNDRY_WEAK),
  33193. },
  33194. 15: {
  33195. Fobject: int32(_FC_ANTIALIAS_OBJECT),
  33196. Fstrong: int32(_PRI_ANTIALIAS_STRONG),
  33197. Fweak: int32(_PRI_ANTIALIAS_WEAK),
  33198. },
  33199. 16: {
  33200. Fobject: int32(_FC_HINT_STYLE_OBJECT),
  33201. Fstrong: int32(_PRI_HINT_STYLE_STRONG),
  33202. Fweak: int32(_PRI_HINT_STYLE_WEAK),
  33203. },
  33204. 17: {
  33205. Fobject: int32(_FC_HINTING_OBJECT),
  33206. Fstrong: int32(_PRI_HINTING_STRONG),
  33207. Fweak: int32(_PRI_HINTING_WEAK),
  33208. },
  33209. 18: {
  33210. Fobject: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  33211. Fstrong: int32(_PRI_VERTICAL_LAYOUT_STRONG),
  33212. Fweak: int32(_PRI_VERTICAL_LAYOUT_WEAK),
  33213. },
  33214. 19: {
  33215. Fobject: int32(_FC_AUTOHINT_OBJECT),
  33216. Fstrong: int32(_PRI_AUTOHINT_STRONG),
  33217. Fweak: int32(_PRI_AUTOHINT_WEAK),
  33218. },
  33219. 20: {
  33220. Fobject: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  33221. Fstrong: int32(_PRI_GLOBAL_ADVANCE_STRONG),
  33222. Fweak: int32(_PRI_GLOBAL_ADVANCE_WEAK),
  33223. },
  33224. 21: {
  33225. Fobject: int32(_FC_FILE_OBJECT),
  33226. },
  33227. 22: {
  33228. Fobject: int32(_FC_INDEX_OBJECT),
  33229. Fstrong: int32(_PRI_INDEX_STRONG),
  33230. Fweak: int32(_PRI_INDEX_WEAK),
  33231. },
  33232. 23: {
  33233. Fobject: int32(_FC_RASTERIZER_OBJECT),
  33234. Fstrong: int32(_PRI_RASTERIZER_STRONG),
  33235. Fweak: int32(_PRI_RASTERIZER_WEAK),
  33236. },
  33237. 24: {
  33238. Fobject: int32(_FC_OUTLINE_OBJECT),
  33239. Fstrong: int32(_PRI_OUTLINE_STRONG),
  33240. Fweak: int32(_PRI_OUTLINE_WEAK),
  33241. },
  33242. 25: {
  33243. Fobject: int32(_FC_SCALABLE_OBJECT),
  33244. Fstrong: int32(_PRI_SCALABLE_STRONG),
  33245. Fweak: int32(_PRI_SCALABLE_WEAK),
  33246. },
  33247. 26: {
  33248. Fobject: int32(_FC_DPI_OBJECT),
  33249. Fstrong: int32(_PRI_DPI_STRONG),
  33250. Fweak: int32(_PRI_DPI_WEAK),
  33251. },
  33252. 27: {
  33253. Fobject: int32(_FC_RGBA_OBJECT),
  33254. Fstrong: int32(_PRI_RGBA_STRONG),
  33255. Fweak: int32(_PRI_RGBA_WEAK),
  33256. },
  33257. 28: {
  33258. Fobject: int32(_FC_SCALE_OBJECT),
  33259. Fstrong: int32(_PRI_SCALE_STRONG),
  33260. Fweak: int32(_PRI_SCALE_WEAK),
  33261. },
  33262. 29: {
  33263. Fobject: int32(_FC_MINSPACE_OBJECT),
  33264. Fstrong: int32(_PRI_MINSPACE_STRONG),
  33265. Fweak: int32(_PRI_MINSPACE_WEAK),
  33266. },
  33267. 30: {
  33268. Fobject: int32(_FC_CHARWIDTH_OBJECT),
  33269. Fstrong: int32(_PRI_CHARWIDTH_STRONG),
  33270. Fweak: int32(_PRI_CHARWIDTH_WEAK),
  33271. },
  33272. 31: {
  33273. Fobject: int32(_FC_CHAR_HEIGHT_OBJECT),
  33274. Fstrong: int32(_PRI_CHAR_HEIGHT_STRONG),
  33275. Fweak: int32(_PRI_CHAR_HEIGHT_WEAK),
  33276. },
  33277. 32: {
  33278. Fobject: int32(_FC_MATRIX_OBJECT),
  33279. Fstrong: int32(_PRI_MATRIX_STRONG),
  33280. Fweak: int32(_PRI_MATRIX_WEAK),
  33281. },
  33282. 33: {
  33283. Fobject: int32(_FC_CHARSET_OBJECT),
  33284. Fstrong: int32(_PRI_CHARSET_STRONG),
  33285. Fweak: int32(_PRI_CHARSET_WEAK),
  33286. },
  33287. 34: {
  33288. Fobject: int32(_FC_LANG_OBJECT),
  33289. Fstrong: int32(_PRI_LANG_STRONG),
  33290. Fweak: int32(_PRI_LANG_WEAK),
  33291. },
  33292. 35: {
  33293. Fobject: int32(_FC_FONTVERSION_OBJECT),
  33294. Fstrong: int32(_PRI_FONTVERSION_STRONG),
  33295. Fweak: int32(_PRI_FONTVERSION_WEAK),
  33296. },
  33297. 36: {
  33298. Fobject: int32(_FC_CAPABILITY_OBJECT),
  33299. Fstrong: int32(_PRI_CAPABILITY_STRONG),
  33300. Fweak: int32(_PRI_CAPABILITY_WEAK),
  33301. },
  33302. 37: {
  33303. Fobject: int32(_FC_FONTFORMAT_OBJECT),
  33304. Fstrong: int32(_PRI_FONTFORMAT_STRONG),
  33305. Fweak: int32(_PRI_FONTFORMAT_WEAK),
  33306. },
  33307. 38: {
  33308. Fobject: int32(_FC_EMBOLDEN_OBJECT),
  33309. Fstrong: int32(_PRI_EMBOLDEN_STRONG),
  33310. Fweak: int32(_PRI_EMBOLDEN_WEAK),
  33311. },
  33312. 39: {
  33313. Fobject: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  33314. Fstrong: int32(_PRI_EMBEDDED_BITMAP_STRONG),
  33315. Fweak: int32(_PRI_EMBEDDED_BITMAP_WEAK),
  33316. },
  33317. 40: {
  33318. Fobject: int32(_FC_DECORATIVE_OBJECT),
  33319. Fstrong: int32(_PRI_DECORATIVE_STRONG),
  33320. Fweak: int32(_PRI_DECORATIVE_WEAK),
  33321. },
  33322. 41: {
  33323. Fobject: int32(_FC_LCD_FILTER_OBJECT),
  33324. Fstrong: int32(_PRI_LCD_FILTER_STRONG),
  33325. Fweak: int32(_PRI_LCD_FILTER_WEAK),
  33326. },
  33327. 42: {
  33328. Fobject: int32(_FC_NAMELANG_OBJECT),
  33329. Fstrong: int32(_PRI_NAMELANG_STRONG),
  33330. Fweak: int32(_PRI_NAMELANG_WEAK),
  33331. },
  33332. 43: {
  33333. Fobject: int32(_FC_FONT_FEATURES_OBJECT),
  33334. Fstrong: int32(_PRI_FONT_FEATURES_STRONG),
  33335. Fweak: int32(_PRI_FONT_FEATURES_WEAK),
  33336. },
  33337. 44: {
  33338. Fobject: int32(_FC_PRGNAME_OBJECT),
  33339. Fstrong: int32(_PRI_PRGNAME_STRONG),
  33340. Fweak: int32(_PRI_PRGNAME_WEAK),
  33341. },
  33342. 45: {
  33343. Fobject: int32(_FC_HASH_OBJECT),
  33344. Fstrong: int32(_PRI_HASH_STRONG),
  33345. Fweak: int32(_PRI_HASH_WEAK),
  33346. },
  33347. 46: {
  33348. Fobject: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  33349. Fstrong: int32(_PRI_POSTSCRIPT_NAME_STRONG),
  33350. Fweak: int32(_PRI_POSTSCRIPT_NAME_WEAK),
  33351. },
  33352. 47: {
  33353. Fobject: int32(_FC_COLOR_OBJECT),
  33354. Fstrong: int32(_PRI_COLOR_STRONG),
  33355. Fweak: int32(_PRI_COLOR_WEAK),
  33356. },
  33357. 48: {
  33358. Fobject: int32(_FC_SYMBOL_OBJECT),
  33359. Fstrong: int32(_PRI_SYMBOL_STRONG),
  33360. Fweak: int32(_PRI_SYMBOL_WEAK),
  33361. },
  33362. 49: {
  33363. Fobject: int32(_FC_FONT_VARIATIONS_OBJECT),
  33364. Fstrong: int32(_PRI_FONT_VARIATIONS_STRONG),
  33365. Fweak: int32(_PRI_FONT_VARIATIONS_WEAK),
  33366. },
  33367. 50: {
  33368. Fobject: int32(_FC_VARIABLE_OBJECT),
  33369. Fstrong: int32(_PRI_VARIABLE_STRONG),
  33370. Fweak: int32(_PRI_VARIABLE_WEAK),
  33371. },
  33372. 51: {
  33373. Fobject: int32(_FC_FONT_HAS_HINT_OBJECT),
  33374. Fstrong: int32(_PRI_FONT_HAS_HINT_STRONG),
  33375. Fweak: int32(_PRI_FONT_HAS_HINT_WEAK),
  33376. },
  33377. 52: {
  33378. Fobject: int32(_FC_ORDER_OBJECT),
  33379. Fstrong: int32(_PRI_ORDER_STRONG),
  33380. Fweak: int32(_PRI_ORDER_WEAK),
  33381. },
  33382. }
  33383. func init() {
  33384. p := unsafe.Pointer(&__FcMatchers)
  33385. *(*uintptr)(unsafe.Add(p, 20)) = __ccgo_fp(_FcCompareFamily)
  33386. *(*uintptr)(unsafe.Add(p, 52)) = __ccgo_fp(_FcCompareString)
  33387. *(*uintptr)(unsafe.Add(p, 116)) = __ccgo_fp(_FcCompareNumber)
  33388. *(*uintptr)(unsafe.Add(p, 132)) = __ccgo_fp(_FcCompareRange)
  33389. *(*uintptr)(unsafe.Add(p, 148)) = __ccgo_fp(_FcCompareRange)
  33390. *(*uintptr)(unsafe.Add(p, 164)) = __ccgo_fp(_FcCompareSize)
  33391. *(*uintptr)(unsafe.Add(p, 196)) = __ccgo_fp(_FcCompareNumber)
  33392. *(*uintptr)(unsafe.Add(p, 212)) = __ccgo_fp(_FcCompareNumber)
  33393. *(*uintptr)(unsafe.Add(p, 228)) = __ccgo_fp(_FcCompareString)
  33394. *(*uintptr)(unsafe.Add(p, 244)) = __ccgo_fp(_FcCompareBool)
  33395. *(*uintptr)(unsafe.Add(p, 340)) = __ccgo_fp(_FcCompareFilename)
  33396. *(*uintptr)(unsafe.Add(p, 372)) = __ccgo_fp(_FcCompareString)
  33397. *(*uintptr)(unsafe.Add(p, 388)) = __ccgo_fp(_FcCompareBool)
  33398. *(*uintptr)(unsafe.Add(p, 404)) = __ccgo_fp(_FcCompareBool)
  33399. *(*uintptr)(unsafe.Add(p, 532)) = __ccgo_fp(_FcCompareCharSet)
  33400. *(*uintptr)(unsafe.Add(p, 548)) = __ccgo_fp(_FcCompareLang)
  33401. *(*uintptr)(unsafe.Add(p, 564)) = __ccgo_fp(_FcCompareNumber)
  33402. *(*uintptr)(unsafe.Add(p, 596)) = __ccgo_fp(_FcCompareString)
  33403. *(*uintptr)(unsafe.Add(p, 644)) = __ccgo_fp(_FcCompareBool)
  33404. *(*uintptr)(unsafe.Add(p, 740)) = __ccgo_fp(_FcComparePostScript)
  33405. *(*uintptr)(unsafe.Add(p, 756)) = __ccgo_fp(_FcCompareBool)
  33406. *(*uintptr)(unsafe.Add(p, 772)) = __ccgo_fp(_FcCompareBool)
  33407. *(*uintptr)(unsafe.Add(p, 804)) = __ccgo_fp(_FcCompareBool)
  33408. *(*uintptr)(unsafe.Add(p, 820)) = __ccgo_fp(_FcCompareBool)
  33409. *(*uintptr)(unsafe.Add(p, 836)) = __ccgo_fp(_FcCompareNumber)
  33410. }
  33411. func _FcObjectToMatcher(tls *libc.TLS, object TFcObject, include_lang TFcBool) (r uintptr) {
  33412. if include_lang != 0 {
  33413. switch object {
  33414. case int32(_FC_FAMILYLANG_OBJECT):
  33415. fallthrough
  33416. case int32(_FC_STYLELANG_OBJECT):
  33417. fallthrough
  33418. case int32(_FC_FULLNAMELANG_OBJECT):
  33419. object = int32(_FC_LANG_OBJECT)
  33420. break
  33421. }
  33422. }
  33423. 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) {
  33424. return libc.UintptrFromInt32(0)
  33425. }
  33426. return uintptr(unsafe.Pointer(&__FcMatchers)) + uintptr(object)*16
  33427. }
  33428. func _FcCompareValueList(tls *libc.TLS, object TFcObject, match uintptr, v1orig TFcValueListPtr, v2orig TFcValueListPtr, bestValue uintptr, value uintptr, n uintptr, result uintptr) (r TFcBool) {
  33429. bp := tls.Alloc(48)
  33430. defer tls.Free(48)
  33431. var best, bestStrong, bestWeak, v float64
  33432. var j, k, pos, strong, weak, v3 int32
  33433. var v1, v2 TFcValueListPtr
  33434. var v4, v5 uintptr
  33435. var _ /* matchValue at bp+0 */ TFcValue
  33436. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestStrong, bestWeak, j, k, pos, strong, v, v1, v2, weak, v3, v4, v5
  33437. pos = 0
  33438. if !(match != 0) {
  33439. if bestValue != 0 {
  33440. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2orig+4)
  33441. }
  33442. if n != 0 {
  33443. *(*int32)(unsafe.Pointer(n)) = 0
  33444. }
  33445. return int32(m_FcTrue)
  33446. }
  33447. weak = (*TFcMatcher)(unsafe.Pointer(match)).Fweak
  33448. strong = (*TFcMatcher)(unsafe.Pointer(match)).Fstrong
  33449. best = float64(1e+99)
  33450. bestStrong = float64(1e+99)
  33451. bestWeak = float64(1e+99)
  33452. v1 = v1orig
  33453. j = libc.Int32FromInt32(0)
  33454. for {
  33455. if !(v1 != 0) {
  33456. break
  33457. }
  33458. v2 = v2orig
  33459. k = libc.Int32FromInt32(0)
  33460. for {
  33461. if !(v2 != 0) {
  33462. break
  33463. }
  33464. v = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) float64)(unsafe.Pointer(&struct{ uintptr }{(*TFcMatcher)(unsafe.Pointer(match)).Fcompare})))(tls, v1+4, v2+4, bp)
  33465. if v < libc.Float64FromInt32(0) {
  33466. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultTypeMismatch)
  33467. return m_FcFalse
  33468. }
  33469. if (*T_FcValueList)(unsafe.Pointer(v2)).Fvalue.Ftype1 == int32(_FcTypeString) {
  33470. v3 = int32(1)
  33471. } else {
  33472. v3 = 0
  33473. }
  33474. v = v*libc.Float64FromInt32(1000) + float64(j*int32(100)) + float64(k*v3)
  33475. if v < best {
  33476. if bestValue != 0 {
  33477. *(*TFcValue)(unsafe.Pointer(bestValue)) = *(*TFcValue)(unsafe.Pointer(bp))
  33478. }
  33479. best = v
  33480. pos = k
  33481. }
  33482. if weak == strong {
  33483. /* found the best possible match */
  33484. if best < libc.Float64FromInt32(1000) {
  33485. goto done
  33486. }
  33487. } else {
  33488. if (*T_FcValueList)(unsafe.Pointer(v1)).Fbinding == int32(_FcValueBindingStrong) {
  33489. if v < bestStrong {
  33490. bestStrong = v
  33491. }
  33492. } else {
  33493. if v < bestWeak {
  33494. bestWeak = v
  33495. }
  33496. }
  33497. }
  33498. goto _2
  33499. _2:
  33500. ;
  33501. if int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int32(1) != 0 {
  33502. v4 = uintptr(int32(v2) + int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext) & ^libc.Int32FromInt32(1))
  33503. } else {
  33504. v4 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  33505. }
  33506. v2 = v4
  33507. k++
  33508. }
  33509. goto _1
  33510. _1:
  33511. ;
  33512. if int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int32(1) != 0 {
  33513. v5 = uintptr(int32(v1) + int32((*T_FcValueList)(unsafe.Pointer(v1)).Fnext) & ^libc.Int32FromInt32(1))
  33514. } else {
  33515. v5 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  33516. }
  33517. v1 = v5
  33518. j++
  33519. }
  33520. goto done
  33521. done:
  33522. ;
  33523. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33524. libc.Xprintf(tls, __ccgo_ts+6023, libc.VaList(bp+24, XFcObjectName(tls, object), best))
  33525. XFcValueListPrint(tls, v1orig)
  33526. libc.Xprintf(tls, __ccgo_ts+6032, 0)
  33527. XFcValueListPrint(tls, v2orig)
  33528. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  33529. }
  33530. if value != 0 {
  33531. if weak == strong {
  33532. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += best
  33533. } else {
  33534. *(*float64)(unsafe.Pointer(value + uintptr(weak)*8)) += bestWeak
  33535. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += bestStrong
  33536. }
  33537. }
  33538. if n != 0 {
  33539. *(*int32)(unsafe.Pointer(n)) = pos
  33540. }
  33541. return int32(m_FcTrue)
  33542. }
  33543. // C documentation
  33544. //
  33545. // /* The bulk of the time in FcFontMatch and FcFontSort goes to
  33546. // * walking long lists of family names. We speed this up with a
  33547. // * hash table.
  33548. // */
  33549. type TFamilyEntry = struct {
  33550. Fstrong_value float64
  33551. Fweak_value float64
  33552. }
  33553. type TFcCompareData = struct {
  33554. Ffamily_hash uintptr
  33555. }
  33556. func _FcCompareDataClear(tls *libc.TLS, data uintptr) {
  33557. XFcHashTableDestroy(tls, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash)
  33558. }
  33559. func _FcCompareDataInit(tls *libc.TLS, pat uintptr, data uintptr) {
  33560. bp := tls.Alloc(16)
  33561. defer tls.Free(16)
  33562. var elt, key, table, v2, v3, v4 uintptr
  33563. var i int32
  33564. var l TFcValueListPtr
  33565. var _ /* e at bp+0 */ uintptr
  33566. _, _, _, _, _, _, _, _ = elt, i, key, l, table, v2, v3, v4
  33567. table = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree))
  33568. elt = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  33569. if elt != 0 {
  33570. if int32((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int32(1) != 0 {
  33571. v2 = uintptr(int32(elt) + int32((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues) & ^libc.Int32FromInt32(1))
  33572. } else {
  33573. v2 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  33574. }
  33575. l = v2
  33576. i = libc.Int32FromInt32(0)
  33577. for {
  33578. if !(l != 0) {
  33579. break
  33580. }
  33581. if int32((*TFcValue)(unsafe.Pointer(l+4)).Fu.Fs)&int32(1) != 0 {
  33582. v3 = uintptr(Tintptr_t(l+4) + int32((*TFcValue)(unsafe.Pointer(l+4)).Fu.Fs) & ^libc.Int32FromInt32(1))
  33583. } else {
  33584. v3 = (*TFcValue)(unsafe.Pointer(l + 4)).Fu.Fs
  33585. }
  33586. key = v3
  33587. if !(XFcHashTableFind(tls, table, key, bp) != 0) {
  33588. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint32(16))
  33589. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(1e+99)
  33590. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(1e+99)
  33591. XFcHashTableAdd(tls, table, key, *(*uintptr)(unsafe.Pointer(bp)))
  33592. }
  33593. if (*T_FcValueList)(unsafe.Pointer(l)).Fbinding == int32(_FcValueBindingWeak) {
  33594. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value {
  33595. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(i)
  33596. }
  33597. } else {
  33598. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value {
  33599. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(i)
  33600. }
  33601. }
  33602. goto _1
  33603. _1:
  33604. ;
  33605. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  33606. v4 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  33607. } else {
  33608. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  33609. }
  33610. l = v4
  33611. i++
  33612. }
  33613. }
  33614. (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash = table
  33615. }
  33616. func _FcCompareFamilies(tls *libc.TLS, pat uintptr, v1orig TFcValueListPtr, fnt uintptr, v2orig TFcValueListPtr, value uintptr, result uintptr, table uintptr) (r TFcBool) {
  33617. bp := tls.Alloc(32)
  33618. defer tls.Free(32)
  33619. var key, v21, v3 uintptr
  33620. var strong_value, weak_value float64
  33621. var v2 TFcValueListPtr
  33622. var _ /* e at bp+0 */ uintptr
  33623. _, _, _, _, _, _ = key, strong_value, v2, weak_value, v21, v3
  33624. strong_value = float64(1e+99)
  33625. weak_value = float64(1e+99)
  33626. v2 = v2orig
  33627. for {
  33628. if !(v2 != 0) {
  33629. break
  33630. }
  33631. if int32((*TFcValue)(unsafe.Pointer(v2+4)).Fu.Fs)&int32(1) != 0 {
  33632. v21 = uintptr(Tintptr_t(v2+4) + int32((*TFcValue)(unsafe.Pointer(v2+4)).Fu.Fs) & ^libc.Int32FromInt32(1))
  33633. } else {
  33634. v21 = (*TFcValue)(unsafe.Pointer(v2 + 4)).Fu.Fs
  33635. }
  33636. key = v21
  33637. if XFcHashTableFind(tls, table, key, bp) != 0 {
  33638. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value < strong_value {
  33639. strong_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value
  33640. }
  33641. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value < weak_value {
  33642. weak_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value
  33643. }
  33644. }
  33645. goto _1
  33646. _1:
  33647. ;
  33648. if int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int32(1) != 0 {
  33649. v3 = uintptr(int32(v2) + int32((*T_FcValueList)(unsafe.Pointer(v2)).Fnext) & ^libc.Int32FromInt32(1))
  33650. } else {
  33651. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  33652. }
  33653. v2 = v3
  33654. }
  33655. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33656. libc.Xprintf(tls, __ccgo_ts+6035, libc.VaList(bp+16, XFcObjectName(tls, int32(_FC_FAMILY_OBJECT)), strong_value))
  33657. XFcValueListPrint(tls, v1orig)
  33658. libc.Xprintf(tls, __ccgo_ts+6032, 0)
  33659. XFcValueListPrint(tls, v2orig)
  33660. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  33661. }
  33662. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_STRONG)*8)) = strong_value
  33663. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_WEAK)*8)) = weak_value
  33664. return int32(m_FcTrue)
  33665. }
  33666. /*
  33667. * Return a value indicating the distance between the two lists of
  33668. * values
  33669. */
  33670. func _FcCompare(tls *libc.TLS, pat uintptr, fnt uintptr, value uintptr, result uintptr, data uintptr) (r TFcBool) {
  33671. var elt_i1, elt_i2, match, v2, v3, v4, v5 uintptr
  33672. var i, i1, i2 int32
  33673. _, _, _, _, _, _, _, _, _, _ = elt_i1, elt_i2, i, i1, i2, match, v2, v3, v4, v5
  33674. i = 0
  33675. for {
  33676. if !(i < int32(_PRI_END)) {
  33677. break
  33678. }
  33679. *(*float64)(unsafe.Pointer(value + uintptr(i)*8)) = float64(0)
  33680. goto _1
  33681. _1:
  33682. ;
  33683. i++
  33684. }
  33685. i1 = 0
  33686. i2 = 0
  33687. for i1 < (*TFcPattern)(unsafe.Pointer(pat)).Fnum && i2 < (*TFcPattern)(unsafe.Pointer(fnt)).Fnum {
  33688. elt_i1 = uintptr(int32(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i1)*8
  33689. elt_i2 = uintptr(int32(fnt)+(*TFcPattern)(unsafe.Pointer(fnt)).Felts_offset) + uintptr(i2)*8
  33690. i = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject - (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fobject
  33691. if i > 0 {
  33692. i2++
  33693. } else {
  33694. if i < 0 {
  33695. i1++
  33696. } else {
  33697. if (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject == int32(_FC_FAMILY_OBJECT) && (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash != 0 {
  33698. if int32((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int32(1) != 0 {
  33699. v2 = uintptr(int32(elt_i1) + int32((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues) & ^libc.Int32FromInt32(1))
  33700. } else {
  33701. v2 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  33702. }
  33703. if int32((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int32(1) != 0 {
  33704. v3 = uintptr(int32(elt_i2) + int32((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues) & ^libc.Int32FromInt32(1))
  33705. } else {
  33706. v3 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  33707. }
  33708. if !(_FcCompareFamilies(tls, pat, v2, fnt, v3, value, result, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash) != 0) {
  33709. return m_FcFalse
  33710. }
  33711. i1++
  33712. i2++
  33713. } else {
  33714. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, m_FcFalse)
  33715. if int32((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int32(1) != 0 {
  33716. v4 = uintptr(int32(elt_i1) + int32((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues) & ^libc.Int32FromInt32(1))
  33717. } else {
  33718. v4 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  33719. }
  33720. if int32((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int32(1) != 0 {
  33721. v5 = uintptr(int32(elt_i2) + int32((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues) & ^libc.Int32FromInt32(1))
  33722. } else {
  33723. v5 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  33724. }
  33725. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, match, v4, v5, libc.UintptrFromInt32(0), value, libc.UintptrFromInt32(0), result) != 0) {
  33726. return m_FcFalse
  33727. }
  33728. i1++
  33729. i2++
  33730. }
  33731. }
  33732. }
  33733. }
  33734. return int32(m_FcTrue)
  33735. }
  33736. func XIA__FcFontRenderPrepare(tls *libc.TLS, config uintptr, pat uintptr, font uintptr) (r uintptr) {
  33737. bp := tls.Alloc(272)
  33738. defer tls.Free(272)
  33739. var binding TFcValueBinding
  33740. 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
  33741. var i, j int32
  33742. var l1, l11, l2, l21, ll, ln TFcValueListPtr
  33743. var num float64
  33744. var v16 bool
  33745. var _ /* n at bp+104 */ int32
  33746. var _ /* result at bp+12 */ TFcResult
  33747. var _ /* temp at bp+108 */ [128]TFcChar8
  33748. var _ /* v at bp+0 */ TFcValue
  33749. var _ /* variable at bp+16 */ TFcBool
  33750. var _ /* variations at bp+20 */ TFcStrBuf
  33751. var _ /* vars at bp+236 */ uintptr
  33752. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  33753. *(*TFcBool)(unsafe.Pointer(bp + 16)) = m_FcFalse
  33754. XFcPatternObjectGetBool(tls, font, int32(_FC_VARIABLE_OBJECT), 0, bp+16)
  33755. if *(*TFcBool)(unsafe.Pointer(bp + 16)) != 0 {
  33756. XFcStrBufInit(tls, bp+20, libc.UintptrFromInt32(0), 0)
  33757. }
  33758. new1 = XIA__FcPatternCreate(tls)
  33759. if !(new1 != 0) {
  33760. return libc.UintptrFromInt32(0)
  33761. }
  33762. i = 0
  33763. for {
  33764. if !(i < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  33765. break
  33766. }
  33767. fe = uintptr(int32(font)+(*TFcPattern)(unsafe.Pointer(font)).Felts_offset) + uintptr(i)*8
  33768. 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) {
  33769. /* ignore those objects. we need to deal with them
  33770. * another way */
  33771. goto _1
  33772. }
  33773. 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) {
  33774. fel = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  33775. pel = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  33776. if fel != 0 && pel != 0 {
  33777. /* The font has name languages, and pattern asks for specific language(s).
  33778. * Match on language and and prefer that result.
  33779. * Note: Currently the code only give priority to first matching language.
  33780. */
  33781. *(*int32)(unsafe.Pointer(bp + 104)) = int32(1)
  33782. ln = libc.UintptrFromInt32(0)
  33783. ll = libc.UintptrFromInt32(0)
  33784. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, int32(m_FcTrue))
  33785. if int32((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int32(1) != 0 {
  33786. v2 = uintptr(int32(pel) + int32((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues) & ^libc.Int32FromInt32(1))
  33787. } else {
  33788. v2 = (*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues
  33789. }
  33790. if int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int32(1) != 0 {
  33791. v3 = uintptr(int32(fel) + int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues) & ^libc.Int32FromInt32(1))
  33792. } else {
  33793. v3 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33794. }
  33795. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+104, bp+12) != 0) {
  33796. XIA__FcPatternDestroy(tls, new1)
  33797. return libc.UintptrFromInt32(0)
  33798. }
  33799. j = 0
  33800. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33801. v5 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33802. } else {
  33803. v5 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33804. }
  33805. l1 = v5
  33806. if int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int32(1) != 0 {
  33807. v6 = uintptr(int32(fel) + int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues) & ^libc.Int32FromInt32(1))
  33808. } else {
  33809. v6 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33810. }
  33811. l2 = v6
  33812. for {
  33813. if !(l1 != libc.UintptrFromInt32(0) || l2 != libc.UintptrFromInt32(0)) {
  33814. break
  33815. }
  33816. binding = int32(_FcValueBindingEnd)
  33817. if j == *(*int32)(unsafe.Pointer(bp + 104)) {
  33818. binding = int32(_FcValueBindingStrong)
  33819. func1 = __ccgo_fp(XFcValueListPrepend)
  33820. } else {
  33821. func1 = __ccgo_fp(XFcValueListAppend)
  33822. }
  33823. if l1 != 0 {
  33824. ln = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ln, XFcValueCanonicalize(tls, l1+4), (*T_FcValueList)(unsafe.Pointer(l1)).Fbinding)
  33825. }
  33826. if l2 != 0 {
  33827. if binding == int32(_FcValueBindingEnd) {
  33828. binding = (*T_FcValueList)(unsafe.Pointer(l2)).Fbinding
  33829. }
  33830. ll = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ll, XFcValueCanonicalize(tls, l2+4), binding)
  33831. }
  33832. goto _4
  33833. _4:
  33834. ;
  33835. j++
  33836. if l1 != 0 {
  33837. if int32((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int32(1) != 0 {
  33838. v8 = uintptr(int32(l1) + int32((*T_FcValueList)(unsafe.Pointer(l1)).Fnext) & ^libc.Int32FromInt32(1))
  33839. } else {
  33840. v8 = (*T_FcValueList)(unsafe.Pointer(l1)).Fnext
  33841. }
  33842. v7 = v8
  33843. } else {
  33844. v7 = libc.UintptrFromInt32(0)
  33845. }
  33846. l1 = v7
  33847. if l2 != 0 {
  33848. if int32((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int32(1) != 0 {
  33849. v10 = uintptr(int32(l2) + int32((*T_FcValueList)(unsafe.Pointer(l2)).Fnext) & ^libc.Int32FromInt32(1))
  33850. } else {
  33851. v10 = (*T_FcValueList)(unsafe.Pointer(l2)).Fnext
  33852. }
  33853. v9 = v10
  33854. } else {
  33855. v9 = libc.UintptrFromInt32(0)
  33856. }
  33857. l2 = v9
  33858. }
  33859. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, ln, m_FcFalse)
  33860. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, ll, m_FcFalse)
  33861. goto _1
  33862. } else {
  33863. if fel != 0 {
  33864. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33865. v11 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33866. } else {
  33867. v11 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33868. }
  33869. l11 = XFcValueListDuplicate(tls, v11)
  33870. if int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int32(1) != 0 {
  33871. v12 = uintptr(int32(fel) + int32((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues) & ^libc.Int32FromInt32(1))
  33872. } else {
  33873. v12 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33874. }
  33875. l21 = XFcValueListDuplicate(tls, v12)
  33876. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, l11, m_FcFalse)
  33877. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, l21, m_FcFalse)
  33878. goto _1
  33879. }
  33880. }
  33881. }
  33882. pe = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject)
  33883. if pe != 0 {
  33884. match1 = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, m_FcFalse)
  33885. if int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int32(1) != 0 {
  33886. v13 = uintptr(int32(pe) + int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues) & ^libc.Int32FromInt32(1))
  33887. } else {
  33888. v13 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  33889. }
  33890. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33891. v14 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33892. } else {
  33893. v14 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33894. }
  33895. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, match1, v13, v14, bp, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+12) != 0) {
  33896. XIA__FcPatternDestroy(tls, new1)
  33897. return libc.UintptrFromInt32(0)
  33898. }
  33899. XFcPatternObjectAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, *(*TFcValue)(unsafe.Pointer(bp)), m_FcFalse)
  33900. /* Set font-variations settings for standard axes in variable fonts. */
  33901. if v16 = *(*TFcBool)(unsafe.Pointer(bp + 16)) != 0; v16 {
  33902. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33903. v15 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33904. } else {
  33905. v15 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33906. }
  33907. }
  33908. 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)) {
  33909. tag = __ccgo_ts + 6043
  33910. num = *(*float64)(unsafe.Pointer(bp + 4))
  33911. if (*(*TFcStrBuf)(unsafe.Pointer(bp + 20))).Flen1 != 0 {
  33912. XFcStrBufChar(tls, bp+20, uint8(','))
  33913. }
  33914. switch (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject {
  33915. case int32(_FC_WEIGHT_OBJECT):
  33916. tag = __ccgo_ts + 6048
  33917. num = float64(XIA__FcWeightToOpenType(tls, int32(num)))
  33918. case int32(_FC_WIDTH_OBJECT):
  33919. tag = __ccgo_ts + 6053
  33920. case int32(_FC_SIZE_OBJECT):
  33921. tag = __ccgo_ts + 6058
  33922. break
  33923. }
  33924. libc.Xsprintf(tls, bp+108, __ccgo_ts+6063, libc.VaList(bp+248, tag, num))
  33925. XFcStrBufString(tls, bp+20, bp+108)
  33926. }
  33927. } else {
  33928. if int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int32(1) != 0 {
  33929. v17 = uintptr(int32(fe) + int32((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues) & ^libc.Int32FromInt32(1))
  33930. } else {
  33931. v17 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33932. }
  33933. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, XFcValueListDuplicate(tls, v17), int32(m_FcTrue))
  33934. }
  33935. goto _1
  33936. _1:
  33937. ;
  33938. i++
  33939. }
  33940. i = 0
  33941. for {
  33942. if !(i < (*TFcPattern)(unsafe.Pointer(pat)).Fnum) {
  33943. break
  33944. }
  33945. pe = uintptr(int32(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i)*8
  33946. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  33947. 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) {
  33948. if int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int32(1) != 0 {
  33949. v19 = uintptr(int32(pe) + int32((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues) & ^libc.Int32FromInt32(1))
  33950. } else {
  33951. v19 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  33952. }
  33953. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, XFcValueListDuplicate(tls, v19), m_FcFalse)
  33954. }
  33955. goto _18
  33956. _18:
  33957. ;
  33958. i++
  33959. }
  33960. if *(*TFcBool)(unsafe.Pointer(bp + 16)) != 0 && (*(*TFcStrBuf)(unsafe.Pointer(bp + 20))).Flen1 != 0 {
  33961. *(*uintptr)(unsafe.Pointer(bp + 236)) = libc.UintptrFromInt32(0)
  33962. if XFcPatternObjectGetString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), 0, bp+236) == int32(_FcResultMatch) {
  33963. XFcStrBufChar(tls, bp+20, uint8(','))
  33964. XFcStrBufString(tls, bp+20, *(*uintptr)(unsafe.Pointer(bp + 236)))
  33965. XFcPatternObjectDel(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT))
  33966. }
  33967. XFcPatternObjectAddString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), XFcStrBufDoneStatic(tls, bp+20))
  33968. XFcStrBufDestroy(tls, bp+20)
  33969. }
  33970. XIA__FcConfigSubstituteWithPat(tls, config, new1, pat, int32(_FcMatchFont))
  33971. return new1
  33972. }
  33973. var XFcFontRenderPrepare = XIA__FcFontRenderPrepare
  33974. func _FcFontSetMatchInternal(tls *libc.TLS, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  33975. bp := tls.Alloc(240)
  33976. defer tls.Free(240)
  33977. var best, elt, env, match, os, p1, pat, s, s1, ss, x, v11, v12, v14, v15, v8 uintptr
  33978. var bestscore [27]float64
  33979. var binding TFcValueBinding
  33980. var f, i, set int32
  33981. var f1 TFcBool
  33982. var l, ll, new1, t, v10 TFcValueListPtr
  33983. var len1 Tsize_t
  33984. var v TFcValue
  33985. var _ /* data at bp+216 */ TFcCompareData
  33986. var _ /* score at bp+0 */ [27]float64
  33987. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  33988. pat = libc.UintptrFromInt32(0)
  33989. i = 0
  33990. for {
  33991. if !(i < int32(_PRI_END)) {
  33992. break
  33993. }
  33994. bestscore[i] = libc.Float64FromInt32(0)
  33995. goto _1
  33996. _1:
  33997. ;
  33998. i++
  33999. }
  34000. best = uintptr(0)
  34001. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34002. libc.Xprintf(tls, __ccgo_ts+6070, 0)
  34003. XIA__FcPatternPrint(tls, p)
  34004. }
  34005. _FcCompareDataInit(tls, p, bp+216)
  34006. set = 0
  34007. for {
  34008. if !(set < nsets) {
  34009. break
  34010. }
  34011. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*4))
  34012. if !(s != 0) {
  34013. goto _2
  34014. }
  34015. f = 0
  34016. for {
  34017. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  34018. break
  34019. }
  34020. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34021. libc.Xprintf(tls, __ccgo_ts+2729, libc.VaList(bp+232, f))
  34022. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4)))
  34023. }
  34024. if !(_FcCompare(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4)), bp, result, bp+216) != 0) {
  34025. _FcCompareDataClear(tls, bp+216)
  34026. return uintptr(0)
  34027. }
  34028. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34029. libc.Xprintf(tls, __ccgo_ts+6077, 0)
  34030. i = 0
  34031. for {
  34032. if !(i < int32(_PRI_END)) {
  34033. break
  34034. }
  34035. libc.Xprintf(tls, __ccgo_ts+6083, libc.VaList(bp+232, (*(*[27]float64)(unsafe.Pointer(bp)))[i]))
  34036. goto _4
  34037. _4:
  34038. ;
  34039. i++
  34040. }
  34041. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  34042. }
  34043. i = 0
  34044. for {
  34045. if !(i < int32(_PRI_END)) {
  34046. break
  34047. }
  34048. if best != 0 && bestscore[i] < (*(*[27]float64)(unsafe.Pointer(bp)))[i] {
  34049. break
  34050. }
  34051. if !(best != 0) || (*(*[27]float64)(unsafe.Pointer(bp)))[i] < bestscore[i] {
  34052. i = 0
  34053. for {
  34054. if !(i < int32(_PRI_END)) {
  34055. break
  34056. }
  34057. bestscore[i] = (*(*[27]float64)(unsafe.Pointer(bp)))[i]
  34058. goto _6
  34059. _6:
  34060. ;
  34061. i++
  34062. }
  34063. best = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4))
  34064. break
  34065. }
  34066. goto _5
  34067. _5:
  34068. ;
  34069. i++
  34070. }
  34071. goto _3
  34072. _3:
  34073. ;
  34074. f++
  34075. }
  34076. goto _2
  34077. _2:
  34078. ;
  34079. set++
  34080. }
  34081. _FcCompareDataClear(tls, bp+216)
  34082. /* Update the binding according to the score to indicate how exactly values matches on. */
  34083. if best != 0 {
  34084. pat = XIA__FcPatternCreate(tls)
  34085. elt = uintptr(int32(best) + (*TFcPattern)(unsafe.Pointer(best)).Felts_offset)
  34086. i = 0
  34087. for {
  34088. if !(i < XIA__FcPatternObjectCount(tls, best)) {
  34089. break
  34090. }
  34091. match = _FcObjectToMatcher(tls, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*8))).Fobject, m_FcFalse)
  34092. if int32((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  34093. v8 = uintptr(Tintptr_t(elt+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  34094. } else {
  34095. v8 = (*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*8)).Fvalues
  34096. }
  34097. l = v8
  34098. if !(match != 0) {
  34099. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*8))).Fobject, XFcValueListDuplicate(tls, l), int32(m_FcTrue))
  34100. } else {
  34101. binding = int32(_FcValueBindingWeak)
  34102. new1 = libc.UintptrFromInt32(0)
  34103. t = libc.UintptrFromInt32(0)
  34104. /* If the value was matched exactly, update the binding to Strong. */
  34105. if bestscore[(*TFcMatcher)(unsafe.Pointer(match)).Fstrong] < libc.Float64FromInt32(1000) {
  34106. binding = int32(_FcValueBindingStrong)
  34107. }
  34108. ll = l
  34109. for {
  34110. if !(ll != libc.UintptrFromInt32(0)) {
  34111. break
  34112. }
  34113. if !(new1 != 0) {
  34114. v10 = XFcValueListCreate(tls)
  34115. new1 = v10
  34116. t = v10
  34117. } else {
  34118. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  34119. if int32((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int32(1) != 0 {
  34120. v11 = uintptr(int32(t) + int32((*T_FcValueList)(unsafe.Pointer(t)).Fnext) & ^libc.Int32FromInt32(1))
  34121. } else {
  34122. v11 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  34123. }
  34124. t = v11
  34125. }
  34126. v = XFcValueCanonicalize(tls, ll+4)
  34127. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XIA__FcValueSave(tls, v)
  34128. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = binding
  34129. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  34130. goto _9
  34131. _9:
  34132. ;
  34133. if int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int32(1) != 0 {
  34134. v12 = uintptr(int32(ll) + int32((*T_FcValueList)(unsafe.Pointer(ll)).Fnext) & ^libc.Int32FromInt32(1))
  34135. } else {
  34136. v12 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  34137. }
  34138. ll = v12
  34139. }
  34140. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*8))).Fobject, new1, int32(m_FcTrue))
  34141. }
  34142. goto _7
  34143. _7:
  34144. ;
  34145. i++
  34146. }
  34147. }
  34148. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34149. libc.Xprintf(tls, __ccgo_ts+6087, 0)
  34150. i = 0
  34151. for {
  34152. if !(i < int32(_PRI_END)) {
  34153. break
  34154. }
  34155. libc.Xprintf(tls, __ccgo_ts+6083, libc.VaList(bp+232, bestscore[i]))
  34156. goto _13
  34157. _13:
  34158. ;
  34159. i++
  34160. }
  34161. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  34162. XIA__FcPatternPrint(tls, pat)
  34163. }
  34164. if XFcDebugVal&int32(m_FC_DBG_MATCH2) != 0 {
  34165. env = libc.Xgetenv(tls, __ccgo_ts+6098)
  34166. os = libc.UintptrFromInt32(0)
  34167. if env != 0 {
  34168. f1 = int32(m_FcTrue)
  34169. v14 = libc.Xstrdup(tls, env)
  34170. s1 = v14
  34171. ss = v14
  34172. os = XIA__FcObjectSetCreate(tls)
  34173. for f1 != 0 {
  34174. v15 = libc.Xstrchr(tls, s1, int32(','))
  34175. p1 = v15
  34176. if !(v15 != 0) {
  34177. f1 = m_FcFalse
  34178. len1 = libc.Xstrlen(tls, s1)
  34179. } else {
  34180. len1 = libc.Uint32FromInt32(int32(p1) - int32(s1))
  34181. }
  34182. x = libc.Xmalloc(tls, uint32(1)*(len1+uint32(1)))
  34183. if x != 0 {
  34184. libc.Xstrcpy(tls, x, s1)
  34185. if XFcObjectFromName(tls, x) > 0 {
  34186. XIA__FcObjectSetAdd(tls, os, x)
  34187. }
  34188. s1 = p1 + uintptr(1)
  34189. libc.Xfree(tls, x)
  34190. }
  34191. }
  34192. libc.Xfree(tls, ss)
  34193. }
  34194. XFcPatternPrint2(tls, p, pat, os)
  34195. if os != 0 {
  34196. XIA__FcObjectSetDestroy(tls, os)
  34197. }
  34198. }
  34199. /* assuming that 'result' is initialized with FcResultNoMatch
  34200. * outside this function */
  34201. if pat != 0 {
  34202. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  34203. }
  34204. return pat
  34205. }
  34206. func XIA__FcFontSetMatch(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  34207. var best, ret uintptr
  34208. _, _ = best, ret
  34209. ret = libc.UintptrFromInt32(0)
  34210. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34211. config = XIA__FcConfigReference(tls, config)
  34212. if !(config != 0) {
  34213. return libc.UintptrFromInt32(0)
  34214. }
  34215. best = _FcFontSetMatchInternal(tls, sets, nsets, p, result)
  34216. if best != 0 {
  34217. ret = XIA__FcFontRenderPrepare(tls, config, p, best)
  34218. XIA__FcPatternDestroy(tls, best)
  34219. }
  34220. XIA__FcConfigDestroy(tls, config)
  34221. return ret
  34222. }
  34223. var XFcFontSetMatch = XIA__FcFontSetMatch
  34224. func XIA__FcFontMatch(tls *libc.TLS, config uintptr, p uintptr, result uintptr) (r uintptr) {
  34225. bp := tls.Alloc(16)
  34226. defer tls.Free(16)
  34227. var best, ret uintptr
  34228. var nsets, v1, v2 int32
  34229. var _ /* sets at bp+0 */ [2]uintptr
  34230. _, _, _, _, _ = best, nsets, ret, v1, v2
  34231. ret = libc.UintptrFromInt32(0)
  34232. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34233. config = XIA__FcConfigReference(tls, config)
  34234. if !(config != 0) {
  34235. return libc.UintptrFromInt32(0)
  34236. }
  34237. nsets = 0
  34238. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4)) != 0 {
  34239. v1 = nsets
  34240. nsets++
  34241. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4))
  34242. }
  34243. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4)) != 0 {
  34244. v2 = nsets
  34245. nsets++
  34246. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4))
  34247. }
  34248. best = _FcFontSetMatchInternal(tls, bp, nsets, p, result)
  34249. if best != 0 {
  34250. ret = XIA__FcFontRenderPrepare(tls, config, p, best)
  34251. XIA__FcPatternDestroy(tls, best)
  34252. }
  34253. XIA__FcConfigDestroy(tls, config)
  34254. return ret
  34255. }
  34256. var XFcFontMatch = XIA__FcFontMatch
  34257. type TFcSortNode = struct {
  34258. Fpattern uintptr
  34259. Fscore [27]float64
  34260. }
  34261. type T_FcSortNode = TFcSortNode
  34262. func _FcSortCompare(tls *libc.TLS, aa uintptr, ab uintptr) (r int32) {
  34263. var a, as, b, bs, v3, v5 uintptr
  34264. var ad, bd, v2, v4 float64
  34265. var i, v1, v7, v8 int32
  34266. var v6 bool
  34267. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, ad, as, b, bd, bs, i, v1, v2, v3, v4, v5, v6, v7, v8
  34268. a = *(*uintptr)(unsafe.Pointer(aa))
  34269. b = *(*uintptr)(unsafe.Pointer(ab))
  34270. as = a + 4
  34271. bs = b + 4
  34272. ad = libc.Float64FromInt32(0)
  34273. bd = libc.Float64FromInt32(0)
  34274. i = int32(_PRI_END)
  34275. for {
  34276. v1 = i
  34277. i--
  34278. if v6 = v1 != 0; v6 {
  34279. v3 = as
  34280. as += 8
  34281. v2 = *(*float64)(unsafe.Pointer(v3))
  34282. ad = v2
  34283. v5 = bs
  34284. bs += 8
  34285. v4 = *(*float64)(unsafe.Pointer(v5))
  34286. bd = v4
  34287. }
  34288. if !(v6 && v2 == v4) {
  34289. break
  34290. }
  34291. }
  34292. if ad < bd {
  34293. v7 = -int32(1)
  34294. } else {
  34295. if ad > bd {
  34296. v8 = int32(1)
  34297. } else {
  34298. v8 = 0
  34299. }
  34300. v7 = v8
  34301. }
  34302. return v7
  34303. }
  34304. func _FcSortWalk(tls *libc.TLS, n uintptr, nnode int32, fs uintptr, csp uintptr, trim TFcBool) (r TFcBool) {
  34305. bp := tls.Alloc(16)
  34306. defer tls.Free(16)
  34307. var cs, node, v2 uintptr
  34308. var i int32
  34309. var ret TFcBool
  34310. var _ /* adds_chars at bp+0 */ TFcBool
  34311. var _ /* ncs at bp+4 */ uintptr
  34312. _, _, _, _, _ = cs, i, node, ret, v2
  34313. ret = m_FcFalse
  34314. cs = uintptr(0)
  34315. if trim != 0 || csp != 0 {
  34316. cs = XIA__FcCharSetCreate(tls)
  34317. if cs == libc.UintptrFromInt32(0) {
  34318. goto bail
  34319. }
  34320. }
  34321. i = 0
  34322. for {
  34323. if !(i < nnode) {
  34324. break
  34325. }
  34326. v2 = n
  34327. n += 4
  34328. node = *(*uintptr)(unsafe.Pointer(v2))
  34329. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  34330. /*
  34331. * Only fetch node charset if we'd need it
  34332. */
  34333. if cs != 0 {
  34334. if XIA__FcPatternGetCharSet(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern, __ccgo_ts+6118, 0, bp+4) != int32(_FcResultMatch) {
  34335. goto _1
  34336. }
  34337. if !(XIA__FcCharSetMerge(tls, cs, *(*uintptr)(unsafe.Pointer(bp + 4)), bp) != 0) {
  34338. goto bail
  34339. }
  34340. }
  34341. /*
  34342. * If this font isn't a subset of the previous fonts,
  34343. * add it to the list
  34344. */
  34345. if !(i != 0) || !(trim != 0) || *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  34346. XIA__FcPatternReference(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34347. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34348. libc.Xprintf(tls, __ccgo_ts+6126, 0)
  34349. XIA__FcPatternPrint(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34350. }
  34351. if !(XIA__FcFontSetAdd(tls, fs, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern) != 0) {
  34352. XIA__FcPatternDestroy(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34353. goto bail
  34354. }
  34355. }
  34356. goto _1
  34357. _1:
  34358. ;
  34359. i++
  34360. }
  34361. if csp != 0 {
  34362. *(*uintptr)(unsafe.Pointer(csp)) = cs
  34363. cs = uintptr(0)
  34364. }
  34365. ret = int32(m_FcTrue)
  34366. goto bail
  34367. bail:
  34368. ;
  34369. if cs != 0 {
  34370. XIA__FcCharSetDestroy(tls, cs)
  34371. }
  34372. return ret
  34373. }
  34374. func XIA__FcFontSetSortDestroy(tls *libc.TLS, fs uintptr) {
  34375. XIA__FcFontSetDestroy(tls, fs)
  34376. }
  34377. var XFcFontSetSortDestroy = XIA__FcFontSetSortDestroy
  34378. func XIA__FcFontSetSort(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  34379. bp := tls.Alloc(80)
  34380. defer tls.Free(80)
  34381. var compare float64
  34382. var f, i, nPatternLang, nnodes, set int32
  34383. var new1, nodep, nodeps, nodes, patternLangSat, ret, s uintptr
  34384. var satisfies TFcBool
  34385. var _ /* data at bp+12 */ TFcCompareData
  34386. var _ /* family at bp+40 */ uintptr
  34387. var _ /* matchValue at bp+28 */ TFcValue
  34388. var _ /* nodeLang at bp+16 */ TFcValue
  34389. var _ /* patternLang at bp+0 */ TFcValue
  34390. var _ /* style at bp+44 */ uintptr
  34391. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = compare, f, i, nPatternLang, new1, nnodes, nodep, nodeps, nodes, patternLangSat, ret, s, satisfies, set
  34392. /* There are some implementation that relying on the result of
  34393. * "result" to check if the return value of FcFontSetSort
  34394. * is valid or not.
  34395. * So we should initialize it to the conservative way since
  34396. * this function doesn't return NULL anymore.
  34397. */
  34398. if result != 0 {
  34399. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34400. }
  34401. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34402. libc.Xprintf(tls, __ccgo_ts+6131, 0)
  34403. XIA__FcPatternPrint(tls, p)
  34404. }
  34405. nnodes = 0
  34406. set = 0
  34407. for {
  34408. if !(set < nsets) {
  34409. break
  34410. }
  34411. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*4))
  34412. if !(s != 0) {
  34413. goto _1
  34414. }
  34415. nnodes += (*TFcFontSet)(unsafe.Pointer(s)).Fnfont
  34416. goto _1
  34417. _1:
  34418. ;
  34419. set++
  34420. }
  34421. if !(nnodes != 0) {
  34422. return XIA__FcFontSetCreate(tls)
  34423. }
  34424. nPatternLang = 0
  34425. for {
  34426. if !(XIA__FcPatternGet(tls, p, __ccgo_ts+6137, nPatternLang, bp) == int32(_FcResultMatch)) {
  34427. break
  34428. }
  34429. goto _2
  34430. _2:
  34431. ;
  34432. nPatternLang++
  34433. }
  34434. /* freed below */
  34435. nodes = libc.Xmalloc(tls, libc.Uint32FromInt32(nnodes)*uint32(220)+libc.Uint32FromInt32(nnodes)*uint32(4)+libc.Uint32FromInt32(nPatternLang)*uint32(4))
  34436. if !(nodes != 0) {
  34437. goto bail0
  34438. }
  34439. nodeps = nodes + uintptr(nnodes)*220
  34440. patternLangSat = nodeps + uintptr(nnodes)*4
  34441. _FcCompareDataInit(tls, p, bp+12)
  34442. new1 = nodes
  34443. nodep = nodeps
  34444. set = 0
  34445. for {
  34446. if !(set < nsets) {
  34447. break
  34448. }
  34449. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*4))
  34450. if !(s != 0) {
  34451. goto _3
  34452. }
  34453. f = 0
  34454. for {
  34455. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  34456. break
  34457. }
  34458. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34459. libc.Xprintf(tls, __ccgo_ts+2729, libc.VaList(bp+56, f))
  34460. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4)))
  34461. }
  34462. (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*4))
  34463. if !(_FcCompare(tls, p, (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern, new1+4, result, bp+12) != 0) {
  34464. goto bail1
  34465. }
  34466. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34467. libc.Xprintf(tls, __ccgo_ts+6077, 0)
  34468. i = 0
  34469. for {
  34470. if !(i < int32(_PRI_END)) {
  34471. break
  34472. }
  34473. libc.Xprintf(tls, __ccgo_ts+6083, libc.VaList(bp+56, *(*float64)(unsafe.Pointer(new1 + 4 + uintptr(i)*8))))
  34474. goto _5
  34475. _5:
  34476. ;
  34477. i++
  34478. }
  34479. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  34480. }
  34481. *(*uintptr)(unsafe.Pointer(nodep)) = new1
  34482. new1 += 220
  34483. nodep += 4
  34484. goto _4
  34485. _4:
  34486. ;
  34487. f++
  34488. }
  34489. goto _3
  34490. _3:
  34491. ;
  34492. set++
  34493. }
  34494. _FcCompareDataClear(tls, bp+12)
  34495. nnodes = (int32(new1) - int32(nodes)) / 220
  34496. libc.Xqsort(tls, nodeps, libc.Uint32FromInt32(nnodes), uint32(4), __ccgo_fp(_FcSortCompare))
  34497. i = 0
  34498. for {
  34499. if !(i < nPatternLang) {
  34500. break
  34501. }
  34502. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = m_FcFalse
  34503. goto _6
  34504. _6:
  34505. ;
  34506. i++
  34507. }
  34508. f = 0
  34509. for {
  34510. if !(f < nnodes) {
  34511. break
  34512. }
  34513. satisfies = m_FcFalse
  34514. /*
  34515. * If this node matches any language, go check
  34516. * which ones and satisfy those entries
  34517. */
  34518. if *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)) + 4 + uintptr(_PRI_LANG)*8)) < libc.Float64FromInt32(2000) {
  34519. i = 0
  34520. for {
  34521. if !(i < nPatternLang) {
  34522. break
  34523. }
  34524. 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+16) == int32(_FcResultMatch) {
  34525. compare = _FcCompareLang(tls, bp, bp+16, bp+28)
  34526. if compare >= libc.Float64FromInt32(0) && compare < libc.Float64FromInt32(2) {
  34527. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34528. if XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)))).Fpattern, __ccgo_ts+5970, 0, bp+40) == int32(_FcResultMatch) && XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)))).Fpattern, __ccgo_ts+4740, 0, bp+44) == int32(_FcResultMatch) {
  34529. libc.Xprintf(tls, __ccgo_ts+6142, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(bp + 44)), i))
  34530. }
  34531. }
  34532. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = int32(m_FcTrue)
  34533. satisfies = int32(m_FcTrue)
  34534. break
  34535. }
  34536. }
  34537. goto _8
  34538. _8:
  34539. ;
  34540. i++
  34541. }
  34542. }
  34543. if !(satisfies != 0) {
  34544. *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*4)) + 4 + uintptr(_PRI_LANG)*8)) = float64(10000)
  34545. }
  34546. goto _7
  34547. _7:
  34548. ;
  34549. f++
  34550. }
  34551. /*
  34552. * Re-sort once the language issues have been settled
  34553. */
  34554. libc.Xqsort(tls, nodeps, libc.Uint32FromInt32(nnodes), uint32(4), __ccgo_fp(_FcSortCompare))
  34555. ret = XIA__FcFontSetCreate(tls)
  34556. if !(ret != 0) {
  34557. goto bail1
  34558. }
  34559. if !(_FcSortWalk(tls, nodeps, nnodes, ret, csp, trim) != 0) {
  34560. goto bail2
  34561. }
  34562. libc.Xfree(tls, nodes)
  34563. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34564. libc.Xprintf(tls, __ccgo_ts+6174, 0)
  34565. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(ret)).Ffonts)))
  34566. }
  34567. if (*TFcFontSet)(unsafe.Pointer(ret)).Fnfont > 0 {
  34568. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  34569. }
  34570. return ret
  34571. goto bail2
  34572. bail2:
  34573. ;
  34574. XIA__FcFontSetDestroy(tls, ret)
  34575. goto bail1
  34576. bail1:
  34577. ;
  34578. libc.Xfree(tls, nodes)
  34579. goto bail0
  34580. bail0:
  34581. ;
  34582. return uintptr(0)
  34583. return r
  34584. }
  34585. var XFcFontSetSort = XIA__FcFontSetSort
  34586. func XIA__FcFontSort(tls *libc.TLS, config uintptr, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  34587. bp := tls.Alloc(16)
  34588. defer tls.Free(16)
  34589. var nsets, v1, v2 int32
  34590. var ret uintptr
  34591. var _ /* sets at bp+0 */ [2]uintptr
  34592. _, _, _, _ = nsets, ret, v1, v2
  34593. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34594. config = XIA__FcConfigReference(tls, config)
  34595. if !(config != 0) {
  34596. return libc.UintptrFromInt32(0)
  34597. }
  34598. nsets = 0
  34599. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4)) != 0 {
  34600. v1 = nsets
  34601. nsets++
  34602. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetSystem)*4))
  34603. }
  34604. if *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4)) != 0 {
  34605. v2 = nsets
  34606. nsets++
  34607. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 52 + uintptr(_FcSetApplication)*4))
  34608. }
  34609. ret = XIA__FcFontSetSort(tls, config, bp, nsets, p, trim, csp, result)
  34610. XIA__FcConfigDestroy(tls, config)
  34611. return ret
  34612. }
  34613. var XFcFontSort = XIA__FcFontSort
  34614. func XIA__FcMatrixCopy(tls *libc.TLS, mat uintptr) (r1 uintptr) {
  34615. var r uintptr
  34616. _ = r
  34617. if !(mat != 0) {
  34618. return uintptr(0)
  34619. }
  34620. r = libc.Xmalloc(tls, uint32(32))
  34621. if !(r != 0) {
  34622. return uintptr(0)
  34623. }
  34624. *(*TFcMatrix)(unsafe.Pointer(r)) = *(*TFcMatrix)(unsafe.Pointer(mat))
  34625. return r
  34626. }
  34627. var XFcMatrixCopy = XIA__FcMatrixCopy
  34628. func XFcMatrixFree(tls *libc.TLS, mat uintptr) {
  34629. if mat != uintptr(unsafe.Pointer(&XFcIdentityMatrix)) {
  34630. libc.Xfree(tls, mat)
  34631. }
  34632. }
  34633. func XIA__FcMatrixEqual(tls *libc.TLS, mat1 uintptr, mat2 uintptr) (r TFcBool) {
  34634. if mat1 == mat2 {
  34635. return int32(m_FcTrue)
  34636. }
  34637. if mat1 == uintptr(0) || mat2 == uintptr(0) {
  34638. return m_FcFalse
  34639. }
  34640. 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)
  34641. }
  34642. var XFcMatrixEqual = XIA__FcMatrixEqual
  34643. func XIA__FcMatrixMultiply(tls *libc.TLS, result uintptr, a uintptr, b uintptr) {
  34644. var r TFcMatrix
  34645. _ = r
  34646. r.Fxx = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  34647. r.Fxy = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  34648. r.Fyx = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  34649. r.Fyy = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  34650. *(*TFcMatrix)(unsafe.Pointer(result)) = r
  34651. }
  34652. var XFcMatrixMultiply = XIA__FcMatrixMultiply
  34653. func XIA__FcMatrixRotate(tls *libc.TLS, m uintptr, c float64, s float64) {
  34654. bp := tls.Alloc(32)
  34655. defer tls.Free(32)
  34656. var _ /* r at bp+0 */ TFcMatrix
  34657. /*
  34658. * X Coordinate system is upside down, swap to make
  34659. * rotations counterclockwise
  34660. */
  34661. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = c
  34662. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = -s
  34663. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = s
  34664. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = c
  34665. XIA__FcMatrixMultiply(tls, m, bp, m)
  34666. }
  34667. var XFcMatrixRotate = XIA__FcMatrixRotate
  34668. func XIA__FcMatrixScale(tls *libc.TLS, m uintptr, sx float64, sy float64) {
  34669. bp := tls.Alloc(32)
  34670. defer tls.Free(32)
  34671. var _ /* r at bp+0 */ TFcMatrix
  34672. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = sx
  34673. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = libc.Float64FromInt32(0)
  34674. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = libc.Float64FromInt32(0)
  34675. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = sy
  34676. XIA__FcMatrixMultiply(tls, m, bp, m)
  34677. }
  34678. var XFcMatrixScale = XIA__FcMatrixScale
  34679. func XIA__FcMatrixShear(tls *libc.TLS, m uintptr, sh float64, sv float64) {
  34680. bp := tls.Alloc(32)
  34681. defer tls.Free(32)
  34682. var _ /* r at bp+0 */ TFcMatrix
  34683. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = libc.Float64FromInt32(1)
  34684. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = sh
  34685. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = sv
  34686. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = libc.Float64FromInt32(1)
  34687. XIA__FcMatrixMultiply(tls, m, bp, m)
  34688. }
  34689. var XFcMatrixShear = XIA__FcMatrixShear
  34690. const m_FC_ESCAPE_FIXED = "\\-:,"
  34691. const m_FC_ESCAPE_VARIABLE = "\\=_:,"
  34692. var _FcObjects = [52]TFcObjectType{
  34693. 0: {
  34694. Fobject: __ccgo_ts + 5970,
  34695. Ftype1: int32(_FcTypeString),
  34696. },
  34697. 1: {
  34698. Fobject: __ccgo_ts + 5977,
  34699. Ftype1: int32(_FcTypeString),
  34700. },
  34701. 2: {
  34702. Fobject: __ccgo_ts + 4740,
  34703. Ftype1: int32(_FcTypeString),
  34704. },
  34705. 3: {
  34706. Fobject: __ccgo_ts + 6010,
  34707. Ftype1: int32(_FcTypeString),
  34708. },
  34709. 4: {
  34710. Fobject: __ccgo_ts + 5988,
  34711. Ftype1: int32(_FcTypeString),
  34712. },
  34713. 5: {
  34714. Fobject: __ccgo_ts + 5997,
  34715. Ftype1: int32(_FcTypeString),
  34716. },
  34717. 6: {
  34718. Fobject: __ccgo_ts + 6186,
  34719. Ftype1: int32(_FcTypeInteger),
  34720. },
  34721. 7: {
  34722. Fobject: __ccgo_ts + 6192,
  34723. Ftype1: int32(_FcTypeRange),
  34724. },
  34725. 8: {
  34726. Fobject: __ccgo_ts + 6199,
  34727. Ftype1: int32(_FcTypeRange),
  34728. },
  34729. 9: {
  34730. Fobject: __ccgo_ts + 6205,
  34731. Ftype1: int32(_FcTypeRange),
  34732. },
  34733. 10: {
  34734. Fobject: __ccgo_ts + 6210,
  34735. Ftype1: int32(_FcTypeDouble),
  34736. },
  34737. 11: {
  34738. Fobject: __ccgo_ts + 6217,
  34739. Ftype1: int32(_FcTypeDouble),
  34740. },
  34741. 12: {
  34742. Fobject: __ccgo_ts + 6227,
  34743. Ftype1: int32(_FcTypeInteger),
  34744. },
  34745. 13: {
  34746. Fobject: __ccgo_ts + 6235,
  34747. Ftype1: int32(_FcTypeString),
  34748. },
  34749. 14: {
  34750. Fobject: __ccgo_ts + 6243,
  34751. Ftype1: int32(_FcTypeBool),
  34752. },
  34753. 15: {
  34754. Fobject: __ccgo_ts + 6253,
  34755. Ftype1: int32(_FcTypeInteger),
  34756. },
  34757. 16: {
  34758. Fobject: __ccgo_ts + 6263,
  34759. Ftype1: int32(_FcTypeBool),
  34760. },
  34761. 17: {
  34762. Fobject: __ccgo_ts + 6271,
  34763. Ftype1: int32(_FcTypeBool),
  34764. },
  34765. 18: {
  34766. Fobject: __ccgo_ts + 6286,
  34767. Ftype1: int32(_FcTypeBool),
  34768. },
  34769. 19: {
  34770. Fobject: __ccgo_ts + 6295,
  34771. Ftype1: int32(_FcTypeBool),
  34772. },
  34773. 20: {
  34774. Fobject: __ccgo_ts + 6309,
  34775. Ftype1: int32(_FcTypeString),
  34776. },
  34777. 21: {
  34778. Fobject: __ccgo_ts + 6314,
  34779. Ftype1: int32(_FcTypeInteger),
  34780. },
  34781. 22: {
  34782. Fobject: __ccgo_ts + 6320,
  34783. Ftype1: int32(_FcTypeString),
  34784. },
  34785. 23: {
  34786. Fobject: __ccgo_ts + 6331,
  34787. Ftype1: int32(_FcTypeBool),
  34788. },
  34789. 24: {
  34790. Fobject: __ccgo_ts + 6339,
  34791. Ftype1: int32(_FcTypeBool),
  34792. },
  34793. 25: {
  34794. Fobject: __ccgo_ts + 6348,
  34795. Ftype1: int32(_FcTypeDouble),
  34796. },
  34797. 26: {
  34798. Fobject: __ccgo_ts + 6352,
  34799. Ftype1: int32(_FcTypeInteger),
  34800. },
  34801. 27: {
  34802. Fobject: __ccgo_ts + 6357,
  34803. Ftype1: int32(_FcTypeDouble),
  34804. },
  34805. 28: {
  34806. Fobject: __ccgo_ts + 6363,
  34807. Ftype1: int32(_FcTypeBool),
  34808. },
  34809. 29: {
  34810. Fobject: __ccgo_ts + 6372,
  34811. Ftype1: int32(_FcTypeInteger),
  34812. },
  34813. 30: {
  34814. Fobject: __ccgo_ts + 6382,
  34815. Ftype1: int32(_FcTypeInteger),
  34816. },
  34817. 31: {
  34818. Fobject: __ccgo_ts + 6393,
  34819. Ftype1: int32(_FcTypeMatrix),
  34820. },
  34821. 32: {
  34822. Fobject: __ccgo_ts + 6118,
  34823. Ftype1: int32(_FcTypeCharSet),
  34824. },
  34825. 33: {
  34826. Fobject: __ccgo_ts + 6137,
  34827. Ftype1: int32(_FcTypeLangSet),
  34828. },
  34829. 34: {
  34830. Fobject: __ccgo_ts + 6400,
  34831. Ftype1: int32(_FcTypeInteger),
  34832. },
  34833. 35: {
  34834. Fobject: __ccgo_ts + 6412,
  34835. Ftype1: int32(_FcTypeString),
  34836. },
  34837. 36: {
  34838. Fobject: __ccgo_ts + 6423,
  34839. Ftype1: int32(_FcTypeString),
  34840. },
  34841. 37: {
  34842. Fobject: __ccgo_ts + 6434,
  34843. Ftype1: int32(_FcTypeBool),
  34844. },
  34845. 38: {
  34846. Fobject: __ccgo_ts + 6443,
  34847. Ftype1: int32(_FcTypeBool),
  34848. },
  34849. 39: {
  34850. Fobject: __ccgo_ts + 6458,
  34851. Ftype1: int32(_FcTypeBool),
  34852. },
  34853. 40: {
  34854. Fobject: __ccgo_ts + 6469,
  34855. Ftype1: int32(_FcTypeInteger),
  34856. },
  34857. 41: {
  34858. Fobject: __ccgo_ts + 6479,
  34859. Ftype1: int32(_FcTypeString),
  34860. },
  34861. 42: {
  34862. Fobject: __ccgo_ts + 6488,
  34863. Ftype1: int32(_FcTypeString),
  34864. },
  34865. 43: {
  34866. Fobject: __ccgo_ts + 6501,
  34867. Ftype1: int32(_FcTypeString),
  34868. },
  34869. 44: {
  34870. Fobject: __ccgo_ts + 6509,
  34871. Ftype1: int32(_FcTypeString),
  34872. },
  34873. 45: {
  34874. Fobject: __ccgo_ts + 6514,
  34875. Ftype1: int32(_FcTypeString),
  34876. },
  34877. 46: {
  34878. Fobject: __ccgo_ts + 6529,
  34879. Ftype1: int32(_FcTypeBool),
  34880. },
  34881. 47: {
  34882. Fobject: __ccgo_ts + 6535,
  34883. Ftype1: int32(_FcTypeBool),
  34884. },
  34885. 48: {
  34886. Fobject: __ccgo_ts + 6542,
  34887. Ftype1: int32(_FcTypeString),
  34888. },
  34889. 49: {
  34890. Fobject: __ccgo_ts + 6557,
  34891. Ftype1: int32(_FcTypeBool),
  34892. },
  34893. 50: {
  34894. Fobject: __ccgo_ts + 6566,
  34895. Ftype1: int32(_FcTypeBool),
  34896. },
  34897. 51: {
  34898. Fobject: __ccgo_ts + 6578,
  34899. Ftype1: int32(_FcTypeInteger),
  34900. },
  34901. }
  34902. func _FcObjectFindById(tls *libc.TLS, object TFcObject) (r uintptr) {
  34903. if int32(1) <= object && object <= libc.Int32FromUint32(libc.Uint32FromInt64(416)/libc.Uint32FromInt64(8)) {
  34904. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(object-int32(1))*8
  34905. }
  34906. return XFcObjectLookupOtherTypeById(tls, object)
  34907. }
  34908. func XIA__FcNameRegisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  34909. /* Deprecated. */
  34910. return m_FcFalse
  34911. }
  34912. var XFcNameRegisterObjectTypes = XIA__FcNameRegisterObjectTypes
  34913. func XIA__FcNameUnregisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  34914. /* Deprecated. */
  34915. return m_FcFalse
  34916. }
  34917. var XFcNameUnregisterObjectTypes = XIA__FcNameUnregisterObjectTypes
  34918. func XIA__FcNameGetObjectType(tls *libc.TLS, object uintptr) (r uintptr) {
  34919. var id int32
  34920. _ = id
  34921. id = XFcObjectLookupBuiltinIdByName(tls, object)
  34922. if !(id != 0) {
  34923. return XFcObjectLookupOtherTypeByName(tls, object)
  34924. }
  34925. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(id-int32(1))*8
  34926. }
  34927. var XFcNameGetObjectType = XIA__FcNameGetObjectType
  34928. func XFcObjectValidType(tls *libc.TLS, object TFcObject, type1 TFcType) (r TFcBool) {
  34929. var t uintptr
  34930. _ = t
  34931. t = _FcObjectFindById(tls, object)
  34932. if t != 0 {
  34933. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  34934. case int32(_FcTypeUnknown):
  34935. return int32(m_FcTrue)
  34936. case int32(_FcTypeDouble):
  34937. fallthrough
  34938. case int32(_FcTypeInteger):
  34939. if type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  34940. return int32(m_FcTrue)
  34941. }
  34942. case int32(_FcTypeLangSet):
  34943. if type1 == int32(_FcTypeLangSet) || type1 == int32(_FcTypeString) {
  34944. return int32(m_FcTrue)
  34945. }
  34946. case int32(_FcTypeRange):
  34947. if type1 == int32(_FcTypeRange) || type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  34948. return int32(m_FcTrue)
  34949. }
  34950. default:
  34951. if type1 == (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  34952. return int32(m_FcTrue)
  34953. }
  34954. break
  34955. }
  34956. return m_FcFalse
  34957. }
  34958. return int32(m_FcTrue)
  34959. }
  34960. func XFcObjectFromName(tls *libc.TLS, name uintptr) (r TFcObject) {
  34961. return XFcObjectLookupIdByName(tls, name)
  34962. }
  34963. func XFcObjectGetSet(tls *libc.TLS) (r uintptr) {
  34964. var i int32
  34965. var os uintptr
  34966. _, _ = i, os
  34967. os = libc.UintptrFromInt32(0)
  34968. os = XIA__FcObjectSetCreate(tls)
  34969. i = 0
  34970. for {
  34971. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(416)/libc.Uint32FromInt64(8))) {
  34972. break
  34973. }
  34974. XIA__FcObjectSetAdd(tls, os, _FcObjects[i].Fobject)
  34975. goto _1
  34976. _1:
  34977. ;
  34978. i++
  34979. }
  34980. return os
  34981. }
  34982. func XFcObjectName(tls *libc.TLS, object TFcObject) (r uintptr) {
  34983. var o uintptr
  34984. _ = o
  34985. o = _FcObjectFindById(tls, object)
  34986. if o != 0 {
  34987. return (*TFcObjectType)(unsafe.Pointer(o)).Fobject
  34988. }
  34989. return XFcObjectLookupOtherNameById(tls, object)
  34990. }
  34991. var __FcBaseConstants = [57]TFcConstant{
  34992. 0: {
  34993. Fname: __ccgo_ts + 3903,
  34994. Fobject: __ccgo_ts + 6192,
  34995. },
  34996. 1: {
  34997. Fname: __ccgo_ts + 3908,
  34998. Fobject: __ccgo_ts + 6192,
  34999. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  35000. },
  35001. 2: {
  35002. Fname: __ccgo_ts + 3919,
  35003. Fobject: __ccgo_ts + 6192,
  35004. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  35005. },
  35006. 3: {
  35007. Fname: __ccgo_ts + 3930,
  35008. Fobject: __ccgo_ts + 6192,
  35009. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  35010. },
  35011. 4: {
  35012. Fname: __ccgo_ts + 3940,
  35013. Fobject: __ccgo_ts + 6192,
  35014. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  35015. },
  35016. 5: {
  35017. Fname: __ccgo_ts + 3950,
  35018. Fobject: __ccgo_ts + 6192,
  35019. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  35020. },
  35021. 6: {
  35022. Fname: __ccgo_ts + 3956,
  35023. Fobject: __ccgo_ts + 6192,
  35024. Fvalue: int32(m_FC_WEIGHT_BOOK),
  35025. },
  35026. 7: {
  35027. Fname: __ccgo_ts + 3961,
  35028. Fobject: __ccgo_ts + 6192,
  35029. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  35030. },
  35031. 8: {
  35032. Fname: __ccgo_ts + 3976,
  35033. Fobject: __ccgo_ts + 6192,
  35034. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  35035. },
  35036. 9: {
  35037. Fname: __ccgo_ts + 3983,
  35038. Fobject: __ccgo_ts + 6192,
  35039. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  35040. },
  35041. 10: {
  35042. Fname: __ccgo_ts + 3997,
  35043. Fobject: __ccgo_ts + 6192,
  35044. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  35045. },
  35046. 11: {
  35047. Fname: __ccgo_ts + 4036,
  35048. Fobject: __ccgo_ts + 6192,
  35049. Fvalue: int32(m_FC_WEIGHT_BOLD),
  35050. },
  35051. 12: {
  35052. Fname: __ccgo_ts + 4006,
  35053. Fobject: __ccgo_ts + 6192,
  35054. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  35055. },
  35056. 13: {
  35057. Fname: __ccgo_ts + 4026,
  35058. Fobject: __ccgo_ts + 6192,
  35059. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  35060. },
  35061. 14: {
  35062. Fname: __ccgo_ts + 4081,
  35063. Fobject: __ccgo_ts + 6192,
  35064. Fvalue: int32(m_FC_WEIGHT_BLACK),
  35065. },
  35066. 15: {
  35067. Fname: __ccgo_ts + 4087,
  35068. Fobject: __ccgo_ts + 6192,
  35069. Fvalue: int32(m_FC_WEIGHT_BLACK),
  35070. },
  35071. 16: {
  35072. Fname: __ccgo_ts + 6584,
  35073. Fobject: __ccgo_ts + 6186,
  35074. },
  35075. 17: {
  35076. Fname: __ccgo_ts + 4206,
  35077. Fobject: __ccgo_ts + 6186,
  35078. Fvalue: int32(m_FC_SLANT_ITALIC),
  35079. },
  35080. 18: {
  35081. Fname: __ccgo_ts + 4220,
  35082. Fobject: __ccgo_ts + 6186,
  35083. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  35084. },
  35085. 19: {
  35086. Fname: __ccgo_ts + 4093,
  35087. Fobject: __ccgo_ts + 6199,
  35088. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  35089. },
  35090. 20: {
  35091. Fname: __ccgo_ts + 4108,
  35092. Fobject: __ccgo_ts + 6199,
  35093. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  35094. },
  35095. 21: {
  35096. Fname: __ccgo_ts + 4137,
  35097. Fobject: __ccgo_ts + 6199,
  35098. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  35099. },
  35100. 22: {
  35101. Fname: __ccgo_ts + 4123,
  35102. Fobject: __ccgo_ts + 6199,
  35103. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  35104. },
  35105. 23: {
  35106. Fname: __ccgo_ts + 3969,
  35107. Fobject: __ccgo_ts + 6199,
  35108. Fvalue: int32(m_FC_WIDTH_NORMAL),
  35109. },
  35110. 24: {
  35111. Fname: __ccgo_ts + 4147,
  35112. Fobject: __ccgo_ts + 6199,
  35113. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  35114. },
  35115. 25: {
  35116. Fname: __ccgo_ts + 4188,
  35117. Fobject: __ccgo_ts + 6199,
  35118. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  35119. },
  35120. 26: {
  35121. Fname: __ccgo_ts + 4160,
  35122. Fobject: __ccgo_ts + 6199,
  35123. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  35124. },
  35125. 27: {
  35126. Fname: __ccgo_ts + 4174,
  35127. Fobject: __ccgo_ts + 6199,
  35128. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  35129. },
  35130. 28: {
  35131. Fname: __ccgo_ts + 6590,
  35132. Fobject: __ccgo_ts + 6227,
  35133. },
  35134. 29: {
  35135. Fname: __ccgo_ts + 6603,
  35136. Fobject: __ccgo_ts + 6227,
  35137. Fvalue: int32(m_FC_DUAL),
  35138. },
  35139. 30: {
  35140. Fname: __ccgo_ts + 6608,
  35141. Fobject: __ccgo_ts + 6227,
  35142. Fvalue: int32(m_FC_MONO),
  35143. },
  35144. 31: {
  35145. Fname: __ccgo_ts + 6613,
  35146. Fobject: __ccgo_ts + 6227,
  35147. Fvalue: int32(m_FC_CHARCELL),
  35148. },
  35149. 32: {
  35150. Fname: __ccgo_ts + 4864,
  35151. Fobject: __ccgo_ts + 6352,
  35152. },
  35153. 33: {
  35154. Fname: __ccgo_ts + 6622,
  35155. Fobject: __ccgo_ts + 6352,
  35156. Fvalue: int32(m_FC_RGBA_RGB),
  35157. },
  35158. 34: {
  35159. Fname: __ccgo_ts + 6626,
  35160. Fobject: __ccgo_ts + 6352,
  35161. Fvalue: int32(m_FC_RGBA_BGR),
  35162. },
  35163. 35: {
  35164. Fname: __ccgo_ts + 6630,
  35165. Fobject: __ccgo_ts + 6352,
  35166. Fvalue: int32(m_FC_RGBA_VRGB),
  35167. },
  35168. 36: {
  35169. Fname: __ccgo_ts + 6635,
  35170. Fobject: __ccgo_ts + 6352,
  35171. Fvalue: int32(m_FC_RGBA_VBGR),
  35172. },
  35173. 37: {
  35174. Fname: __ccgo_ts + 2502,
  35175. Fobject: __ccgo_ts + 6352,
  35176. Fvalue: int32(m_FC_RGBA_NONE),
  35177. },
  35178. 38: {
  35179. Fname: __ccgo_ts + 6640,
  35180. Fobject: __ccgo_ts + 6253,
  35181. },
  35182. 39: {
  35183. Fname: __ccgo_ts + 6649,
  35184. Fobject: __ccgo_ts + 6253,
  35185. Fvalue: int32(m_FC_HINT_SLIGHT),
  35186. },
  35187. 40: {
  35188. Fname: __ccgo_ts + 6660,
  35189. Fobject: __ccgo_ts + 6253,
  35190. Fvalue: int32(m_FC_HINT_MEDIUM),
  35191. },
  35192. 41: {
  35193. Fname: __ccgo_ts + 6671,
  35194. Fobject: __ccgo_ts + 6253,
  35195. Fvalue: int32(m_FC_HINT_FULL),
  35196. },
  35197. 42: {
  35198. Fname: __ccgo_ts + 6243,
  35199. Fobject: __ccgo_ts + 6243,
  35200. Fvalue: int32(m_FcTrue),
  35201. },
  35202. 43: {
  35203. Fname: __ccgo_ts + 6263,
  35204. Fobject: __ccgo_ts + 6263,
  35205. Fvalue: int32(m_FcTrue),
  35206. },
  35207. 44: {
  35208. Fname: __ccgo_ts + 6271,
  35209. Fobject: __ccgo_ts + 6271,
  35210. Fvalue: int32(m_FcTrue),
  35211. },
  35212. 45: {
  35213. Fname: __ccgo_ts + 6286,
  35214. Fobject: __ccgo_ts + 6286,
  35215. Fvalue: int32(m_FcTrue),
  35216. },
  35217. 46: {
  35218. Fname: __ccgo_ts + 6295,
  35219. Fobject: __ccgo_ts + 6295,
  35220. Fvalue: int32(m_FcTrue),
  35221. },
  35222. 47: {
  35223. Fname: __ccgo_ts + 6331,
  35224. Fobject: __ccgo_ts + 6331,
  35225. Fvalue: int32(m_FcTrue),
  35226. },
  35227. 48: {
  35228. Fname: __ccgo_ts + 6339,
  35229. Fobject: __ccgo_ts + 6339,
  35230. Fvalue: int32(m_FcTrue),
  35231. },
  35232. 49: {
  35233. Fname: __ccgo_ts + 6363,
  35234. Fobject: __ccgo_ts + 6363,
  35235. Fvalue: int32(m_FcTrue),
  35236. },
  35237. 50: {
  35238. Fname: __ccgo_ts + 6434,
  35239. Fobject: __ccgo_ts + 6434,
  35240. Fvalue: int32(m_FcTrue),
  35241. },
  35242. 51: {
  35243. Fname: __ccgo_ts + 6443,
  35244. Fobject: __ccgo_ts + 6443,
  35245. Fvalue: int32(m_FcTrue),
  35246. },
  35247. 52: {
  35248. Fname: __ccgo_ts + 6458,
  35249. Fobject: __ccgo_ts + 6458,
  35250. Fvalue: int32(m_FcTrue),
  35251. },
  35252. 53: {
  35253. Fname: __ccgo_ts + 6680,
  35254. Fobject: __ccgo_ts + 6469,
  35255. },
  35256. 54: {
  35257. Fname: __ccgo_ts + 6688,
  35258. Fobject: __ccgo_ts + 6469,
  35259. Fvalue: int32(m_FC_LCD_DEFAULT),
  35260. },
  35261. 55: {
  35262. Fname: __ccgo_ts + 6699,
  35263. Fobject: __ccgo_ts + 6469,
  35264. Fvalue: int32(m_FC_LCD_LIGHT),
  35265. },
  35266. 56: {
  35267. Fname: __ccgo_ts + 6708,
  35268. Fobject: __ccgo_ts + 6469,
  35269. Fvalue: int32(m_FC_LCD_LEGACY),
  35270. },
  35271. }
  35272. func XIA__FcNameRegisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  35273. /* Deprecated. */
  35274. return m_FcFalse
  35275. }
  35276. var XFcNameRegisterConstants = XIA__FcNameRegisterConstants
  35277. func XIA__FcNameUnregisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  35278. /* Deprecated. */
  35279. return m_FcFalse
  35280. }
  35281. var XFcNameUnregisterConstants = XIA__FcNameUnregisterConstants
  35282. func XIA__FcNameGetConstant(tls *libc.TLS, string1 uintptr) (r uintptr) {
  35283. var i uint32
  35284. _ = i
  35285. i = uint32(0)
  35286. for {
  35287. if !(i < libc.Uint32FromInt64(684)/libc.Uint32FromInt64(12)) {
  35288. break
  35289. }
  35290. if !(XIA__FcStrCmpIgnoreCase(tls, string1, __FcBaseConstants[i].Fname) != 0) {
  35291. return uintptr(unsafe.Pointer(&__FcBaseConstants)) + uintptr(i)*12
  35292. }
  35293. goto _1
  35294. _1:
  35295. ;
  35296. i++
  35297. }
  35298. return uintptr(0)
  35299. }
  35300. var XFcNameGetConstant = XIA__FcNameGetConstant
  35301. func XIA__FcNameConstant(tls *libc.TLS, string1 uintptr, result uintptr) (r TFcBool) {
  35302. var c, v1 uintptr
  35303. _, _ = c, v1
  35304. v1 = XIA__FcNameGetConstant(tls, string1)
  35305. c = v1
  35306. if v1 != 0 {
  35307. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  35308. return int32(m_FcTrue)
  35309. }
  35310. return m_FcFalse
  35311. }
  35312. var XFcNameConstant = XIA__FcNameConstant
  35313. func XFcNameConstantWithObjectCheck(tls *libc.TLS, string1 uintptr, object uintptr, result uintptr) (r TFcBool) {
  35314. bp := tls.Alloc(32)
  35315. defer tls.Free(32)
  35316. var c, v1 uintptr
  35317. _, _ = c, v1
  35318. v1 = XIA__FcNameGetConstant(tls, string1)
  35319. c = v1
  35320. if v1 != 0 {
  35321. if libc.Xstrcmp(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject, object) != 0 {
  35322. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6718, libc.VaList(bp+8, string1, object, (*TFcConstant)(unsafe.Pointer(c)).Fobject))
  35323. return m_FcFalse
  35324. }
  35325. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  35326. return int32(m_FcTrue)
  35327. }
  35328. return m_FcFalse
  35329. }
  35330. func XFcNameBool(tls *libc.TLS, v uintptr, result uintptr) (r TFcBool) {
  35331. var c0, c1 int8
  35332. var v1, v2 int32
  35333. _, _, _, _ = c0, c1, v1, v2
  35334. c0 = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v)))
  35335. if int32(0101) <= int32(c0) && int32(c0) <= int32(0132) {
  35336. v1 = int32(c0) - int32(0101) + int32(0141)
  35337. } else {
  35338. v1 = int32(c0)
  35339. }
  35340. c0 = int8(v1)
  35341. if int32(c0) == int32('t') || int32(c0) == int32('y') || int32(c0) == int32('1') {
  35342. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  35343. return int32(m_FcTrue)
  35344. }
  35345. if int32(c0) == int32('f') || int32(c0) == int32('n') || int32(c0) == int32('0') {
  35346. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  35347. return int32(m_FcTrue)
  35348. }
  35349. if int32(c0) == int32('d') || int32(c0) == int32('x') || int32(c0) == int32('2') {
  35350. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  35351. return int32(m_FcTrue)
  35352. }
  35353. if int32(c0) == int32('o') {
  35354. c1 = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v + 1)))
  35355. if int32(0101) <= int32(c1) && int32(c1) <= int32(0132) {
  35356. v2 = int32(c1) - int32(0101) + int32(0141)
  35357. } else {
  35358. v2 = int32(c1)
  35359. }
  35360. c1 = int8(v2)
  35361. if int32(c1) == int32('n') {
  35362. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  35363. return int32(m_FcTrue)
  35364. }
  35365. if int32(c1) == int32('f') {
  35366. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  35367. return int32(m_FcTrue)
  35368. }
  35369. if int32(c1) == int32('r') {
  35370. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  35371. return int32(m_FcTrue)
  35372. }
  35373. }
  35374. return m_FcFalse
  35375. }
  35376. func _FcNameConvert(tls *libc.TLS, type1 TFcType, object uintptr, string1 uintptr) (r TFcValue) {
  35377. bp := tls.Alloc(128)
  35378. defer tls.Free(128)
  35379. var ec, sc uintptr
  35380. var len1 Tsize_t
  35381. var v11, v12 float64
  35382. var _ /* b at bp+48 */ float64
  35383. var _ /* e at bp+56 */ float64
  35384. var _ /* ei at bp+72 */ int32
  35385. var _ /* m at bp+12 */ TFcMatrix
  35386. var _ /* p at bp+64 */ uintptr
  35387. var _ /* si at bp+68 */ int32
  35388. var _ /* v at bp+0 */ TFcValue
  35389. _, _, _, _, _ = ec, len1, sc, v11, v12
  35390. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = type1
  35391. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35392. case int32(_FcTypeInteger):
  35393. goto _1
  35394. case int32(_FcTypeString):
  35395. goto _2
  35396. case int32(_FcTypeBool):
  35397. goto _3
  35398. case int32(_FcTypeDouble):
  35399. goto _4
  35400. case int32(_FcTypeMatrix):
  35401. goto _5
  35402. case int32(_FcTypeCharSet):
  35403. goto _6
  35404. case int32(_FcTypeLangSet):
  35405. goto _7
  35406. case int32(_FcTypeRange):
  35407. goto _8
  35408. default:
  35409. goto _9
  35410. }
  35411. goto _10
  35412. _1:
  35413. ;
  35414. if !(XFcNameConstantWithObjectCheck(tls, string1, object, bp+4) != 0) {
  35415. *(*int32)(unsafe.Pointer(bp + 4)) = libc.Xatoi(tls, string1)
  35416. }
  35417. goto _10
  35418. _2:
  35419. ;
  35420. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.Xstrdup(tls, string1)
  35421. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  35422. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35423. }
  35424. goto _10
  35425. _3:
  35426. ;
  35427. if !(XFcNameBool(tls, string1, bp+4) != 0) {
  35428. *(*TFcBool)(unsafe.Pointer(bp + 4)) = m_FcFalse
  35429. }
  35430. goto _10
  35431. _4:
  35432. ;
  35433. *(*float64)(unsafe.Pointer(bp + 4)) = libc.Xstrtod(tls, string1, uintptr(0))
  35434. goto _10
  35435. _5:
  35436. ;
  35437. v11 = libc.Float64FromInt32(1)
  35438. (*TFcMatrix)(unsafe.Pointer(bp + 12)).Fyy = v11
  35439. (*TFcMatrix)(unsafe.Pointer(bp + 12)).Fxx = v11
  35440. v12 = libc.Float64FromInt32(0)
  35441. (*TFcMatrix)(unsafe.Pointer(bp + 12)).Fyx = v12
  35442. (*TFcMatrix)(unsafe.Pointer(bp + 12)).Fxy = v12
  35443. libc.Xsscanf(tls, string1, __ccgo_ts+6804, libc.VaList(bp+88, bp+12, bp+12+8, bp+12+16, bp+12+24))
  35444. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcMatrixCopy(tls, bp+12)
  35445. goto _10
  35446. _6:
  35447. ;
  35448. *(*uintptr)(unsafe.Pointer(bp + 4)) = XFcNameParseCharSet(tls, string1)
  35449. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  35450. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35451. }
  35452. goto _10
  35453. _7:
  35454. ;
  35455. *(*uintptr)(unsafe.Pointer(bp + 4)) = XFcNameParseLangSet(tls, string1)
  35456. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  35457. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35458. }
  35459. goto _10
  35460. _8:
  35461. ;
  35462. if libc.Xsscanf(tls, string1, __ccgo_ts+6820, libc.VaList(bp+88, bp+48, bp+56)) != int32(2) {
  35463. len1 = libc.Xstrlen(tls, string1)
  35464. sc = libc.Xmalloc(tls, len1+uint32(1))
  35465. ec = libc.Xmalloc(tls, len1+uint32(1))
  35466. if !(sc != 0 && ec != 0 && libc.Xsscanf(tls, string1, __ccgo_ts+6830, libc.VaList(bp+88, sc, ec)) == int32(2)) {
  35467. goto _13
  35468. }
  35469. if XFcNameConstantWithObjectCheck(tls, sc, object, bp+68) != 0 && XFcNameConstantWithObjectCheck(tls, ec, object, bp+72) != 0 {
  35470. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcRangeCreateDouble(tls, float64(*(*int32)(unsafe.Pointer(bp + 68))), float64(*(*int32)(unsafe.Pointer(bp + 72))))
  35471. } else {
  35472. goto bail1
  35473. }
  35474. goto _14
  35475. _13:
  35476. ;
  35477. goto bail1
  35478. bail1:
  35479. ;
  35480. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  35481. if XFcNameConstantWithObjectCheck(tls, string1, object, bp+68) != 0 {
  35482. *(*float64)(unsafe.Pointer(bp + 4)) = float64(*(*int32)(unsafe.Pointer(bp + 68)))
  35483. } else {
  35484. *(*float64)(unsafe.Pointer(bp + 4)) = libc.Xstrtod(tls, string1, bp+64)
  35485. if *(*uintptr)(unsafe.Pointer(bp + 64)) != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64))))) != 0 {
  35486. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35487. }
  35488. }
  35489. _14:
  35490. ;
  35491. if sc != 0 {
  35492. libc.Xfree(tls, sc)
  35493. }
  35494. if ec != 0 {
  35495. libc.Xfree(tls, ec)
  35496. }
  35497. } else {
  35498. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcRangeCreateDouble(tls, *(*float64)(unsafe.Pointer(bp + 48)), *(*float64)(unsafe.Pointer(bp + 56)))
  35499. }
  35500. goto _10
  35501. _9:
  35502. ;
  35503. goto _10
  35504. _10:
  35505. ;
  35506. return *(*TFcValue)(unsafe.Pointer(bp))
  35507. }
  35508. func _FcNameFindNext(tls *libc.TLS, cur uintptr, delim uintptr, save uintptr, last uintptr) (r uintptr) {
  35509. var c, v1, v5, v6 TFcChar8
  35510. var v2, v3 int32
  35511. var v7 uintptr
  35512. _, _, _, _, _, _, _ = c, v1, v2, v3, v5, v6, v7
  35513. for {
  35514. v1 = *(*TFcChar8)(unsafe.Pointer(cur))
  35515. c = v1
  35516. if !(v1 != 0) {
  35517. break
  35518. }
  35519. v2 = libc.Int32FromUint8(c)
  35520. v3 = libc.BoolInt32(v2 == int32(' ') || libc.Uint32FromInt32(v2)-uint32('\t') < uint32(5))
  35521. goto _4
  35522. _4:
  35523. if !(v3 != 0) {
  35524. break
  35525. }
  35526. cur++
  35527. }
  35528. for {
  35529. v5 = *(*TFcChar8)(unsafe.Pointer(cur))
  35530. c = v5
  35531. if !(v5 != 0) {
  35532. break
  35533. }
  35534. if libc.Int32FromUint8(c) == int32('\\') {
  35535. cur++
  35536. v6 = *(*TFcChar8)(unsafe.Pointer(cur))
  35537. c = v6
  35538. if !(v6 != 0) {
  35539. break
  35540. }
  35541. } else {
  35542. if libc.Xstrchr(tls, delim, libc.Int32FromUint8(c)) != 0 {
  35543. break
  35544. }
  35545. }
  35546. cur++
  35547. v7 = save
  35548. save++
  35549. *(*TFcChar8)(unsafe.Pointer(v7)) = c
  35550. }
  35551. *(*TFcChar8)(unsafe.Pointer(save)) = uint8(0)
  35552. *(*TFcChar8)(unsafe.Pointer(last)) = *(*TFcChar8)(unsafe.Pointer(cur))
  35553. if *(*TFcChar8)(unsafe.Pointer(cur)) != 0 {
  35554. cur++
  35555. }
  35556. return cur
  35557. }
  35558. func XIA__FcNameParse(tls *libc.TLS, name uintptr) (r uintptr) {
  35559. bp := tls.Alloc(16)
  35560. defer tls.Free(16)
  35561. var c, pat, save, t, v4 uintptr
  35562. var d float64
  35563. var v TFcValue
  35564. var _ /* delim at bp+4 */ TFcChar8
  35565. var _ /* e at bp+0 */ uintptr
  35566. _, _, _, _, _, _, _ = c, d, pat, save, t, v, v4
  35567. /* freed below */
  35568. save = libc.Xmalloc(tls, libc.Xstrlen(tls, name)+uint32(1))
  35569. if !(save != 0) {
  35570. goto bail0
  35571. }
  35572. pat = XIA__FcPatternCreate(tls)
  35573. if !(pat != 0) {
  35574. goto bail1
  35575. }
  35576. for {
  35577. name = _FcNameFindNext(tls, name, __ccgo_ts+6841, save, bp+4)
  35578. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  35579. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), save) != 0) {
  35580. goto bail2
  35581. }
  35582. }
  35583. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) != int32(',') {
  35584. break
  35585. }
  35586. goto _1
  35587. _1:
  35588. }
  35589. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) == int32('-') {
  35590. for {
  35591. name = _FcNameFindNext(tls, name, __ccgo_ts+6841, save, bp+4)
  35592. d = libc.Xstrtod(tls, save, bp)
  35593. if *(*uintptr)(unsafe.Pointer(bp)) != save {
  35594. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), d) != 0) {
  35595. goto bail2
  35596. }
  35597. }
  35598. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) != int32(',') {
  35599. break
  35600. }
  35601. goto _2
  35602. _2:
  35603. }
  35604. }
  35605. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) == int32(':') {
  35606. name = _FcNameFindNext(tls, name, __ccgo_ts+6845, save, bp+4)
  35607. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  35608. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) == int32('=') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) == int32('_') {
  35609. t = XIA__FcNameGetObjectType(tls, save)
  35610. for {
  35611. name = _FcNameFindNext(tls, name, __ccgo_ts+6849, save, bp+4)
  35612. if t != 0 {
  35613. v = _FcNameConvert(tls, (*TFcObjectType)(unsafe.Pointer(t)).Ftype1, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, save)
  35614. if !(XIA__FcPatternAdd(tls, pat, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, v, int32(m_FcTrue)) != 0) {
  35615. XIA__FcValueDestroy(tls, v)
  35616. goto bail2
  35617. }
  35618. XIA__FcValueDestroy(tls, v)
  35619. }
  35620. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 4))) != int32(',') {
  35621. break
  35622. }
  35623. goto _3
  35624. _3:
  35625. }
  35626. } else {
  35627. v4 = XIA__FcNameGetConstant(tls, save)
  35628. c = v4
  35629. if v4 != 0 {
  35630. t = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  35631. if t == libc.UintptrFromInt32(0) {
  35632. goto bail2
  35633. }
  35634. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  35635. case int32(_FcTypeInteger):
  35636. fallthrough
  35637. case int32(_FcTypeDouble):
  35638. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35639. goto bail2
  35640. }
  35641. case int32(_FcTypeBool):
  35642. if !(XIA__FcPatternAddBool(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35643. goto bail2
  35644. }
  35645. case int32(_FcTypeRange):
  35646. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35647. goto bail2
  35648. }
  35649. default:
  35650. break
  35651. }
  35652. }
  35653. }
  35654. }
  35655. }
  35656. libc.Xfree(tls, save)
  35657. return pat
  35658. goto bail2
  35659. bail2:
  35660. ;
  35661. XIA__FcPatternDestroy(tls, pat)
  35662. goto bail1
  35663. bail1:
  35664. ;
  35665. libc.Xfree(tls, save)
  35666. goto bail0
  35667. bail0:
  35668. ;
  35669. return uintptr(0)
  35670. return r
  35671. }
  35672. var XFcNameParse = XIA__FcNameParse
  35673. func _FcNameUnparseString(tls *libc.TLS, buf uintptr, string1 uintptr, escape uintptr) (r TFcBool) {
  35674. var c, v1 TFcChar8
  35675. var v2 uintptr
  35676. _, _, _ = c, v1, v2
  35677. for {
  35678. v2 = string1
  35679. string1++
  35680. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  35681. c = v1
  35682. if !(v1 != 0) {
  35683. break
  35684. }
  35685. if escape != 0 && libc.Xstrchr(tls, escape, int32(libc.Int8FromUint8(c))) != 0 {
  35686. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(escape))) != 0) {
  35687. return m_FcFalse
  35688. }
  35689. }
  35690. if !(XFcStrBufChar(tls, buf, c) != 0) {
  35691. return m_FcFalse
  35692. }
  35693. }
  35694. return int32(m_FcTrue)
  35695. }
  35696. func XFcNameUnparseValue(tls *libc.TLS, buf uintptr, v0 uintptr, escape uintptr) (r TFcBool) {
  35697. bp := tls.Alloc(1088)
  35698. defer tls.Free(1088)
  35699. var v1, v2 uintptr
  35700. var _ /* temp at bp+0 */ [1024]TFcChar8
  35701. var _ /* v at bp+1024 */ TFcValue
  35702. _, _ = v1, v2
  35703. *(*TFcValue)(unsafe.Pointer(bp + 1024)) = TFcValue{}
  35704. *(*T_FcValue)(unsafe.Pointer(bp + 1024)) = XFcValueCanonicalize(tls, v0)
  35705. switch (*(*TFcValue)(unsafe.Pointer(bp + 1024))).Ftype1 {
  35706. case int32(_FcTypeUnknown):
  35707. fallthrough
  35708. case int32(_FcTypeVoid):
  35709. return int32(m_FcTrue)
  35710. case int32(_FcTypeInteger):
  35711. libc.Xsprintf(tls, bp, __ccgo_ts+2507, libc.VaList(bp+1048, *(*int32)(unsafe.Pointer(bp + 1024 + 4))))
  35712. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35713. case int32(_FcTypeDouble):
  35714. libc.Xsprintf(tls, bp, __ccgo_ts+2510, libc.VaList(bp+1048, *(*float64)(unsafe.Pointer(bp + 1024 + 4))))
  35715. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35716. case int32(_FcTypeString):
  35717. return _FcNameUnparseString(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 4)), escape)
  35718. case int32(_FcTypeBool):
  35719. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 4)) == int32(m_FcTrue) {
  35720. v1 = __ccgo_ts + 1941
  35721. } else {
  35722. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 4)) == m_FcFalse {
  35723. v2 = __ccgo_ts + 1946
  35724. } else {
  35725. v2 = __ccgo_ts + 1952
  35726. }
  35727. v1 = v2
  35728. }
  35729. return _FcNameUnparseString(tls, buf, v1, uintptr(0))
  35730. case int32(_FcTypeMatrix):
  35731. libc.Xsprintf(tls, bp, __ccgo_ts+6852, libc.VaList(bp+1048, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 4)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 4)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 4)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 4)))).Fyy))
  35732. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35733. case int32(_FcTypeCharSet):
  35734. return XFcNameUnparseCharSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 4)))
  35735. case int32(_FcTypeLangSet):
  35736. return XFcNameUnparseLangSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 4)))
  35737. case int32(_FcTypeFTFace):
  35738. return int32(m_FcTrue)
  35739. case int32(_FcTypeRange):
  35740. libc.Xsprintf(tls, bp, __ccgo_ts+1981, libc.VaList(bp+1048, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 4)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 4)))).Fend))
  35741. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35742. }
  35743. return m_FcFalse
  35744. }
  35745. func XFcNameUnparseValueList(tls *libc.TLS, buf uintptr, v TFcValueListPtr, escape uintptr) (r TFcBool) {
  35746. var v1 TFcValueListPtr
  35747. var v2 uintptr
  35748. _, _ = v1, v2
  35749. for v != 0 {
  35750. if !(XFcNameUnparseValue(tls, buf, v+4, escape) != 0) {
  35751. return m_FcFalse
  35752. }
  35753. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  35754. v2 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  35755. } else {
  35756. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  35757. }
  35758. v1 = v2
  35759. v = v1
  35760. if v1 != libc.UintptrFromInt32(0) {
  35761. if !(_FcNameUnparseString(tls, buf, __ccgo_ts+6864, uintptr(0)) != 0) {
  35762. return m_FcFalse
  35763. }
  35764. }
  35765. }
  35766. return int32(m_FcTrue)
  35767. }
  35768. func XIA__FcNameUnparse(tls *libc.TLS, pat uintptr) (r uintptr) {
  35769. return XFcNameUnparseEscaped(tls, pat, int32(m_FcTrue))
  35770. }
  35771. var XFcNameUnparse = XIA__FcNameUnparse
  35772. func XFcNameUnparseEscaped(tls *libc.TLS, pat uintptr, escape TFcBool) (r uintptr) {
  35773. bp := tls.Alloc(8624)
  35774. defer tls.Free(8624)
  35775. var e, o, p, v1, v2, v3, v4, v6, v7, v8 uintptr
  35776. var i int32
  35777. var id TFcObject
  35778. var _ /* buf at bp+0 */ TFcStrBuf
  35779. var _ /* buf2 at bp+84 */ TFcStrBuf
  35780. var _ /* buf2_static at bp+8360 */ [256]TFcChar8
  35781. var _ /* buf_static at bp+168 */ [8192]TFcChar8
  35782. _, _, _, _, _, _, _, _, _, _, _, _ = e, i, id, o, p, v1, v2, v3, v4, v6, v7, v8
  35783. XFcStrBufInit(tls, bp, bp+168, int32(8192))
  35784. XFcStrBufInit(tls, bp+84, bp+8360, int32(256))
  35785. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  35786. if e != 0 {
  35787. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  35788. v1 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  35789. } else {
  35790. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35791. }
  35792. if escape != 0 {
  35793. v2 = __ccgo_ts + 6866
  35794. } else {
  35795. v2 = uintptr(0)
  35796. }
  35797. if !(XFcNameUnparseValueList(tls, bp, v1, v2) != 0) {
  35798. goto bail0
  35799. }
  35800. }
  35801. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_SIZE_OBJECT))
  35802. if e != 0 {
  35803. if !(_FcNameUnparseString(tls, bp+84, __ccgo_ts+6871, uintptr(0)) != 0) {
  35804. goto bail0
  35805. }
  35806. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  35807. v3 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  35808. } else {
  35809. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35810. }
  35811. if escape != 0 {
  35812. v4 = __ccgo_ts + 6866
  35813. } else {
  35814. v4 = uintptr(0)
  35815. }
  35816. if !(XFcNameUnparseValueList(tls, bp+84, v3, v4) != 0) {
  35817. goto bail0
  35818. }
  35819. p = XFcStrBufDoneStatic(tls, bp+84)
  35820. XFcStrBufDestroy(tls, bp+84)
  35821. if libc.Xstrlen(tls, p) > uint32(1) {
  35822. if !(XFcStrBufString(tls, bp, p) != 0) {
  35823. goto bail0
  35824. }
  35825. }
  35826. }
  35827. i = 0
  35828. for {
  35829. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(416)/libc.Uint32FromInt64(8))) {
  35830. break
  35831. }
  35832. id = i + int32(1)
  35833. o = uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(i)*8
  35834. 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) {
  35835. goto _5
  35836. }
  35837. e = XFcPatternObjectFindElt(tls, pat, id)
  35838. if e != 0 {
  35839. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6873, uintptr(0)) != 0) {
  35840. goto bail0
  35841. }
  35842. if escape != 0 {
  35843. v6 = __ccgo_ts + 6875
  35844. } else {
  35845. v6 = uintptr(0)
  35846. }
  35847. if !(_FcNameUnparseString(tls, bp, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, v6) != 0) {
  35848. goto bail0
  35849. }
  35850. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6881, uintptr(0)) != 0) {
  35851. goto bail0
  35852. }
  35853. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  35854. v7 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  35855. } else {
  35856. v7 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35857. }
  35858. if escape != 0 {
  35859. v8 = __ccgo_ts + 6875
  35860. } else {
  35861. v8 = uintptr(0)
  35862. }
  35863. if !(XFcNameUnparseValueList(tls, bp, v7, v8) != 0) {
  35864. goto bail0
  35865. }
  35866. }
  35867. goto _5
  35868. _5:
  35869. ;
  35870. i++
  35871. }
  35872. return XFcStrBufDone(tls, bp)
  35873. goto bail0
  35874. bail0:
  35875. ;
  35876. XFcStrBufDestroy(tls, bp)
  35877. return uintptr(0)
  35878. }
  35879. /* ANSI-C code produced by gperf version 3.1 */
  35880. /* Command-line: gperf --pic -m 100 fcobjshash.gperf */
  35881. /* Computed positions: -k'3,5' */
  35882. type TFcObjectTypeInfo = struct {
  35883. Fname int32
  35884. Fid int32
  35885. }
  35886. /* maximum key range = 59, duplicates = 0 */
  35887. func _FcObjectTypeHash(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uint32) {
  35888. var hval uint32
  35889. _ = hval
  35890. hval = len1
  35891. switch hval {
  35892. default:
  35893. hval += uint32(_asso_values[libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(str + 4)))])
  35894. /*FALLTHROUGH*/
  35895. fallthrough
  35896. case uint32(4):
  35897. fallthrough
  35898. case uint32(3):
  35899. hval += uint32(_asso_values[libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(str + 2)))])
  35900. break
  35901. }
  35902. return hval
  35903. }
  35904. var _asso_values = [256]uint8{
  35905. 0: uint8(66),
  35906. 1: uint8(66),
  35907. 2: uint8(66),
  35908. 3: uint8(66),
  35909. 4: uint8(66),
  35910. 5: uint8(66),
  35911. 6: uint8(66),
  35912. 7: uint8(66),
  35913. 8: uint8(66),
  35914. 9: uint8(66),
  35915. 10: uint8(66),
  35916. 11: uint8(66),
  35917. 12: uint8(66),
  35918. 13: uint8(66),
  35919. 14: uint8(66),
  35920. 15: uint8(66),
  35921. 16: uint8(66),
  35922. 17: uint8(66),
  35923. 18: uint8(66),
  35924. 19: uint8(66),
  35925. 20: uint8(66),
  35926. 21: uint8(66),
  35927. 22: uint8(66),
  35928. 23: uint8(66),
  35929. 24: uint8(66),
  35930. 25: uint8(66),
  35931. 26: uint8(66),
  35932. 27: uint8(66),
  35933. 28: uint8(66),
  35934. 29: uint8(66),
  35935. 30: uint8(66),
  35936. 31: uint8(66),
  35937. 32: uint8(66),
  35938. 33: uint8(66),
  35939. 34: uint8(66),
  35940. 35: uint8(66),
  35941. 36: uint8(66),
  35942. 37: uint8(66),
  35943. 38: uint8(66),
  35944. 39: uint8(66),
  35945. 40: uint8(66),
  35946. 41: uint8(66),
  35947. 42: uint8(66),
  35948. 43: uint8(66),
  35949. 44: uint8(66),
  35950. 45: uint8(66),
  35951. 46: uint8(66),
  35952. 47: uint8(66),
  35953. 48: uint8(66),
  35954. 49: uint8(66),
  35955. 50: uint8(66),
  35956. 51: uint8(66),
  35957. 52: uint8(66),
  35958. 53: uint8(66),
  35959. 54: uint8(66),
  35960. 55: uint8(66),
  35961. 56: uint8(66),
  35962. 57: uint8(66),
  35963. 58: uint8(66),
  35964. 59: uint8(66),
  35965. 60: uint8(66),
  35966. 61: uint8(66),
  35967. 62: uint8(66),
  35968. 63: uint8(66),
  35969. 64: uint8(66),
  35970. 65: uint8(66),
  35971. 66: uint8(66),
  35972. 67: uint8(66),
  35973. 68: uint8(66),
  35974. 69: uint8(66),
  35975. 70: uint8(66),
  35976. 71: uint8(66),
  35977. 72: uint8(66),
  35978. 73: uint8(66),
  35979. 74: uint8(66),
  35980. 75: uint8(66),
  35981. 76: uint8(66),
  35982. 77: uint8(66),
  35983. 78: uint8(66),
  35984. 79: uint8(66),
  35985. 80: uint8(66),
  35986. 81: uint8(66),
  35987. 82: uint8(66),
  35988. 83: uint8(66),
  35989. 84: uint8(66),
  35990. 85: uint8(66),
  35991. 86: uint8(66),
  35992. 87: uint8(66),
  35993. 88: uint8(66),
  35994. 89: uint8(66),
  35995. 90: uint8(66),
  35996. 91: uint8(66),
  35997. 92: uint8(66),
  35998. 93: uint8(66),
  35999. 94: uint8(66),
  36000. 95: uint8(66),
  36001. 96: uint8(66),
  36002. 97: uint8(4),
  36003. 98: uint8(10),
  36004. 99: uint8(32),
  36005. 100: uint8(21),
  36006. 101: uint8(29),
  36007. 102: uint8(28),
  36008. 103: uint8(49),
  36009. 104: uint8(14),
  36010. 105: uint8(4),
  36011. 106: uint8(66),
  36012. 107: uint8(66),
  36013. 108: uint8(5),
  36014. 109: uint8(31),
  36015. 110: uint8(18),
  36016. 111: uint8(22),
  36017. 112: uint8(27),
  36018. 113: uint8(66),
  36019. 114: uint8(15),
  36020. 115: uint8(9),
  36021. 116: uint8(8),
  36022. 117: uint8(23),
  36023. 118: uint8(23),
  36024. 119: uint8(13),
  36025. 120: uint8(23),
  36026. 121: uint8(16),
  36027. 122: uint8(4),
  36028. 123: uint8(66),
  36029. 124: uint8(66),
  36030. 125: uint8(66),
  36031. 126: uint8(66),
  36032. 127: uint8(66),
  36033. 128: uint8(66),
  36034. 129: uint8(66),
  36035. 130: uint8(66),
  36036. 131: uint8(66),
  36037. 132: uint8(66),
  36038. 133: uint8(66),
  36039. 134: uint8(66),
  36040. 135: uint8(66),
  36041. 136: uint8(66),
  36042. 137: uint8(66),
  36043. 138: uint8(66),
  36044. 139: uint8(66),
  36045. 140: uint8(66),
  36046. 141: uint8(66),
  36047. 142: uint8(66),
  36048. 143: uint8(66),
  36049. 144: uint8(66),
  36050. 145: uint8(66),
  36051. 146: uint8(66),
  36052. 147: uint8(66),
  36053. 148: uint8(66),
  36054. 149: uint8(66),
  36055. 150: uint8(66),
  36056. 151: uint8(66),
  36057. 152: uint8(66),
  36058. 153: uint8(66),
  36059. 154: uint8(66),
  36060. 155: uint8(66),
  36061. 156: uint8(66),
  36062. 157: uint8(66),
  36063. 158: uint8(66),
  36064. 159: uint8(66),
  36065. 160: uint8(66),
  36066. 161: uint8(66),
  36067. 162: uint8(66),
  36068. 163: uint8(66),
  36069. 164: uint8(66),
  36070. 165: uint8(66),
  36071. 166: uint8(66),
  36072. 167: uint8(66),
  36073. 168: uint8(66),
  36074. 169: uint8(66),
  36075. 170: uint8(66),
  36076. 171: uint8(66),
  36077. 172: uint8(66),
  36078. 173: uint8(66),
  36079. 174: uint8(66),
  36080. 175: uint8(66),
  36081. 176: uint8(66),
  36082. 177: uint8(66),
  36083. 178: uint8(66),
  36084. 179: uint8(66),
  36085. 180: uint8(66),
  36086. 181: uint8(66),
  36087. 182: uint8(66),
  36088. 183: uint8(66),
  36089. 184: uint8(66),
  36090. 185: uint8(66),
  36091. 186: uint8(66),
  36092. 187: uint8(66),
  36093. 188: uint8(66),
  36094. 189: uint8(66),
  36095. 190: uint8(66),
  36096. 191: uint8(66),
  36097. 192: uint8(66),
  36098. 193: uint8(66),
  36099. 194: uint8(66),
  36100. 195: uint8(66),
  36101. 196: uint8(66),
  36102. 197: uint8(66),
  36103. 198: uint8(66),
  36104. 199: uint8(66),
  36105. 200: uint8(66),
  36106. 201: uint8(66),
  36107. 202: uint8(66),
  36108. 203: uint8(66),
  36109. 204: uint8(66),
  36110. 205: uint8(66),
  36111. 206: uint8(66),
  36112. 207: uint8(66),
  36113. 208: uint8(66),
  36114. 209: uint8(66),
  36115. 210: uint8(66),
  36116. 211: uint8(66),
  36117. 212: uint8(66),
  36118. 213: uint8(66),
  36119. 214: uint8(66),
  36120. 215: uint8(66),
  36121. 216: uint8(66),
  36122. 217: uint8(66),
  36123. 218: uint8(66),
  36124. 219: uint8(66),
  36125. 220: uint8(66),
  36126. 221: uint8(66),
  36127. 222: uint8(66),
  36128. 223: uint8(66),
  36129. 224: uint8(66),
  36130. 225: uint8(66),
  36131. 226: uint8(66),
  36132. 227: uint8(66),
  36133. 228: uint8(66),
  36134. 229: uint8(66),
  36135. 230: uint8(66),
  36136. 231: uint8(66),
  36137. 232: uint8(66),
  36138. 233: uint8(66),
  36139. 234: uint8(66),
  36140. 235: uint8(66),
  36141. 236: uint8(66),
  36142. 237: uint8(66),
  36143. 238: uint8(66),
  36144. 239: uint8(66),
  36145. 240: uint8(66),
  36146. 241: uint8(66),
  36147. 242: uint8(66),
  36148. 243: uint8(66),
  36149. 244: uint8(66),
  36150. 245: uint8(66),
  36151. 246: uint8(66),
  36152. 247: uint8(66),
  36153. 248: uint8(66),
  36154. 249: uint8(66),
  36155. 250: uint8(66),
  36156. 251: uint8(66),
  36157. 252: uint8(66),
  36158. 253: uint8(66),
  36159. 254: uint8(66),
  36160. 255: uint8(66),
  36161. }
  36162. type TFcObjectTypeNamePool_t = struct {
  36163. FFcObjectTypeNamePool_str7 [4]int8
  36164. FFcObjectTypeNamePool_str8 [5]int8
  36165. FFcObjectTypeNamePool_str9 [5]int8
  36166. FFcObjectTypeNamePool_str13 [5]int8
  36167. FFcObjectTypeNamePool_str14 [5]int8
  36168. FFcObjectTypeNamePool_str15 [8]int8
  36169. FFcObjectTypeNamePool_str16 [9]int8
  36170. FFcObjectTypeNamePool_str17 [6]int8
  36171. FFcObjectTypeNamePool_str18 [7]int8
  36172. FFcObjectTypeNamePool_str19 [8]int8
  36173. FFcObjectTypeNamePool_str20 [8]int8
  36174. FFcObjectTypeNamePool_str21 [10]int8
  36175. FFcObjectTypeNamePool_str22 [5]int8
  36176. FFcObjectTypeNamePool_str23 [9]int8
  36177. FFcObjectTypeNamePool_str24 [7]int8
  36178. FFcObjectTypeNamePool_str25 [6]int8
  36179. FFcObjectTypeNamePool_str26 [10]int8
  36180. FFcObjectTypeNamePool_str27 [9]int8
  36181. FFcObjectTypeNamePool_str28 [11]int8
  36182. FFcObjectTypeNamePool_str29 [8]int8
  36183. FFcObjectTypeNamePool_str30 [9]int8
  36184. FFcObjectTypeNamePool_str31 [9]int8
  36185. FFcObjectTypeNamePool_str32 [15]int8
  36186. FFcObjectTypeNamePool_str33 [15]int8
  36187. FFcObjectTypeNamePool_str34 [10]int8
  36188. FFcObjectTypeNamePool_str35 [13]int8
  36189. FFcObjectTypeNamePool_str36 [10]int8
  36190. FFcObjectTypeNamePool_str37 [10]int8
  36191. FFcObjectTypeNamePool_str38 [6]int8
  36192. FFcObjectTypeNamePool_str39 [14]int8
  36193. FFcObjectTypeNamePool_str40 [6]int8
  36194. FFcObjectTypeNamePool_str41 [6]int8
  36195. FFcObjectTypeNamePool_str42 [7]int8
  36196. FFcObjectTypeNamePool_str43 [12]int8
  36197. FFcObjectTypeNamePool_str44 [9]int8
  36198. FFcObjectTypeNamePool_str45 [15]int8
  36199. FFcObjectTypeNamePool_str46 [11]int8
  36200. FFcObjectTypeNamePool_str47 [11]int8
  36201. FFcObjectTypeNamePool_str48 [11]int8
  36202. FFcObjectTypeNamePool_str49 [6]int8
  36203. FFcObjectTypeNamePool_str50 [6]int8
  36204. FFcObjectTypeNamePool_str51 [8]int8
  36205. FFcObjectTypeNamePool_str52 [12]int8
  36206. FFcObjectTypeNamePool_str53 [9]int8
  36207. FFcObjectTypeNamePool_str54 [10]int8
  36208. FFcObjectTypeNamePool_str55 [15]int8
  36209. FFcObjectTypeNamePool_str56 [11]int8
  36210. FFcObjectTypeNamePool_str57 [11]int8
  36211. FFcObjectTypeNamePool_str58 [13]int8
  36212. FFcObjectTypeNamePool_str59 [7]int8
  36213. FFcObjectTypeNamePool_str60 [8]int8
  36214. FFcObjectTypeNamePool_str65 [7]int8
  36215. }
  36216. var _FcObjectTypeNamePool_contents = TFcObjectTypeNamePool_t{
  36217. FFcObjectTypeNamePool_str7: [4]int8{'d', 'p', 'i'},
  36218. FFcObjectTypeNamePool_str8: [5]int8{'s', 'i', 'z', 'e'},
  36219. FFcObjectTypeNamePool_str9: [5]int8{'f', 'i', 'l', 'e'},
  36220. FFcObjectTypeNamePool_str13: [5]int8{'h', 'a', 's', 'h'},
  36221. FFcObjectTypeNamePool_str14: [5]int8{'r', 'g', 'b', 'a'},
  36222. FFcObjectTypeNamePool_str15: [8]int8{'s', 'p', 'a', 'c', 'i', 'n', 'g'},
  36223. FFcObjectTypeNamePool_str16: [9]int8{'s', 'c', 'a', 'l', 'a', 'b', 'l', 'e'},
  36224. FFcObjectTypeNamePool_str17: [6]int8{'s', 'l', 'a', 'n', 't'},
  36225. FFcObjectTypeNamePool_str18: [7]int8{'m', 'a', 't', 'r', 'i', 'x'},
  36226. FFcObjectTypeNamePool_str19: [8]int8{'o', 'u', 't', 'l', 'i', 'n', 'e'},
  36227. FFcObjectTypeNamePool_str20: [8]int8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  36228. FFcObjectTypeNamePool_str21: [10]int8{'a', 'n', 't', 'i', 'a', 'l', 'i', 'a', 's'},
  36229. FFcObjectTypeNamePool_str22: [5]int8{'l', 'a', 'n', 'g'},
  36230. FFcObjectTypeNamePool_str23: [9]int8{'e', 'm', 'b', 'o', 'l', 'd', 'e', 'n'},
  36231. FFcObjectTypeNamePool_str24: [7]int8{'w', 'e', 'i', 'g', 'h', 't'},
  36232. FFcObjectTypeNamePool_str25: [6]int8{'c', 'o', 'l', 'o', 'r'},
  36233. FFcObjectTypeNamePool_str26: [10]int8{'c', 'h', 'a', 'r', 'w', 'i', 'd', 't', 'h'},
  36234. FFcObjectTypeNamePool_str27: [9]int8{'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e'},
  36235. FFcObjectTypeNamePool_str28: [11]int8{'c', 'h', 'a', 'r', 'h', 'e', 'i', 'g', 'h', 't'},
  36236. FFcObjectTypeNamePool_str29: [8]int8{'h', 'i', 'n', 't', 'i', 'n', 'g'},
  36237. FFcObjectTypeNamePool_str30: [9]int8{'a', 'u', 't', 'o', 'h', 'i', 'n', 't'},
  36238. FFcObjectTypeNamePool_str31: [9]int8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e'},
  36239. FFcObjectTypeNamePool_str32: [15]int8{'p', 'o', 's', 't', 's', 'c', 'r', 'i', 'p', 't', 'n', 'a', 'm', 'e'},
  36240. FFcObjectTypeNamePool_str33: [15]int8{'v', 'e', 'r', 't', 'i', 'c', 'a', 'l', 'l', 'a', 'y', 'o', 'u', 't'},
  36241. FFcObjectTypeNamePool_str34: [10]int8{'l', 'c', 'd', 'f', 'i', 'l', 't', 'e', 'r'},
  36242. FFcObjectTypeNamePool_str35: [13]int8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  36243. FFcObjectTypeNamePool_str36: [10]int8{'h', 'i', 'n', 't', 's', 't', 'y', 'l', 'e'},
  36244. FFcObjectTypeNamePool_str37: [10]int8{'p', 'i', 'x', 'e', 'l', 's', 'i', 'z', 'e'},
  36245. FFcObjectTypeNamePool_str38: [6]int8{'s', 'c', 'a', 'l', 'e'},
  36246. FFcObjectTypeNamePool_str39: [14]int8{'g', 'l', 'o', 'b', 'a', 'l', 'a', 'd', 'v', 'a', 'n', 'c', 'e'},
  36247. FFcObjectTypeNamePool_str40: [6]int8{'w', 'i', 'd', 't', 'h'},
  36248. FFcObjectTypeNamePool_str41: [6]int8{'o', 'r', 'd', 'e', 'r'},
  36249. FFcObjectTypeNamePool_str42: [7]int8{'f', 'a', 'm', 'i', 'l', 'y'},
  36250. FFcObjectTypeNamePool_str43: [12]int8{'f', 'o', 'n', 't', 'h', 'a', 's', 'h', 'i', 'n', 't'},
  36251. FFcObjectTypeNamePool_str44: [9]int8{'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  36252. FFcObjectTypeNamePool_str45: [15]int8{'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', 'b', 'i', 't', 'm', 'a', 'p'},
  36253. FFcObjectTypeNamePool_str46: [11]int8{'f', 'a', 'm', 'i', 'l', 'y', 'l', 'a', 'n', 'g'},
  36254. FFcObjectTypeNamePool_str47: [11]int8{'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y'},
  36255. FFcObjectTypeNamePool_str48: [11]int8{'r', 'a', 's', 't', 'e', 'r', 'i', 'z', 'e', 'r'},
  36256. FFcObjectTypeNamePool_str49: [6]int8{'i', 'n', 'd', 'e', 'x'},
  36257. FFcObjectTypeNamePool_str50: [6]int8{'s', 't', 'y', 'l', 'e'},
  36258. FFcObjectTypeNamePool_str51: [8]int8{'f', 'o', 'u', 'n', 'd', 'r', 'y'},
  36259. FFcObjectTypeNamePool_str52: [12]int8{'f', 'o', 'n', 't', 'v', 'e', 'r', 's', 'i', 'o', 'n'},
  36260. FFcObjectTypeNamePool_str53: [9]int8{'m', 'i', 'n', 's', 'p', 'a', 'c', 'e'},
  36261. FFcObjectTypeNamePool_str54: [10]int8{'s', 't', 'y', 'l', 'e', 'l', 'a', 'n', 'g'},
  36262. FFcObjectTypeNamePool_str55: [15]int8{'f', 'o', 'n', 't', 'v', 'a', 'r', 'i', 'a', 't', 'i', 'o', 'n', 's'},
  36263. FFcObjectTypeNamePool_str56: [11]int8{'f', 'o', 'n', 't', 'f', 'o', 'r', 'm', 'a', 't'},
  36264. FFcObjectTypeNamePool_str57: [11]int8{'d', 'e', 'c', 'o', 'r', 'a', 't', 'i', 'v', 'e'},
  36265. FFcObjectTypeNamePool_str58: [13]int8{'f', 'o', 'n', 't', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's'},
  36266. FFcObjectTypeNamePool_str59: [7]int8{'s', 'y', 'm', 'b', 'o', 'l'},
  36267. FFcObjectTypeNamePool_str60: [8]int8{'p', 'r', 'g', 'n', 'a', 'm', 'e'},
  36268. FFcObjectTypeNamePool_str65: [7]int8{'a', 's', 'p', 'e', 'c', 't'},
  36269. }
  36270. func _FcObjectTypeLookup(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uintptr) {
  36271. var key uint32
  36272. var o int32
  36273. var s uintptr
  36274. _, _, _ = key, o, s
  36275. if len1 <= libc.Uint32FromInt32(14) && len1 >= libc.Uint32FromInt32(3) {
  36276. key = _FcObjectTypeHash(tls, str, len1)
  36277. if key <= libc.Uint32FromInt32(65) {
  36278. o = _wordlist[key].Fname
  36279. if o >= 0 {
  36280. s = uintptr(o) + uintptr(unsafe.Pointer(&_FcObjectTypeNamePool_contents))
  36281. if int32(*(*int8)(unsafe.Pointer(str))) == int32(*(*int8)(unsafe.Pointer(s))) && !(libc.Xstrcmp(tls, str+uintptr(1), s+uintptr(1)) != 0) {
  36282. return uintptr(unsafe.Pointer(&_wordlist)) + uintptr(key)*8
  36283. }
  36284. }
  36285. }
  36286. }
  36287. return uintptr(0)
  36288. }
  36289. var _wordlist = [66]TFcObjectTypeInfo{
  36290. 0: {
  36291. Fname: -int32(1),
  36292. },
  36293. 1: {
  36294. Fname: -int32(1),
  36295. },
  36296. 2: {
  36297. Fname: -int32(1),
  36298. },
  36299. 3: {
  36300. Fname: -int32(1),
  36301. },
  36302. 4: {
  36303. Fname: -int32(1),
  36304. },
  36305. 5: {
  36306. Fname: -int32(1),
  36307. },
  36308. 6: {
  36309. Fname: -int32(1),
  36310. },
  36311. 7: {
  36312. Fid: int32(_FC_DPI_OBJECT),
  36313. },
  36314. 8: {
  36315. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 4)),
  36316. Fid: int32(_FC_SIZE_OBJECT),
  36317. },
  36318. 9: {
  36319. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 9)),
  36320. Fid: int32(_FC_FILE_OBJECT),
  36321. },
  36322. 10: {
  36323. Fname: -int32(1),
  36324. },
  36325. 11: {
  36326. Fname: -int32(1),
  36327. },
  36328. 12: {
  36329. Fname: -int32(1),
  36330. },
  36331. 13: {
  36332. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 14)),
  36333. Fid: int32(_FC_HASH_OBJECT),
  36334. },
  36335. 14: {
  36336. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 19)),
  36337. Fid: int32(_FC_RGBA_OBJECT),
  36338. },
  36339. 15: {
  36340. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 24)),
  36341. Fid: int32(_FC_SPACING_OBJECT),
  36342. },
  36343. 16: {
  36344. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 32)),
  36345. Fid: int32(_FC_SCALABLE_OBJECT),
  36346. },
  36347. 17: {
  36348. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 41)),
  36349. Fid: int32(_FC_SLANT_OBJECT),
  36350. },
  36351. 18: {
  36352. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 47)),
  36353. Fid: int32(_FC_MATRIX_OBJECT),
  36354. },
  36355. 19: {
  36356. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 54)),
  36357. Fid: int32(_FC_OUTLINE_OBJECT),
  36358. },
  36359. 20: {
  36360. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 62)),
  36361. Fid: int32(_FC_CHARSET_OBJECT),
  36362. },
  36363. 21: {
  36364. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 70)),
  36365. Fid: int32(_FC_ANTIALIAS_OBJECT),
  36366. },
  36367. 22: {
  36368. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 80)),
  36369. Fid: int32(_FC_LANG_OBJECT),
  36370. },
  36371. 23: {
  36372. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 85)),
  36373. Fid: int32(_FC_EMBOLDEN_OBJECT),
  36374. },
  36375. 24: {
  36376. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 94)),
  36377. Fid: int32(_FC_WEIGHT_OBJECT),
  36378. },
  36379. 25: {
  36380. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 101)),
  36381. Fid: int32(_FC_COLOR_OBJECT),
  36382. },
  36383. 26: {
  36384. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 107)),
  36385. Fid: int32(_FC_CHARWIDTH_OBJECT),
  36386. },
  36387. 27: {
  36388. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 117)),
  36389. Fid: int32(_FC_VARIABLE_OBJECT),
  36390. },
  36391. 28: {
  36392. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 126)),
  36393. Fid: int32(_FC_CHAR_HEIGHT_OBJECT),
  36394. },
  36395. 29: {
  36396. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 137)),
  36397. Fid: int32(_FC_HINTING_OBJECT),
  36398. },
  36399. 30: {
  36400. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 145)),
  36401. Fid: int32(_FC_AUTOHINT_OBJECT),
  36402. },
  36403. 31: {
  36404. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 154)),
  36405. Fid: int32(_FC_FULLNAME_OBJECT),
  36406. },
  36407. 32: {
  36408. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 163)),
  36409. Fid: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  36410. },
  36411. 33: {
  36412. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 178)),
  36413. Fid: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  36414. },
  36415. 34: {
  36416. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 193)),
  36417. Fid: int32(_FC_LCD_FILTER_OBJECT),
  36418. },
  36419. 35: {
  36420. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 203)),
  36421. Fid: int32(_FC_FULLNAMELANG_OBJECT),
  36422. },
  36423. 36: {
  36424. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 216)),
  36425. Fid: int32(_FC_HINT_STYLE_OBJECT),
  36426. },
  36427. 37: {
  36428. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 226)),
  36429. Fid: int32(_FC_PIXEL_SIZE_OBJECT),
  36430. },
  36431. 38: {
  36432. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 236)),
  36433. Fid: int32(_FC_SCALE_OBJECT),
  36434. },
  36435. 39: {
  36436. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 242)),
  36437. Fid: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  36438. },
  36439. 40: {
  36440. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 256)),
  36441. Fid: int32(_FC_WIDTH_OBJECT),
  36442. },
  36443. 41: {
  36444. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 262)),
  36445. Fid: int32(_FC_ORDER_OBJECT),
  36446. },
  36447. 42: {
  36448. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 268)),
  36449. Fid: int32(_FC_FAMILY_OBJECT),
  36450. },
  36451. 43: {
  36452. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 275)),
  36453. Fid: int32(_FC_FONT_HAS_HINT_OBJECT),
  36454. },
  36455. 44: {
  36456. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 287)),
  36457. Fid: int32(_FC_NAMELANG_OBJECT),
  36458. },
  36459. 45: {
  36460. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 296)),
  36461. Fid: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  36462. },
  36463. 46: {
  36464. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 311)),
  36465. Fid: int32(_FC_FAMILYLANG_OBJECT),
  36466. },
  36467. 47: {
  36468. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 322)),
  36469. Fid: int32(_FC_CAPABILITY_OBJECT),
  36470. },
  36471. 48: {
  36472. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 333)),
  36473. Fid: int32(_FC_RASTERIZER_OBJECT),
  36474. },
  36475. 49: {
  36476. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 344)),
  36477. Fid: int32(_FC_INDEX_OBJECT),
  36478. },
  36479. 50: {
  36480. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 350)),
  36481. Fid: int32(_FC_STYLE_OBJECT),
  36482. },
  36483. 51: {
  36484. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 356)),
  36485. Fid: int32(_FC_FOUNDRY_OBJECT),
  36486. },
  36487. 52: {
  36488. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 364)),
  36489. Fid: int32(_FC_FONTVERSION_OBJECT),
  36490. },
  36491. 53: {
  36492. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 376)),
  36493. Fid: int32(_FC_MINSPACE_OBJECT),
  36494. },
  36495. 54: {
  36496. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 385)),
  36497. Fid: int32(_FC_STYLELANG_OBJECT),
  36498. },
  36499. 55: {
  36500. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 395)),
  36501. Fid: int32(_FC_FONT_VARIATIONS_OBJECT),
  36502. },
  36503. 56: {
  36504. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 410)),
  36505. Fid: int32(_FC_FONTFORMAT_OBJECT),
  36506. },
  36507. 57: {
  36508. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 421)),
  36509. Fid: int32(_FC_DECORATIVE_OBJECT),
  36510. },
  36511. 58: {
  36512. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 432)),
  36513. Fid: int32(_FC_FONT_FEATURES_OBJECT),
  36514. },
  36515. 59: {
  36516. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 445)),
  36517. Fid: int32(_FC_SYMBOL_OBJECT),
  36518. },
  36519. 60: {
  36520. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 452)),
  36521. Fid: int32(_FC_PRGNAME_OBJECT),
  36522. },
  36523. 61: {
  36524. Fname: -int32(1),
  36525. },
  36526. 62: {
  36527. Fname: -int32(1),
  36528. },
  36529. 63: {
  36530. Fname: -int32(1),
  36531. },
  36532. 64: {
  36533. Fname: -int32(1),
  36534. },
  36535. 65: {
  36536. Fname: libc.Int32FromUint32(Tsize_t(libc.UintptrFromInt32(0) + 460)),
  36537. Fid: int32(_FC_ASPECT_OBJECT),
  36538. },
  36539. }
  36540. // C documentation
  36541. //
  36542. // /* The 1000 is to leave some room for future added internal objects, such
  36543. // * that caches from newer fontconfig can still be used with older fontconfig
  36544. // * without getting confused. */
  36545. var _next_id = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  36546. type TFcObjectOtherTypeInfo = struct {
  36547. Fnext uintptr
  36548. Fobject TFcObjectType
  36549. Fid TFcObject
  36550. }
  36551. func XFcObjectFini(tls *libc.TLS) {
  36552. var ot, ots uintptr
  36553. var v1 int32
  36554. _, _, _ = ot, ots, v1
  36555. goto retry
  36556. retry:
  36557. ;
  36558. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36559. if !(ots != 0) {
  36560. return
  36561. }
  36562. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  36563. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = libc.UintptrFromInt32(0)
  36564. v1 = libc.Int32FromInt32(m_FcTrue)
  36565. } else {
  36566. v1 = m_FcFalse
  36567. }
  36568. if !(v1 != 0) {
  36569. goto retry
  36570. }
  36571. for ots != 0 {
  36572. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fnext
  36573. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject != 0 {
  36574. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject)
  36575. }
  36576. libc.Xfree(tls, ots)
  36577. ots = ot
  36578. }
  36579. }
  36580. func __FcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr, id uintptr) (r uintptr) {
  36581. var ot, ots uintptr
  36582. var v2 int32
  36583. _, _, _ = ot, ots, v2
  36584. goto retry
  36585. retry:
  36586. ;
  36587. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36588. ot = ots
  36589. for {
  36590. if !(ot != 0) {
  36591. break
  36592. }
  36593. if 0 == libc.Xstrcmp(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject, str) {
  36594. break
  36595. }
  36596. goto _1
  36597. _1:
  36598. ;
  36599. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36600. }
  36601. if !(ot != 0) {
  36602. ot = libc.Xmalloc(tls, uint32(16))
  36603. if !(ot != 0) {
  36604. return libc.UintptrFromInt32(0)
  36605. }
  36606. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject = libc.Xstrdup(tls, str)
  36607. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Ftype1 = int32(_FcTypeUnknown)
  36608. _next_id += +libc.Int32FromInt32(1)
  36609. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid = _next_id - +libc.Int32FromInt32(1)
  36610. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid < int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1)+libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) {
  36611. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6883, 0)
  36612. libc.Xabort(tls)
  36613. }
  36614. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext = ots
  36615. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  36616. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = ot
  36617. v2 = libc.Int32FromInt32(m_FcTrue)
  36618. } else {
  36619. v2 = m_FcFalse
  36620. }
  36621. if !(v2 != 0) {
  36622. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject != 0 {
  36623. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject)
  36624. }
  36625. libc.Xfree(tls, ot)
  36626. goto retry
  36627. }
  36628. }
  36629. if id != 0 {
  36630. *(*TFcObject)(unsafe.Pointer(id)) = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid
  36631. }
  36632. return ot + 4
  36633. }
  36634. func XFcObjectLookupBuiltinIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  36635. var o uintptr
  36636. _ = o
  36637. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  36638. if o != 0 {
  36639. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  36640. }
  36641. return 0
  36642. }
  36643. func XFcObjectLookupIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  36644. bp := tls.Alloc(16)
  36645. defer tls.Free(16)
  36646. var o uintptr
  36647. var _ /* id at bp+0 */ TFcObject
  36648. _ = o
  36649. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  36650. if o != 0 {
  36651. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  36652. }
  36653. if __FcObjectLookupOtherTypeByName(tls, str, bp) != 0 {
  36654. return *(*TFcObject)(unsafe.Pointer(bp))
  36655. }
  36656. return 0
  36657. }
  36658. func XFcObjectLookupOtherNameById(tls *libc.TLS, id TFcObject) (r uintptr) {
  36659. var ot uintptr
  36660. _ = ot
  36661. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36662. for {
  36663. if !(ot != 0) {
  36664. break
  36665. }
  36666. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  36667. return (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject
  36668. }
  36669. goto _1
  36670. _1:
  36671. ;
  36672. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36673. }
  36674. return libc.UintptrFromInt32(0)
  36675. }
  36676. func XFcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr) (r uintptr) {
  36677. return __FcObjectLookupOtherTypeByName(tls, str, libc.UintptrFromInt32(0))
  36678. }
  36679. func XFcObjectLookupOtherTypeById(tls *libc.TLS, id TFcObject) (r uintptr) {
  36680. var ot uintptr
  36681. _ = ot
  36682. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36683. for {
  36684. if !(ot != 0) {
  36685. break
  36686. }
  36687. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  36688. return ot + 4
  36689. }
  36690. goto _1
  36691. _1:
  36692. ;
  36693. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36694. }
  36695. return libc.UintptrFromInt32(0)
  36696. }
  36697. /* Objects MT-safe for readonly access. */
  36698. func XIA__FcPatternCreate(tls *libc.TLS) (r uintptr) {
  36699. var p uintptr
  36700. _ = p
  36701. p = libc.Xmalloc(tls, uint32(16))
  36702. if !(p != 0) {
  36703. return uintptr(0)
  36704. }
  36705. libc.Xmemset(tls, p, 0, uint32(16))
  36706. (*TFcPattern)(unsafe.Pointer(p)).Fnum = 0
  36707. (*TFcPattern)(unsafe.Pointer(p)).Fsize = 0
  36708. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int32(libc.UintptrFromInt32(0)) - int32(p)
  36709. (*TFcRef)(unsafe.Pointer(p + 12)).Fcount = int32(1)
  36710. return p
  36711. }
  36712. var XFcPatternCreate = XIA__FcPatternCreate
  36713. func XIA__FcValueDestroy(tls *libc.TLS, _v TFcValue) {
  36714. bp := tls.Alloc(16)
  36715. defer tls.Free(16)
  36716. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  36717. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36718. case int32(_FcTypeString):
  36719. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36720. case int32(_FcTypeMatrix):
  36721. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36722. case int32(_FcTypeCharSet):
  36723. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36724. case int32(_FcTypeLangSet):
  36725. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36726. case int32(_FcTypeRange):
  36727. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36728. default:
  36729. break
  36730. }
  36731. }
  36732. var XFcValueDestroy = XIA__FcValueDestroy
  36733. func XFcValueCanonicalize(tls *libc.TLS, v uintptr) (r TFcValue) {
  36734. bp := tls.Alloc(16)
  36735. defer tls.Free(16)
  36736. var v1, v2, v3, v4 uintptr
  36737. var _ /* new at bp+0 */ TFcValue
  36738. _, _, _, _ = v1, v2, v3, v4
  36739. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  36740. case int32(_FcTypeString):
  36741. if int32((*TFcValue)(unsafe.Pointer(v)).Fu.Fs)&int32(1) != 0 {
  36742. v1 = uintptr(int32(v) + int32((*TFcValue)(unsafe.Pointer(v)).Fu.Fs) & ^libc.Int32FromInt32(1))
  36743. } else {
  36744. v1 = (*TFcValue)(unsafe.Pointer(v)).Fu.Fs
  36745. }
  36746. *(*uintptr)(unsafe.Pointer(bp + 4)) = v1
  36747. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  36748. case int32(_FcTypeCharSet):
  36749. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  36750. v2 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  36751. } else {
  36752. v2 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  36753. }
  36754. *(*uintptr)(unsafe.Pointer(bp + 4)) = v2
  36755. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  36756. case int32(_FcTypeLangSet):
  36757. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  36758. v3 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  36759. } else {
  36760. v3 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  36761. }
  36762. *(*uintptr)(unsafe.Pointer(bp + 4)) = v3
  36763. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  36764. case int32(_FcTypeRange):
  36765. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  36766. v4 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  36767. } else {
  36768. v4 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  36769. }
  36770. *(*uintptr)(unsafe.Pointer(bp + 4)) = v4
  36771. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  36772. default:
  36773. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(v))
  36774. break
  36775. }
  36776. return *(*TFcValue)(unsafe.Pointer(bp))
  36777. }
  36778. func XIA__FcValueSave(tls *libc.TLS, _v TFcValue) (r TFcValue) {
  36779. bp := tls.Alloc(16)
  36780. defer tls.Free(16)
  36781. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  36782. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36783. case int32(_FcTypeString):
  36784. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36785. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  36786. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36787. }
  36788. case int32(_FcTypeMatrix):
  36789. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcMatrixCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36790. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  36791. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36792. }
  36793. case int32(_FcTypeCharSet):
  36794. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36795. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  36796. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36797. }
  36798. case int32(_FcTypeLangSet):
  36799. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36800. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  36801. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36802. }
  36803. case int32(_FcTypeRange):
  36804. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
  36805. if !(*(*uintptr)(unsafe.Pointer(bp + 4)) != 0) {
  36806. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36807. }
  36808. default:
  36809. break
  36810. }
  36811. return *(*TFcValue)(unsafe.Pointer(bp))
  36812. }
  36813. var XFcValueSave = XIA__FcValueSave
  36814. func XFcValueListCreate(tls *libc.TLS) (r TFcValueListPtr) {
  36815. return libc.Xcalloc(tls, uint32(1), uint32(20))
  36816. }
  36817. func XFcValueListDestroy(tls *libc.TLS, l TFcValueListPtr) {
  36818. var next TFcValueListPtr
  36819. var v2 uintptr
  36820. _, _ = next, v2
  36821. for {
  36822. if !(l != 0) {
  36823. break
  36824. }
  36825. XIA__FcValueDestroy(tls, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  36826. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  36827. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  36828. } else {
  36829. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36830. }
  36831. next = v2
  36832. libc.Xfree(tls, l)
  36833. goto _1
  36834. _1:
  36835. ;
  36836. l = next
  36837. }
  36838. }
  36839. func XFcValueListPrepend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  36840. var new1 TFcValueListPtr
  36841. _ = new1
  36842. if value.Ftype1 == int32(_FcTypeVoid) {
  36843. return vallist
  36844. }
  36845. new1 = XFcValueListCreate(tls)
  36846. if !(new1 != 0) {
  36847. return vallist
  36848. }
  36849. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  36850. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  36851. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = vallist
  36852. return new1
  36853. }
  36854. func XFcValueListAppend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  36855. var last, new1 TFcValueListPtr
  36856. var v2, v3 uintptr
  36857. _, _, _, _ = last, new1, v2, v3
  36858. if value.Ftype1 == int32(_FcTypeVoid) {
  36859. return vallist
  36860. }
  36861. new1 = XFcValueListCreate(tls)
  36862. if !(new1 != 0) {
  36863. return vallist
  36864. }
  36865. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  36866. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  36867. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  36868. if vallist != 0 {
  36869. last = vallist
  36870. for {
  36871. if int32((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int32(1) != 0 {
  36872. v2 = uintptr(int32(last) + int32((*T_FcValueList)(unsafe.Pointer(last)).Fnext) & ^libc.Int32FromInt32(1))
  36873. } else {
  36874. v2 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  36875. }
  36876. if !(v2 != 0) {
  36877. break
  36878. }
  36879. goto _1
  36880. _1:
  36881. ;
  36882. if int32((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int32(1) != 0 {
  36883. v3 = uintptr(int32(last) + int32((*T_FcValueList)(unsafe.Pointer(last)).Fnext) & ^libc.Int32FromInt32(1))
  36884. } else {
  36885. v3 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  36886. }
  36887. last = v3
  36888. }
  36889. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = new1
  36890. } else {
  36891. vallist = new1
  36892. }
  36893. return vallist
  36894. }
  36895. func XFcValueListDuplicate(tls *libc.TLS, orig TFcValueListPtr) (r TFcValueListPtr) {
  36896. var l, new1, t, v2 TFcValueListPtr
  36897. var v TFcValue
  36898. var v3, v4 uintptr
  36899. _, _, _, _, _, _, _ = l, new1, t, v, v2, v3, v4
  36900. new1 = libc.UintptrFromInt32(0)
  36901. t = libc.UintptrFromInt32(0)
  36902. l = orig
  36903. for {
  36904. if !(l != libc.UintptrFromInt32(0)) {
  36905. break
  36906. }
  36907. if !(new1 != 0) {
  36908. v2 = XFcValueListCreate(tls)
  36909. new1 = v2
  36910. t = v2
  36911. } else {
  36912. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  36913. if int32((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int32(1) != 0 {
  36914. v3 = uintptr(int32(t) + int32((*T_FcValueList)(unsafe.Pointer(t)).Fnext) & ^libc.Int32FromInt32(1))
  36915. } else {
  36916. v3 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  36917. }
  36918. t = v3
  36919. }
  36920. v = XFcValueCanonicalize(tls, l+4)
  36921. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XIA__FcValueSave(tls, v)
  36922. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  36923. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  36924. goto _1
  36925. _1:
  36926. ;
  36927. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  36928. v4 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  36929. } else {
  36930. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36931. }
  36932. l = v4
  36933. }
  36934. return new1
  36935. }
  36936. func XIA__FcValueEqual(tls *libc.TLS, _va TFcValue, _vb TFcValue) (r TFcBool) {
  36937. bp := tls.Alloc(32)
  36938. defer tls.Free(32)
  36939. *(*TFcValue)(unsafe.Pointer(bp)) = _va
  36940. *(*TFcValue)(unsafe.Pointer(bp + 12)) = _vb
  36941. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  36942. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  36943. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  36944. *(*float64)(unsafe.Pointer(bp + 4)) = float64(*(*int32)(unsafe.Pointer(bp + 4)))
  36945. }
  36946. if (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 == int32(_FcTypeInteger) {
  36947. (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 = int32(_FcTypeDouble)
  36948. *(*float64)(unsafe.Pointer(bp + 12 + 4)) = float64(*(*int32)(unsafe.Pointer(bp + 12 + 4)))
  36949. }
  36950. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 12))).Ftype1 {
  36951. return m_FcFalse
  36952. }
  36953. }
  36954. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36955. case int32(_FcTypeUnknown):
  36956. return m_FcFalse /* don't know how to compare this object */
  36957. case int32(_FcTypeVoid):
  36958. return int32(m_FcTrue)
  36959. case int32(_FcTypeInteger):
  36960. return libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 4)) == *(*int32)(unsafe.Pointer(bp + 12 + 4)))
  36961. case int32(_FcTypeDouble):
  36962. return libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 4)) == *(*float64)(unsafe.Pointer(bp + 12 + 4)))
  36963. case int32(_FcTypeString):
  36964. return libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp + 12 + 4))) == 0)
  36965. case int32(_FcTypeBool):
  36966. return libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 4)) == *(*TFcBool)(unsafe.Pointer(bp + 12 + 4)))
  36967. case int32(_FcTypeMatrix):
  36968. return XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp + 12 + 4)))
  36969. case int32(_FcTypeCharSet):
  36970. return XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp + 12 + 4)))
  36971. case int32(_FcTypeFTFace):
  36972. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 4)) == *(*uintptr)(unsafe.Pointer(bp + 12 + 4)))
  36973. case int32(_FcTypeLangSet):
  36974. return XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp + 12 + 4)))
  36975. case int32(_FcTypeRange):
  36976. return XFcRangeIsInRange(tls, *(*uintptr)(unsafe.Pointer(bp + 4)), *(*uintptr)(unsafe.Pointer(bp + 12 + 4)))
  36977. }
  36978. return m_FcFalse
  36979. }
  36980. var XFcValueEqual = XIA__FcValueEqual
  36981. func _FcDoubleHash(tls *libc.TLS, d float64) (r TFcChar32) {
  36982. if d < libc.Float64FromInt32(0) {
  36983. d = -d
  36984. }
  36985. if d > libc.Float64FromUint32(0xffffffff) {
  36986. d = libc.Float64FromUint32(0xffffffff)
  36987. }
  36988. return uint32(d)
  36989. }
  36990. func XFcStringHash(tls *libc.TLS, s uintptr) (r TFcChar32) {
  36991. var c, v1 TFcChar8
  36992. var h TFcChar32
  36993. var v2 uintptr
  36994. _, _, _, _ = c, h, v1, v2
  36995. h = uint32(0)
  36996. if s != 0 {
  36997. for {
  36998. v2 = s
  36999. s++
  37000. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  37001. c = v1
  37002. if !(v1 != 0) {
  37003. break
  37004. }
  37005. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32(c)
  37006. }
  37007. }
  37008. return h
  37009. }
  37010. func _FcValueHash(tls *libc.TLS, v uintptr) (r TFcChar32) {
  37011. var v1, v2, v3, v4 uintptr
  37012. _, _, _, _ = v1, v2, v3, v4
  37013. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  37014. case int32(_FcTypeUnknown):
  37015. fallthrough
  37016. case int32(_FcTypeVoid):
  37017. return uint32(0)
  37018. case int32(_FcTypeInteger):
  37019. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  37020. case int32(_FcTypeDouble):
  37021. return _FcDoubleHash(tls, *(*float64)(unsafe.Pointer(v + 4)))
  37022. case int32(_FcTypeString):
  37023. if int32((*TFcValue)(unsafe.Pointer(v)).Fu.Fs)&int32(1) != 0 {
  37024. v1 = uintptr(int32(v) + int32((*TFcValue)(unsafe.Pointer(v)).Fu.Fs) & ^libc.Int32FromInt32(1))
  37025. } else {
  37026. v1 = (*TFcValue)(unsafe.Pointer(v)).Fu.Fs
  37027. }
  37028. return XFcStringHash(tls, v1)
  37029. case int32(_FcTypeBool):
  37030. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  37031. case int32(_FcTypeMatrix):
  37032. 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)
  37033. case int32(_FcTypeCharSet):
  37034. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  37035. v2 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  37036. } else {
  37037. v2 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  37038. }
  37039. return libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(v2)).Fnum)
  37040. case int32(_FcTypeFTFace):
  37041. 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)
  37042. case int32(_FcTypeLangSet):
  37043. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  37044. v3 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  37045. } else {
  37046. v3 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  37047. }
  37048. return XIA__FcLangSetHash(tls, v3)
  37049. case int32(_FcTypeRange):
  37050. if int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))&int32(1) != 0 {
  37051. v4 = uintptr(int32(v) + int32(*(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))) & ^libc.Int32FromInt32(1))
  37052. } else {
  37053. v4 = *(*uintptr)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu))
  37054. }
  37055. return XFcRangeHash(tls, v4)
  37056. }
  37057. return uint32(0)
  37058. }
  37059. func _FcValueListEqual(tls *libc.TLS, la TFcValueListPtr, lb TFcValueListPtr) (r TFcBool) {
  37060. var v1, v2 uintptr
  37061. _, _ = v1, v2
  37062. if la == lb {
  37063. return int32(m_FcTrue)
  37064. }
  37065. for la != 0 && lb != 0 {
  37066. if !(XIA__FcValueEqual(tls, (*T_FcValueList)(unsafe.Pointer(la)).Fvalue, (*T_FcValueList)(unsafe.Pointer(lb)).Fvalue) != 0) {
  37067. return m_FcFalse
  37068. }
  37069. if int32((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int32(1) != 0 {
  37070. v1 = uintptr(int32(la) + int32((*T_FcValueList)(unsafe.Pointer(la)).Fnext) & ^libc.Int32FromInt32(1))
  37071. } else {
  37072. v1 = (*T_FcValueList)(unsafe.Pointer(la)).Fnext
  37073. }
  37074. la = v1
  37075. if int32((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int32(1) != 0 {
  37076. v2 = uintptr(int32(lb) + int32((*T_FcValueList)(unsafe.Pointer(lb)).Fnext) & ^libc.Int32FromInt32(1))
  37077. } else {
  37078. v2 = (*T_FcValueList)(unsafe.Pointer(lb)).Fnext
  37079. }
  37080. lb = v2
  37081. }
  37082. if la != 0 || lb != 0 {
  37083. return m_FcFalse
  37084. }
  37085. return int32(m_FcTrue)
  37086. }
  37087. func _FcValueListHash(tls *libc.TLS, l TFcValueListPtr) (r TFcChar32) {
  37088. var hash TFcChar32
  37089. var v2 uintptr
  37090. _, _ = hash, v2
  37091. hash = uint32(0)
  37092. for {
  37093. if !(l != 0) {
  37094. break
  37095. }
  37096. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcValueHash(tls, l+4)
  37097. goto _1
  37098. _1:
  37099. ;
  37100. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  37101. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  37102. } else {
  37103. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37104. }
  37105. l = v2
  37106. }
  37107. return hash
  37108. }
  37109. func _FcPatternGetCacheObject(tls *libc.TLS, p uintptr) (r uintptr) {
  37110. var v1 uintptr
  37111. _ = v1
  37112. /* We use a value to find the cache, instead of the FcPattern object
  37113. * because the pattern itself may be a cache allocation if we rewrote the path,
  37114. * so the p may not be in the cached region. */
  37115. if int32((*TFcPatternElt)(unsafe.Pointer(uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int32(1) != 0 {
  37116. 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))
  37117. } else {
  37118. v1 = (*TFcPatternElt)(unsafe.Pointer(uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues
  37119. }
  37120. return v1
  37121. }
  37122. func XFcPatternCacheRewriteFile(tls *libc.TLS, p uintptr, cache uintptr, relocated_font_file uintptr) (r uintptr) {
  37123. var data, elt, elts, new_elts, new_p, new_path, new_value_list, v3 uintptr
  37124. var i, j, new_path_len, v2, v4 Tsize_t
  37125. _, _, _, _, _, _, _, _, _, _, _, _, _ = data, elt, elts, i, j, new_elts, new_p, new_path, new_path_len, new_value_list, v2, v3, v4
  37126. elts = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37127. new_path_len = libc.Xstrlen(tls, relocated_font_file)
  37128. /* Allocate space for the patter, the PatternElt headers and
  37129. * the FC_FILE FcValueList and path that will be freed with the
  37130. * cache */
  37131. data = XFcCacheAllocate(tls, cache, uint32(16)+libc.Uint32FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)*uint32(8)+uint32(20)+new_path_len+uint32(1))
  37132. new_p = data
  37133. data += uintptr(16)
  37134. new_elts = data
  37135. data += uintptr(libc.Uint32FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum) * uint32(8))
  37136. new_value_list = data
  37137. data += uintptr(20)
  37138. new_path = data
  37139. *(*TFcPattern)(unsafe.Pointer(new_p)) = *(*TFcPattern)(unsafe.Pointer(p))
  37140. (*TFcPattern)(unsafe.Pointer(new_p)).Felts_offset = int32(new_elts) - int32(new_p)
  37141. /* Copy all but the FILE values from the cache */
  37142. i = uint32(0)
  37143. j = libc.Uint32FromInt32(0)
  37144. for {
  37145. if !(i < libc.Uint32FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)) {
  37146. break
  37147. }
  37148. elt = elts + uintptr(i)*8
  37149. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(j)*8))).Fobject = (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject
  37150. if (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject != int32(_FC_FILE_OBJECT) {
  37151. v2 = j
  37152. j++
  37153. if int32((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int32(1) != 0 {
  37154. v3 = uintptr(int32(elt) + int32((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues) & ^libc.Int32FromInt32(1))
  37155. } else {
  37156. v3 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  37157. }
  37158. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v2)*8))).Fvalues = v3
  37159. } else {
  37160. v4 = j
  37161. j++
  37162. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v4)*8))).Fvalues = new_value_list
  37163. }
  37164. goto _1
  37165. _1:
  37166. ;
  37167. i++
  37168. }
  37169. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fnext = libc.UintptrFromInt32(0)
  37170. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fvalue.Ftype1 = int32(_FcTypeString)
  37171. *(*uintptr)(unsafe.Pointer(new_value_list + 4 + 4)) = new_path
  37172. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fbinding = int32(_FcValueBindingWeak)
  37173. /* Add rewritten path at the end */
  37174. libc.Xstrcpy(tls, new_path, relocated_font_file)
  37175. return new_p
  37176. }
  37177. func XIA__FcPatternDestroy(tls *libc.TLS, p uintptr) {
  37178. var elts, v7, p5 uintptr
  37179. var i, v3 int32
  37180. var v1 TFcBool
  37181. _, _, _, _, _, _ = elts, i, v1, v3, v7, p5
  37182. if !(p != 0) {
  37183. return
  37184. }
  37185. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+12)).Fcount == -libc.Int32FromInt32(1))
  37186. goto _2
  37187. _2:
  37188. if v1 != 0 {
  37189. XFcCacheObjectDereference(tls, _FcPatternGetCacheObject(tls, p))
  37190. return
  37191. }
  37192. p5 = p + 12
  37193. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  37194. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  37195. goto _4
  37196. _4:
  37197. if v3 != int32(1) {
  37198. return
  37199. }
  37200. elts = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37201. i = 0
  37202. for {
  37203. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  37204. break
  37205. }
  37206. if int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  37207. v7 = uintptr(Tintptr_t(elts+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  37208. } else {
  37209. v7 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*8)).Fvalues
  37210. }
  37211. XFcValueListDestroy(tls, v7)
  37212. goto _6
  37213. _6:
  37214. ;
  37215. i++
  37216. }
  37217. libc.Xfree(tls, elts)
  37218. libc.Xfree(tls, p)
  37219. }
  37220. var XFcPatternDestroy = XIA__FcPatternDestroy
  37221. func XIA__FcPatternObjectCount(tls *libc.TLS, pat uintptr) (r int32) {
  37222. if pat != 0 {
  37223. return (*TFcPattern)(unsafe.Pointer(pat)).Fnum
  37224. }
  37225. return 0
  37226. }
  37227. var XFcPatternObjectCount = XIA__FcPatternObjectCount
  37228. func _FcPatternObjectPosition(tls *libc.TLS, p uintptr, object TFcObject) (r int32) {
  37229. var c, high, low, mid int32
  37230. var elts uintptr
  37231. _, _, _, _, _ = c, elts, high, low, mid
  37232. elts = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37233. low = 0
  37234. high = XIA__FcPatternObjectCount(tls, p) - int32(1)
  37235. c = int32(1)
  37236. mid = 0
  37237. for low <= high {
  37238. mid = (low + high) >> int32(1)
  37239. c = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(mid)*8))).Fobject - object
  37240. if c == 0 {
  37241. return mid
  37242. }
  37243. if c < 0 {
  37244. low = mid + int32(1)
  37245. } else {
  37246. high = mid - int32(1)
  37247. }
  37248. }
  37249. if c < 0 {
  37250. mid++
  37251. }
  37252. return -(mid + int32(1))
  37253. }
  37254. func XFcPatternPosition(tls *libc.TLS, p uintptr, object uintptr) (r int32) {
  37255. return _FcPatternObjectPosition(tls, p, XFcObjectFromName(tls, object))
  37256. }
  37257. func XFcPatternObjectFindElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  37258. var i int32
  37259. _ = i
  37260. i = _FcPatternObjectPosition(tls, p, object)
  37261. if i < 0 {
  37262. return uintptr(0)
  37263. }
  37264. return uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*8
  37265. }
  37266. func XFcPatternObjectInsertElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  37267. var e, e0 uintptr
  37268. var i, s int32
  37269. _, _, _, _ = e, e0, i, s
  37270. i = _FcPatternObjectPosition(tls, p, object)
  37271. if i < 0 {
  37272. i = -i - int32(1)
  37273. /* reallocate array */
  37274. if XIA__FcPatternObjectCount(tls, p)+int32(1) >= (*TFcPattern)(unsafe.Pointer(p)).Fsize {
  37275. s = (*TFcPattern)(unsafe.Pointer(p)).Fsize + int32(16)
  37276. if (*TFcPattern)(unsafe.Pointer(p)).Fsize != 0 {
  37277. e0 = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37278. e = libc.Xrealloc(tls, e0, libc.Uint32FromInt32(s)*uint32(8))
  37279. if !(e != 0) { /* maybe it was mmapped */
  37280. e = libc.Xmalloc(tls, libc.Uint32FromInt32(s)*uint32(8))
  37281. if e != 0 {
  37282. libc.Xmemcpy(tls, e, e0, libc.Uint32FromInt32(XIA__FcPatternObjectCount(tls, p))*uint32(8))
  37283. }
  37284. }
  37285. } else {
  37286. e = libc.Xmalloc(tls, libc.Uint32FromInt32(s)*uint32(8))
  37287. }
  37288. if !(e != 0) {
  37289. return uintptr(m_FcFalse)
  37290. }
  37291. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int32(e) - int32(p)
  37292. for (*TFcPattern)(unsafe.Pointer(p)).Fsize < s {
  37293. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*8))).Fobject = 0
  37294. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*8))).Fvalues = libc.UintptrFromInt32(0)
  37295. (*TFcPattern)(unsafe.Pointer(p)).Fsize++
  37296. }
  37297. }
  37298. e = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37299. /* move elts up */
  37300. libc.Xmemmove(tls, e+uintptr(i)*8+uintptr(1)*8, e+uintptr(i)*8, uint32(8)*libc.Uint32FromInt32(XIA__FcPatternObjectCount(tls, p)-i))
  37301. /* bump count */
  37302. (*TFcPattern)(unsafe.Pointer(p)).Fnum++
  37303. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*8))).Fobject = object
  37304. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*8))).Fvalues = libc.UintptrFromInt32(0)
  37305. }
  37306. return uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*8
  37307. }
  37308. func XIA__FcPatternEqual(tls *libc.TLS, pa uintptr, pb uintptr) (r TFcBool) {
  37309. bp := tls.Alloc(16)
  37310. defer tls.Free(16)
  37311. var ra, rb TFcBool
  37312. var _ /* ia at bp+0 */ TFcPatternIter
  37313. var _ /* ib at bp+8 */ TFcPatternIter
  37314. _, _ = ra, rb
  37315. if pa == pb {
  37316. return int32(m_FcTrue)
  37317. }
  37318. if XIA__FcPatternObjectCount(tls, pa) != XIA__FcPatternObjectCount(tls, pb) {
  37319. return m_FcFalse
  37320. }
  37321. XIA__FcPatternIterStart(tls, pa, bp)
  37322. XIA__FcPatternIterStart(tls, pb, bp+8)
  37323. for cond := true; cond; cond = int32(1) != 0 {
  37324. if !(XIA__FcPatternIterEqual(tls, pa, bp, pb, bp+8) != 0) {
  37325. return m_FcFalse
  37326. }
  37327. ra = XIA__FcPatternIterNext(tls, pa, bp)
  37328. rb = XIA__FcPatternIterNext(tls, pb, bp+8)
  37329. if !(ra != 0) && !(rb != 0) {
  37330. break
  37331. }
  37332. }
  37333. return int32(m_FcTrue)
  37334. }
  37335. var XFcPatternEqual = XIA__FcPatternEqual
  37336. func XIA__FcPatternHash(tls *libc.TLS, p uintptr) (r TFcChar32) {
  37337. var h TFcChar32
  37338. var i int32
  37339. var pe, v2 uintptr
  37340. _, _, _, _ = h, i, pe, v2
  37341. h = uint32(0)
  37342. pe = uintptr(int32(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37343. i = 0
  37344. for {
  37345. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  37346. break
  37347. }
  37348. if int32((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  37349. v2 = uintptr(Tintptr_t(pe+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  37350. } else {
  37351. v2 = (*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*8)).Fvalues
  37352. }
  37353. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ libc.Uint32FromInt32((*(*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*8))).Fobject) ^ _FcValueListHash(tls, v2)
  37354. goto _1
  37355. _1:
  37356. ;
  37357. i++
  37358. }
  37359. return h
  37360. }
  37361. var XFcPatternHash = XIA__FcPatternHash
  37362. func XIA__FcPatternEqualSubset(tls *libc.TLS, pai uintptr, pbi uintptr, os uintptr) (r TFcBool) {
  37363. var ea, eb, v2, v3 uintptr
  37364. var i int32
  37365. var object TFcObject
  37366. _, _, _, _, _, _ = ea, eb, i, object, v2, v3
  37367. i = 0
  37368. for {
  37369. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  37370. break
  37371. }
  37372. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)))
  37373. ea = XFcPatternObjectFindElt(tls, pai, object)
  37374. eb = XFcPatternObjectFindElt(tls, pbi, object)
  37375. if ea != 0 {
  37376. if !(eb != 0) {
  37377. return m_FcFalse
  37378. }
  37379. if int32((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int32(1) != 0 {
  37380. v2 = uintptr(int32(ea) + int32((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues) & ^libc.Int32FromInt32(1))
  37381. } else {
  37382. v2 = (*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues
  37383. }
  37384. if int32((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int32(1) != 0 {
  37385. v3 = uintptr(int32(eb) + int32((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues) & ^libc.Int32FromInt32(1))
  37386. } else {
  37387. v3 = (*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues
  37388. }
  37389. if !(_FcValueListEqual(tls, v2, v3) != 0) {
  37390. return m_FcFalse
  37391. }
  37392. } else {
  37393. if eb != 0 {
  37394. return m_FcFalse
  37395. }
  37396. }
  37397. goto _1
  37398. _1:
  37399. ;
  37400. i++
  37401. }
  37402. return int32(m_FcTrue)
  37403. }
  37404. var XFcPatternEqualSubset = XIA__FcPatternEqualSubset
  37405. func XFcPatternObjectListAdd(tls *libc.TLS, p uintptr, object TFcObject, _list TFcValueListPtr, append1 TFcBool) (r TFcBool) {
  37406. bp := tls.Alloc(32)
  37407. defer tls.Free(32)
  37408. *(*TFcValueListPtr)(unsafe.Pointer(bp)) = _list
  37409. var e, prev, v4 uintptr
  37410. var l TFcValueListPtr
  37411. var v1 TFcBool
  37412. _, _, _, _, _ = e, l, prev, v1, v4
  37413. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+12)).Fcount == -libc.Int32FromInt32(1))
  37414. goto _2
  37415. _2:
  37416. if v1 != 0 {
  37417. goto bail0
  37418. }
  37419. /*
  37420. * Make sure the stored type is valid for built-in objects
  37421. */
  37422. l = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37423. for {
  37424. if !(l != libc.UintptrFromInt32(0)) {
  37425. break
  37426. }
  37427. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  37428. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1214, libc.VaList(bp+16, XFcObjectName(tls, object)))
  37429. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  37430. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1276, 0)
  37431. goto bail0
  37432. }
  37433. goto _3
  37434. _3:
  37435. ;
  37436. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  37437. v4 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  37438. } else {
  37439. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37440. }
  37441. l = v4
  37442. }
  37443. e = XFcPatternObjectInsertElt(tls, p, object)
  37444. if !(e != 0) {
  37445. goto bail0
  37446. }
  37447. if append1 != 0 {
  37448. prev = e + 4
  37449. for {
  37450. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37451. break
  37452. }
  37453. goto _5
  37454. _5:
  37455. ;
  37456. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37457. }
  37458. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37459. } else {
  37460. prev = bp
  37461. for {
  37462. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37463. break
  37464. }
  37465. goto _6
  37466. _6:
  37467. ;
  37468. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37469. }
  37470. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37471. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37472. }
  37473. return int32(m_FcTrue)
  37474. goto bail0
  37475. bail0:
  37476. ;
  37477. return m_FcFalse
  37478. return r
  37479. }
  37480. func XFcPatternObjectAddWithBinding(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, binding TFcValueBinding, append1 TFcBool) (r TFcBool) {
  37481. bp := tls.Alloc(16)
  37482. defer tls.Free(16)
  37483. var e, prev uintptr
  37484. var new1 TFcValueListPtr
  37485. var v1 TFcBool
  37486. _, _, _, _ = e, new1, prev, v1
  37487. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+12)).Fcount == -libc.Int32FromInt32(1))
  37488. goto _2
  37489. _2:
  37490. if v1 != 0 {
  37491. goto bail0
  37492. }
  37493. new1 = XFcValueListCreate(tls)
  37494. if !(new1 != 0) {
  37495. goto bail0
  37496. }
  37497. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  37498. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  37499. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  37500. if (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  37501. goto bail1
  37502. }
  37503. /*
  37504. * Make sure the stored type is valid for built-in objects
  37505. */
  37506. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1) != 0) {
  37507. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1214, libc.VaList(bp+8, XFcObjectName(tls, object)))
  37508. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue)
  37509. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1276, 0)
  37510. goto bail1
  37511. }
  37512. e = XFcPatternObjectInsertElt(tls, p, object)
  37513. if !(e != 0) {
  37514. goto bail1
  37515. }
  37516. if append1 != 0 {
  37517. prev = e + 4
  37518. for {
  37519. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37520. break
  37521. }
  37522. goto _3
  37523. _3:
  37524. ;
  37525. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37526. }
  37527. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  37528. } else {
  37529. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37530. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = new1
  37531. }
  37532. return int32(m_FcTrue)
  37533. goto bail1
  37534. bail1:
  37535. ;
  37536. XFcValueListDestroy(tls, new1)
  37537. goto bail0
  37538. bail0:
  37539. ;
  37540. return m_FcFalse
  37541. return r
  37542. }
  37543. func XFcPatternObjectAdd(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, append1 TFcBool) (r TFcBool) {
  37544. return XFcPatternObjectAddWithBinding(tls, p, object, value, int32(_FcValueBindingStrong), append1)
  37545. }
  37546. func XIA__FcPatternAdd(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  37547. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingStrong), append1)
  37548. }
  37549. var XFcPatternAdd = XIA__FcPatternAdd
  37550. func XIA__FcPatternAddWeak(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  37551. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingWeak), append1)
  37552. }
  37553. var XFcPatternAddWeak = XIA__FcPatternAddWeak
  37554. func XFcPatternObjectDel(tls *libc.TLS, p uintptr, object TFcObject) (r TFcBool) {
  37555. var e uintptr
  37556. _ = e
  37557. e = XFcPatternObjectFindElt(tls, p, object)
  37558. if !(e != 0) {
  37559. return m_FcFalse
  37560. }
  37561. /* destroy value */
  37562. XFcValueListDestroy(tls, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  37563. /* shuffle existing ones down */
  37564. 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))
  37565. (*TFcPattern)(unsafe.Pointer(p)).Fnum--
  37566. e = uintptr(int32(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(XIA__FcPatternObjectCount(tls, p))*8
  37567. (*TFcPatternElt)(unsafe.Pointer(e)).Fobject = 0
  37568. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = libc.UintptrFromInt32(0)
  37569. return int32(m_FcTrue)
  37570. }
  37571. func XIA__FcPatternDel(tls *libc.TLS, p uintptr, object uintptr) (r TFcBool) {
  37572. return XFcPatternObjectDel(tls, p, XFcObjectFromName(tls, object))
  37573. }
  37574. var XFcPatternDel = XIA__FcPatternDel
  37575. func XIA__FcPatternRemove(tls *libc.TLS, p uintptr, object uintptr, id int32) (r TFcBool) {
  37576. var e, prev uintptr
  37577. var l, v2 TFcValueListPtr
  37578. _, _, _, _ = e, l, prev, v2
  37579. e = XFcPatternObjectFindElt(tls, p, XFcObjectFromName(tls, object))
  37580. if !(e != 0) {
  37581. return m_FcFalse
  37582. }
  37583. prev = e + 4
  37584. for {
  37585. v2 = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37586. l = v2
  37587. if !(v2 != 0) {
  37588. break
  37589. }
  37590. if !(id != 0) {
  37591. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37592. (*T_FcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  37593. XFcValueListDestroy(tls, l)
  37594. if !((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != 0) {
  37595. XIA__FcPatternDel(tls, p, object)
  37596. }
  37597. return int32(m_FcTrue)
  37598. }
  37599. id--
  37600. goto _1
  37601. _1:
  37602. ;
  37603. prev = l
  37604. }
  37605. return m_FcFalse
  37606. }
  37607. var XFcPatternRemove = XIA__FcPatternRemove
  37608. func XFcPatternObjectAddInteger(tls *libc.TLS, p uintptr, object TFcObject, i int32) (r TFcBool) {
  37609. bp := tls.Alloc(16)
  37610. defer tls.Free(16)
  37611. var _ /* v at bp+0 */ TFcValue
  37612. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  37613. *(*int32)(unsafe.Pointer(bp + 4)) = i
  37614. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37615. }
  37616. func XIA__FcPatternAddInteger(tls *libc.TLS, p uintptr, object uintptr, i int32) (r TFcBool) {
  37617. return XFcPatternObjectAddInteger(tls, p, XFcObjectFromName(tls, object), i)
  37618. }
  37619. var XFcPatternAddInteger = XIA__FcPatternAddInteger
  37620. func XFcPatternObjectAddDouble(tls *libc.TLS, p uintptr, object TFcObject, d float64) (r TFcBool) {
  37621. bp := tls.Alloc(16)
  37622. defer tls.Free(16)
  37623. var _ /* v at bp+0 */ TFcValue
  37624. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  37625. *(*float64)(unsafe.Pointer(bp + 4)) = d
  37626. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37627. }
  37628. func XIA__FcPatternAddDouble(tls *libc.TLS, p uintptr, object uintptr, d float64) (r TFcBool) {
  37629. return XFcPatternObjectAddDouble(tls, p, XFcObjectFromName(tls, object), d)
  37630. }
  37631. var XFcPatternAddDouble = XIA__FcPatternAddDouble
  37632. func XFcPatternObjectAddString(tls *libc.TLS, p uintptr, object TFcObject, s uintptr) (r TFcBool) {
  37633. bp := tls.Alloc(16)
  37634. defer tls.Free(16)
  37635. var _ /* v at bp+0 */ TFcValue
  37636. if !(s != 0) {
  37637. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  37638. *(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0)
  37639. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37640. }
  37641. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  37642. *(*uintptr)(unsafe.Pointer(bp + 4)) = s
  37643. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37644. }
  37645. func XIA__FcPatternAddString(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  37646. return XFcPatternObjectAddString(tls, p, XFcObjectFromName(tls, object), s)
  37647. }
  37648. var XFcPatternAddString = XIA__FcPatternAddString
  37649. func XIA__FcPatternAddMatrix(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  37650. bp := tls.Alloc(16)
  37651. defer tls.Free(16)
  37652. var _ /* v at bp+0 */ TFcValue
  37653. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  37654. *(*uintptr)(unsafe.Pointer(bp + 4)) = s
  37655. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37656. }
  37657. var XFcPatternAddMatrix = XIA__FcPatternAddMatrix
  37658. func XFcPatternObjectAddBool(tls *libc.TLS, p uintptr, object TFcObject, b TFcBool) (r TFcBool) {
  37659. bp := tls.Alloc(16)
  37660. defer tls.Free(16)
  37661. var _ /* v at bp+0 */ TFcValue
  37662. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  37663. *(*TFcBool)(unsafe.Pointer(bp + 4)) = b
  37664. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37665. }
  37666. func XIA__FcPatternAddBool(tls *libc.TLS, p uintptr, object uintptr, b TFcBool) (r TFcBool) {
  37667. return XFcPatternObjectAddBool(tls, p, XFcObjectFromName(tls, object), b)
  37668. }
  37669. var XFcPatternAddBool = XIA__FcPatternAddBool
  37670. func XFcPatternObjectAddCharSet(tls *libc.TLS, p uintptr, object TFcObject, c uintptr) (r TFcBool) {
  37671. bp := tls.Alloc(16)
  37672. defer tls.Free(16)
  37673. var _ /* v at bp+0 */ TFcValue
  37674. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  37675. *(*uintptr)(unsafe.Pointer(bp + 4)) = c
  37676. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37677. }
  37678. func XIA__FcPatternAddCharSet(tls *libc.TLS, p uintptr, object uintptr, c uintptr) (r TFcBool) {
  37679. return XFcPatternObjectAddCharSet(tls, p, XFcObjectFromName(tls, object), c)
  37680. }
  37681. var XFcPatternAddCharSet = XIA__FcPatternAddCharSet
  37682. func XIA__FcPatternAddFTFace(tls *libc.TLS, p uintptr, object uintptr, f TFT_Face) (r TFcBool) {
  37683. bp := tls.Alloc(16)
  37684. defer tls.Free(16)
  37685. var _ /* v at bp+0 */ TFcValue
  37686. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeFTFace)
  37687. *(*uintptr)(unsafe.Pointer(bp + 4)) = f
  37688. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37689. }
  37690. var XFcPatternAddFTFace = XIA__FcPatternAddFTFace
  37691. func XFcPatternObjectAddLangSet(tls *libc.TLS, p uintptr, object TFcObject, ls uintptr) (r TFcBool) {
  37692. bp := tls.Alloc(16)
  37693. defer tls.Free(16)
  37694. var _ /* v at bp+0 */ TFcValue
  37695. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  37696. *(*uintptr)(unsafe.Pointer(bp + 4)) = ls
  37697. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37698. }
  37699. func XIA__FcPatternAddLangSet(tls *libc.TLS, p uintptr, object uintptr, ls uintptr) (r TFcBool) {
  37700. return XFcPatternObjectAddLangSet(tls, p, XFcObjectFromName(tls, object), ls)
  37701. }
  37702. var XFcPatternAddLangSet = XIA__FcPatternAddLangSet
  37703. func XFcPatternObjectAddRange(tls *libc.TLS, p uintptr, object TFcObject, r uintptr) (r1 TFcBool) {
  37704. bp := tls.Alloc(16)
  37705. defer tls.Free(16)
  37706. var _ /* v at bp+0 */ TFcValue
  37707. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  37708. *(*uintptr)(unsafe.Pointer(bp + 4)) = r
  37709. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37710. }
  37711. func XIA__FcPatternAddRange(tls *libc.TLS, p uintptr, object uintptr, r uintptr) (r1 TFcBool) {
  37712. return XFcPatternObjectAddRange(tls, p, XFcObjectFromName(tls, object), r)
  37713. }
  37714. var XFcPatternAddRange = XIA__FcPatternAddRange
  37715. func XFcPatternObjectGetWithBinding(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr, b uintptr) (r TFcResult) {
  37716. var e, v2, v3 uintptr
  37717. var l TFcValueListPtr
  37718. _, _, _, _ = e, l, v2, v3
  37719. if !(p != 0) {
  37720. return int32(_FcResultNoMatch)
  37721. }
  37722. e = XFcPatternObjectFindElt(tls, p, object)
  37723. if !(e != 0) {
  37724. return int32(_FcResultNoMatch)
  37725. }
  37726. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  37727. v2 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  37728. } else {
  37729. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37730. }
  37731. l = v2
  37732. for {
  37733. if !(l != 0) {
  37734. break
  37735. }
  37736. if !(id != 0) {
  37737. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+4)
  37738. if b != 0 {
  37739. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  37740. }
  37741. return int32(_FcResultMatch)
  37742. }
  37743. id--
  37744. goto _1
  37745. _1:
  37746. ;
  37747. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  37748. v3 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  37749. } else {
  37750. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37751. }
  37752. l = v3
  37753. }
  37754. return int32(_FcResultNoId)
  37755. }
  37756. func XFcPatternObjectGet(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr) (r TFcResult) {
  37757. return XFcPatternObjectGetWithBinding(tls, p, object, id, v, libc.UintptrFromInt32(0))
  37758. }
  37759. func XIA__FcPatternGetWithBinding(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  37760. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, b)
  37761. }
  37762. var XFcPatternGetWithBinding = XIA__FcPatternGetWithBinding
  37763. func XIA__FcPatternGet(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr) (r TFcResult) {
  37764. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, libc.UintptrFromInt32(0))
  37765. }
  37766. var XFcPatternGet = XIA__FcPatternGet
  37767. func XFcPatternObjectGetInteger(tls *libc.TLS, p uintptr, object TFcObject, id int32, i uintptr) (r1 TFcResult) {
  37768. bp := tls.Alloc(16)
  37769. defer tls.Free(16)
  37770. var r TFcResult
  37771. var _ /* v at bp+0 */ TFcValue
  37772. _ = r
  37773. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37774. if r != int32(_FcResultMatch) {
  37775. return r
  37776. }
  37777. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37778. case int32(_FcTypeDouble):
  37779. *(*int32)(unsafe.Pointer(i)) = int32(*(*float64)(unsafe.Pointer(bp + 4)))
  37780. case int32(_FcTypeInteger):
  37781. *(*int32)(unsafe.Pointer(i)) = *(*int32)(unsafe.Pointer(bp + 4))
  37782. default:
  37783. return int32(_FcResultTypeMismatch)
  37784. }
  37785. return int32(_FcResultMatch)
  37786. }
  37787. func XIA__FcPatternGetInteger(tls *libc.TLS, p uintptr, object uintptr, id int32, i uintptr) (r TFcResult) {
  37788. return XFcPatternObjectGetInteger(tls, p, XFcObjectFromName(tls, object), id, i)
  37789. }
  37790. var XFcPatternGetInteger = XIA__FcPatternGetInteger
  37791. func XFcPatternObjectGetDouble(tls *libc.TLS, p uintptr, object TFcObject, id int32, d uintptr) (r1 TFcResult) {
  37792. bp := tls.Alloc(16)
  37793. defer tls.Free(16)
  37794. var r TFcResult
  37795. var _ /* v at bp+0 */ TFcValue
  37796. _ = r
  37797. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37798. if r != int32(_FcResultMatch) {
  37799. return r
  37800. }
  37801. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37802. case int32(_FcTypeDouble):
  37803. *(*float64)(unsafe.Pointer(d)) = *(*float64)(unsafe.Pointer(bp + 4))
  37804. case int32(_FcTypeInteger):
  37805. *(*float64)(unsafe.Pointer(d)) = float64(*(*int32)(unsafe.Pointer(bp + 4)))
  37806. default:
  37807. return int32(_FcResultTypeMismatch)
  37808. }
  37809. return int32(_FcResultMatch)
  37810. }
  37811. func XIA__FcPatternGetDouble(tls *libc.TLS, p uintptr, object uintptr, id int32, d uintptr) (r TFcResult) {
  37812. return XFcPatternObjectGetDouble(tls, p, XFcObjectFromName(tls, object), id, d)
  37813. }
  37814. var XFcPatternGetDouble = XIA__FcPatternGetDouble
  37815. func XFcPatternObjectGetString(tls *libc.TLS, p uintptr, object TFcObject, id int32, s uintptr) (r1 TFcResult) {
  37816. bp := tls.Alloc(16)
  37817. defer tls.Free(16)
  37818. var r TFcResult
  37819. var _ /* v at bp+0 */ TFcValue
  37820. _ = r
  37821. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37822. if r != int32(_FcResultMatch) {
  37823. return r
  37824. }
  37825. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeString) {
  37826. return int32(_FcResultTypeMismatch)
  37827. }
  37828. *(*uintptr)(unsafe.Pointer(s)) = *(*uintptr)(unsafe.Pointer(bp + 4))
  37829. return int32(_FcResultMatch)
  37830. }
  37831. func XIA__FcPatternGetString(tls *libc.TLS, p uintptr, object uintptr, id int32, s uintptr) (r TFcResult) {
  37832. return XFcPatternObjectGetString(tls, p, XFcObjectFromName(tls, object), id, s)
  37833. }
  37834. var XFcPatternGetString = XIA__FcPatternGetString
  37835. func XIA__FcPatternGetMatrix(tls *libc.TLS, p uintptr, object uintptr, id int32, m uintptr) (r1 TFcResult) {
  37836. bp := tls.Alloc(16)
  37837. defer tls.Free(16)
  37838. var r TFcResult
  37839. var _ /* v at bp+0 */ TFcValue
  37840. _ = r
  37841. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37842. if r != int32(_FcResultMatch) {
  37843. return r
  37844. }
  37845. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeMatrix) {
  37846. return int32(_FcResultTypeMismatch)
  37847. }
  37848. *(*uintptr)(unsafe.Pointer(m)) = *(*uintptr)(unsafe.Pointer(bp + 4))
  37849. return int32(_FcResultMatch)
  37850. }
  37851. var XFcPatternGetMatrix = XIA__FcPatternGetMatrix
  37852. func XFcPatternObjectGetBool(tls *libc.TLS, p uintptr, object TFcObject, id int32, b uintptr) (r1 TFcResult) {
  37853. bp := tls.Alloc(16)
  37854. defer tls.Free(16)
  37855. var r TFcResult
  37856. var _ /* v at bp+0 */ TFcValue
  37857. _ = r
  37858. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37859. if r != int32(_FcResultMatch) {
  37860. return r
  37861. }
  37862. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeBool) {
  37863. return int32(_FcResultTypeMismatch)
  37864. }
  37865. *(*TFcBool)(unsafe.Pointer(b)) = *(*TFcBool)(unsafe.Pointer(bp + 4))
  37866. return int32(_FcResultMatch)
  37867. }
  37868. func XIA__FcPatternGetBool(tls *libc.TLS, p uintptr, object uintptr, id int32, b uintptr) (r TFcResult) {
  37869. return XFcPatternObjectGetBool(tls, p, XFcObjectFromName(tls, object), id, b)
  37870. }
  37871. var XFcPatternGetBool = XIA__FcPatternGetBool
  37872. func XIA__FcPatternGetCharSet(tls *libc.TLS, p uintptr, object uintptr, id int32, c uintptr) (r1 TFcResult) {
  37873. bp := tls.Alloc(16)
  37874. defer tls.Free(16)
  37875. var r TFcResult
  37876. var _ /* v at bp+0 */ TFcValue
  37877. _ = r
  37878. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37879. if r != int32(_FcResultMatch) {
  37880. return r
  37881. }
  37882. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeCharSet) {
  37883. return int32(_FcResultTypeMismatch)
  37884. }
  37885. *(*uintptr)(unsafe.Pointer(c)) = *(*uintptr)(unsafe.Pointer(bp + 4))
  37886. return int32(_FcResultMatch)
  37887. }
  37888. var XFcPatternGetCharSet = XIA__FcPatternGetCharSet
  37889. func XIA__FcPatternGetFTFace(tls *libc.TLS, p uintptr, object uintptr, id int32, f uintptr) (r1 TFcResult) {
  37890. bp := tls.Alloc(16)
  37891. defer tls.Free(16)
  37892. var r TFcResult
  37893. var _ /* v at bp+0 */ TFcValue
  37894. _ = r
  37895. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37896. if r != int32(_FcResultMatch) {
  37897. return r
  37898. }
  37899. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeFTFace) {
  37900. return int32(_FcResultTypeMismatch)
  37901. }
  37902. *(*TFT_Face)(unsafe.Pointer(f)) = *(*uintptr)(unsafe.Pointer(bp + 4))
  37903. return int32(_FcResultMatch)
  37904. }
  37905. var XFcPatternGetFTFace = XIA__FcPatternGetFTFace
  37906. func XIA__FcPatternGetLangSet(tls *libc.TLS, p uintptr, object uintptr, id int32, ls uintptr) (r1 TFcResult) {
  37907. bp := tls.Alloc(16)
  37908. defer tls.Free(16)
  37909. var r TFcResult
  37910. var _ /* v at bp+0 */ TFcValue
  37911. _ = r
  37912. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37913. if r != int32(_FcResultMatch) {
  37914. return r
  37915. }
  37916. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeLangSet) {
  37917. return int32(_FcResultTypeMismatch)
  37918. }
  37919. *(*uintptr)(unsafe.Pointer(ls)) = *(*uintptr)(unsafe.Pointer(bp + 4))
  37920. return int32(_FcResultMatch)
  37921. }
  37922. var XFcPatternGetLangSet = XIA__FcPatternGetLangSet
  37923. func XFcPatternObjectGetRange(tls *libc.TLS, p uintptr, object TFcObject, id int32, r uintptr) (r1 TFcResult) {
  37924. bp := tls.Alloc(16)
  37925. defer tls.Free(16)
  37926. var res TFcResult
  37927. var _ /* v at bp+0 */ TFcValue
  37928. _ = res
  37929. res = XFcPatternObjectGet(tls, p, object, id, bp)
  37930. if res != int32(_FcResultMatch) {
  37931. return res
  37932. }
  37933. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37934. case int32(_FcTypeRange):
  37935. *(*uintptr)(unsafe.Pointer(r)) = *(*uintptr)(unsafe.Pointer(bp + 4))
  37936. default:
  37937. return int32(_FcResultTypeMismatch)
  37938. }
  37939. return int32(_FcResultMatch)
  37940. }
  37941. func XIA__FcPatternGetRange(tls *libc.TLS, p uintptr, object uintptr, id int32, r uintptr) (r1 TFcResult) {
  37942. return XFcPatternObjectGetRange(tls, p, XFcObjectFromName(tls, object), id, r)
  37943. }
  37944. var XFcPatternGetRange = XIA__FcPatternGetRange
  37945. func XIA__FcPatternDuplicate(tls *libc.TLS, orig uintptr) (r uintptr) {
  37946. bp := tls.Alloc(16)
  37947. defer tls.Free(16)
  37948. var l TFcValueListPtr
  37949. var new1, v2 uintptr
  37950. var _ /* iter at bp+0 */ TFcPatternIter
  37951. _, _, _ = l, new1, v2
  37952. if !(orig != 0) {
  37953. return libc.UintptrFromInt32(0)
  37954. }
  37955. new1 = XIA__FcPatternCreate(tls)
  37956. if !(new1 != 0) {
  37957. goto bail0
  37958. }
  37959. XIA__FcPatternIterStart(tls, orig, bp)
  37960. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, orig, bp) != 0 {
  37961. l = XFcPatternIterGetValues(tls, orig, bp)
  37962. for {
  37963. if !(l != 0) {
  37964. break
  37965. }
  37966. if !(XFcPatternObjectAddWithBinding(tls, new1, XFcPatternIterGetObjectId(tls, orig, bp), XFcValueCanonicalize(tls, l+4), (*T_FcValueList)(unsafe.Pointer(l)).Fbinding, int32(m_FcTrue)) != 0) {
  37967. goto bail1
  37968. }
  37969. goto _1
  37970. _1:
  37971. ;
  37972. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  37973. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  37974. } else {
  37975. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37976. }
  37977. l = v2
  37978. }
  37979. }
  37980. return new1
  37981. goto bail1
  37982. bail1:
  37983. ;
  37984. XIA__FcPatternDestroy(tls, new1)
  37985. goto bail0
  37986. bail0:
  37987. ;
  37988. return uintptr(0)
  37989. return r
  37990. }
  37991. var XFcPatternDuplicate = XIA__FcPatternDuplicate
  37992. func XIA__FcPatternReference(tls *libc.TLS, p uintptr) {
  37993. var v1 TFcBool
  37994. var p4 uintptr
  37995. _, _ = v1, p4
  37996. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+12)).Fcount == -libc.Int32FromInt32(1))
  37997. goto _2
  37998. _2:
  37999. if !(v1 != 0) {
  38000. p4 = p + 12
  38001. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  38002. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  38003. goto _3
  38004. _3:
  38005. } else {
  38006. XFcCacheObjectReference(tls, _FcPatternGetCacheObject(tls, p))
  38007. }
  38008. }
  38009. var XFcPatternReference = XIA__FcPatternReference
  38010. func XIA__FcPatternVaBuild(tls *libc.TLS, p uintptr, va Tva_list) (r uintptr) {
  38011. bp := tls.Alloc(16)
  38012. defer tls.Free(16)
  38013. var __o__, __p__, ret uintptr
  38014. var _ /* __v__ at bp+0 */ TFcValue
  38015. _, _, _ = __o__, __p__, ret
  38016. __p__ = p
  38017. if !(__p__ != 0) {
  38018. __p__ = XIA__FcPatternCreate(tls)
  38019. if !(__p__ != 0) {
  38020. goto _FcPatternVapBuild_bail0
  38021. }
  38022. }
  38023. for {
  38024. __o__ = libc.VaUintptr(&va)
  38025. if !(__o__ != 0) {
  38026. break
  38027. }
  38028. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  38029. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  38030. case int32(_FcTypeUnknown):
  38031. fallthrough
  38032. case int32(_FcTypeVoid):
  38033. goto _FcPatternVapBuild_bail1
  38034. case int32(_FcTypeInteger):
  38035. *(*int32)(unsafe.Pointer(bp + 4)) = libc.VaInt32(&va)
  38036. case int32(_FcTypeDouble):
  38037. *(*float64)(unsafe.Pointer(bp + 4)) = libc.VaFloat64(&va)
  38038. case int32(_FcTypeString):
  38039. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38040. case int32(_FcTypeBool):
  38041. *(*TFcBool)(unsafe.Pointer(bp + 4)) = libc.VaInt32(&va)
  38042. case int32(_FcTypeMatrix):
  38043. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38044. case int32(_FcTypeCharSet):
  38045. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38046. case int32(_FcTypeFTFace):
  38047. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38048. case int32(_FcTypeLangSet):
  38049. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38050. case int32(_FcTypeRange):
  38051. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38052. break
  38053. }
  38054. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  38055. goto _FcPatternVapBuild_bail1
  38056. }
  38057. goto _1
  38058. _1:
  38059. }
  38060. ret = __p__
  38061. goto _FcPatternVapBuild_return
  38062. goto _FcPatternVapBuild_bail1
  38063. _FcPatternVapBuild_bail1:
  38064. ;
  38065. if !(p != 0) {
  38066. XIA__FcPatternDestroy(tls, __p__)
  38067. }
  38068. goto _FcPatternVapBuild_bail0
  38069. _FcPatternVapBuild_bail0:
  38070. ;
  38071. ret = libc.UintptrFromInt32(0)
  38072. goto _FcPatternVapBuild_return
  38073. _FcPatternVapBuild_return:
  38074. ;
  38075. return ret
  38076. }
  38077. var XFcPatternVaBuild = XIA__FcPatternVaBuild
  38078. func XIA__FcPatternBuild(tls *libc.TLS, p uintptr, va1 uintptr) (r uintptr) {
  38079. bp := tls.Alloc(16)
  38080. defer tls.Free(16)
  38081. var __o__, __p__ uintptr
  38082. var va Tva_list
  38083. var _ /* __v__ at bp+0 */ TFcValue
  38084. _, _, _ = __o__, __p__, va
  38085. va = va1
  38086. __p__ = p
  38087. if !(__p__ != 0) {
  38088. __p__ = XIA__FcPatternCreate(tls)
  38089. if !(__p__ != 0) {
  38090. goto _FcPatternVapBuild_bail0
  38091. }
  38092. }
  38093. for {
  38094. __o__ = libc.VaUintptr(&va)
  38095. if !(__o__ != 0) {
  38096. break
  38097. }
  38098. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  38099. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  38100. case int32(_FcTypeUnknown):
  38101. fallthrough
  38102. case int32(_FcTypeVoid):
  38103. goto _FcPatternVapBuild_bail1
  38104. case int32(_FcTypeInteger):
  38105. *(*int32)(unsafe.Pointer(bp + 4)) = libc.VaInt32(&va)
  38106. case int32(_FcTypeDouble):
  38107. *(*float64)(unsafe.Pointer(bp + 4)) = libc.VaFloat64(&va)
  38108. case int32(_FcTypeString):
  38109. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38110. case int32(_FcTypeBool):
  38111. *(*TFcBool)(unsafe.Pointer(bp + 4)) = libc.VaInt32(&va)
  38112. case int32(_FcTypeMatrix):
  38113. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38114. case int32(_FcTypeCharSet):
  38115. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38116. case int32(_FcTypeFTFace):
  38117. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38118. case int32(_FcTypeLangSet):
  38119. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38120. case int32(_FcTypeRange):
  38121. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.VaUintptr(&va)
  38122. break
  38123. }
  38124. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  38125. goto _FcPatternVapBuild_bail1
  38126. }
  38127. goto _1
  38128. _1:
  38129. }
  38130. p = __p__
  38131. goto _FcPatternVapBuild_return
  38132. goto _FcPatternVapBuild_bail1
  38133. _FcPatternVapBuild_bail1:
  38134. ;
  38135. if !(p != 0) {
  38136. XIA__FcPatternDestroy(tls, __p__)
  38137. }
  38138. goto _FcPatternVapBuild_bail0
  38139. _FcPatternVapBuild_bail0:
  38140. ;
  38141. p = libc.UintptrFromInt32(0)
  38142. goto _FcPatternVapBuild_return
  38143. _FcPatternVapBuild_return:
  38144. ;
  38145. _ = va
  38146. return p
  38147. }
  38148. var XFcPatternBuild = XIA__FcPatternBuild
  38149. // C documentation
  38150. //
  38151. // /*
  38152. // * Add all of the elements in 's' to 'p'
  38153. // */
  38154. func XFcPatternAppend(tls *libc.TLS, p uintptr, s uintptr) (r TFcBool) {
  38155. bp := tls.Alloc(16)
  38156. defer tls.Free(16)
  38157. var v TFcValueListPtr
  38158. var v2 uintptr
  38159. var _ /* iter at bp+0 */ TFcPatternIter
  38160. _, _ = v, v2
  38161. XIA__FcPatternIterStart(tls, s, bp)
  38162. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, s, bp) != 0 {
  38163. v = XFcPatternIterGetValues(tls, s, bp)
  38164. for {
  38165. if !(v != 0) {
  38166. break
  38167. }
  38168. if !(XFcPatternObjectAddWithBinding(tls, p, XFcPatternIterGetObjectId(tls, s, bp), XFcValueCanonicalize(tls, v+4), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  38169. return m_FcFalse
  38170. }
  38171. goto _1
  38172. _1:
  38173. ;
  38174. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  38175. v2 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  38176. } else {
  38177. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  38178. }
  38179. v = v2
  38180. }
  38181. }
  38182. return int32(m_FcTrue)
  38183. }
  38184. func XIA__FcPatternFilter(tls *libc.TLS, p uintptr, os uintptr) (r uintptr) {
  38185. var e, ret, v3, v4 uintptr
  38186. var i int32
  38187. var object TFcObject
  38188. var v TFcValueListPtr
  38189. _, _, _, _, _, _, _ = e, i, object, ret, v, v3, v4
  38190. if !(os != 0) {
  38191. return XIA__FcPatternDuplicate(tls, p)
  38192. }
  38193. ret = XIA__FcPatternCreate(tls)
  38194. if !(ret != 0) {
  38195. return libc.UintptrFromInt32(0)
  38196. }
  38197. i = 0
  38198. for {
  38199. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  38200. break
  38201. }
  38202. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*4)))
  38203. e = XFcPatternObjectFindElt(tls, p, object)
  38204. if e != 0 {
  38205. if int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int32(1) != 0 {
  38206. v3 = uintptr(int32(e) + int32((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues) & ^libc.Int32FromInt32(1))
  38207. } else {
  38208. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  38209. }
  38210. v = v3
  38211. for {
  38212. if !(v != 0) {
  38213. break
  38214. }
  38215. if !(XFcPatternObjectAddWithBinding(tls, ret, (*TFcPatternElt)(unsafe.Pointer(e)).Fobject, XFcValueCanonicalize(tls, v+4), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  38216. goto bail0
  38217. }
  38218. goto _2
  38219. _2:
  38220. ;
  38221. if int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int32(1) != 0 {
  38222. v4 = uintptr(int32(v) + int32((*T_FcValueList)(unsafe.Pointer(v)).Fnext) & ^libc.Int32FromInt32(1))
  38223. } else {
  38224. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  38225. }
  38226. v = v4
  38227. }
  38228. }
  38229. goto _1
  38230. _1:
  38231. ;
  38232. i++
  38233. }
  38234. return ret
  38235. goto bail0
  38236. bail0:
  38237. ;
  38238. XIA__FcPatternDestroy(tls, ret)
  38239. return libc.UintptrFromInt32(0)
  38240. }
  38241. var XFcPatternFilter = XIA__FcPatternFilter
  38242. type TFcPatternPrivateIter = struct {
  38243. Felt uintptr
  38244. Fpos int32
  38245. }
  38246. type T_FcPatternPrivateIter = TFcPatternPrivateIter
  38247. func _FcPatternIterSet(tls *libc.TLS, pat uintptr, iter uintptr) {
  38248. var v1 uintptr
  38249. _ = v1
  38250. if XIA__FcPatternObjectCount(tls, pat) > 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos < XIA__FcPatternObjectCount(tls, pat) {
  38251. v1 = uintptr(int32(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr((*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos)*8
  38252. } else {
  38253. v1 = libc.UintptrFromInt32(0)
  38254. }
  38255. (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Felt = v1
  38256. }
  38257. func XIA__FcPatternIterStart(tls *libc.TLS, pat uintptr, iter uintptr) {
  38258. var priv uintptr
  38259. _ = priv
  38260. priv = iter
  38261. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = 0
  38262. _FcPatternIterSet(tls, pat, priv)
  38263. }
  38264. var XFcPatternIterStart = XIA__FcPatternIterStart
  38265. func XIA__FcPatternIterNext(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  38266. var priv uintptr
  38267. _ = priv
  38268. priv = iter
  38269. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos++
  38270. if (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos >= XIA__FcPatternObjectCount(tls, pat) {
  38271. return m_FcFalse
  38272. }
  38273. _FcPatternIterSet(tls, pat, priv)
  38274. return int32(m_FcTrue)
  38275. }
  38276. var XFcPatternIterNext = XIA__FcPatternIterNext
  38277. func XIA__FcPatternIterEqual(tls *libc.TLS, p1 uintptr, i1 uintptr, p2 uintptr, i2 uintptr) (r TFcBool) {
  38278. var b1, b2 TFcBool
  38279. _, _ = b1, b2
  38280. b1 = XIA__FcPatternIterIsValid(tls, p1, i1)
  38281. b2 = XIA__FcPatternIterIsValid(tls, p2, i2)
  38282. if !(i1 != 0) && !(i2 != 0) {
  38283. return int32(m_FcTrue)
  38284. }
  38285. if !(b1 != 0) || !(b2 != 0) {
  38286. return m_FcFalse
  38287. }
  38288. if XFcPatternIterGetObjectId(tls, p1, i1) != XFcPatternIterGetObjectId(tls, p2, i2) {
  38289. return m_FcFalse
  38290. }
  38291. return _FcValueListEqual(tls, XFcPatternIterGetValues(tls, p1, i1), XFcPatternIterGetValues(tls, p2, i2))
  38292. }
  38293. var XFcPatternIterEqual = XIA__FcPatternIterEqual
  38294. func XFcPatternFindObjectIter(tls *libc.TLS, pat uintptr, iter uintptr, object TFcObject) (r TFcBool) {
  38295. var i int32
  38296. var priv uintptr
  38297. _, _ = i, priv
  38298. priv = iter
  38299. i = _FcPatternObjectPosition(tls, pat, object)
  38300. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt = libc.UintptrFromInt32(0)
  38301. if i < 0 {
  38302. return m_FcFalse
  38303. }
  38304. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = i
  38305. _FcPatternIterSet(tls, pat, priv)
  38306. return int32(m_FcTrue)
  38307. }
  38308. func XIA__FcPatternFindIter(tls *libc.TLS, pat uintptr, iter uintptr, object uintptr) (r TFcBool) {
  38309. return XFcPatternFindObjectIter(tls, pat, iter, XFcObjectFromName(tls, object))
  38310. }
  38311. var XFcPatternFindIter = XIA__FcPatternFindIter
  38312. func XIA__FcPatternIterIsValid(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  38313. var priv uintptr
  38314. _ = priv
  38315. priv = iter
  38316. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38317. return int32(m_FcTrue)
  38318. }
  38319. return m_FcFalse
  38320. }
  38321. var XFcPatternIterIsValid = XIA__FcPatternIterIsValid
  38322. func XFcPatternIterGetObjectId(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcObject) {
  38323. var priv uintptr
  38324. _ = priv
  38325. priv = iter
  38326. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38327. return (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fobject
  38328. }
  38329. return 0
  38330. }
  38331. func XIA__FcPatternIterGetObject(tls *libc.TLS, pat uintptr, iter uintptr) (r uintptr) {
  38332. return XFcObjectName(tls, XFcPatternIterGetObjectId(tls, pat, iter))
  38333. }
  38334. var XFcPatternIterGetObject = XIA__FcPatternIterGetObject
  38335. func XFcPatternIterGetValues(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcValueListPtr) {
  38336. var priv, v1 uintptr
  38337. _, _ = priv, v1
  38338. priv = iter
  38339. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38340. if int32((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int32(1) != 0 {
  38341. v1 = uintptr(int32((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt) + int32((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues) & ^libc.Int32FromInt32(1))
  38342. } else {
  38343. v1 = (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues
  38344. }
  38345. return v1
  38346. }
  38347. return libc.UintptrFromInt32(0)
  38348. }
  38349. func XIA__FcPatternIterValueCount(tls *libc.TLS, pat uintptr, iter uintptr) (r int32) {
  38350. var count int32
  38351. var l TFcValueListPtr
  38352. var v2 uintptr
  38353. _, _, _ = count, l, v2
  38354. count = 0
  38355. l = XFcPatternIterGetValues(tls, pat, iter)
  38356. for {
  38357. if !(l != 0) {
  38358. break
  38359. }
  38360. count++
  38361. goto _1
  38362. _1:
  38363. ;
  38364. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  38365. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  38366. } else {
  38367. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  38368. }
  38369. l = v2
  38370. }
  38371. return count
  38372. }
  38373. var XFcPatternIterValueCount = XIA__FcPatternIterValueCount
  38374. func XIA__FcPatternIterGetValue(tls *libc.TLS, pat uintptr, iter uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  38375. var l TFcValueListPtr
  38376. var v2 uintptr
  38377. _, _ = l, v2
  38378. l = XFcPatternIterGetValues(tls, pat, iter)
  38379. for {
  38380. if !(l != 0) {
  38381. break
  38382. }
  38383. if id == 0 {
  38384. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+4)
  38385. if b != 0 {
  38386. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  38387. }
  38388. return int32(_FcResultMatch)
  38389. }
  38390. id--
  38391. goto _1
  38392. _1:
  38393. ;
  38394. if int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int32(1) != 0 {
  38395. v2 = uintptr(int32(l) + int32((*T_FcValueList)(unsafe.Pointer(l)).Fnext) & ^libc.Int32FromInt32(1))
  38396. } else {
  38397. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  38398. }
  38399. l = v2
  38400. }
  38401. return int32(_FcResultNoId)
  38402. }
  38403. var XFcPatternIterGetValue = XIA__FcPatternIterGetValue
  38404. func XFcPatternSerializeAlloc(tls *libc.TLS, serialize uintptr, pat uintptr) (r TFcBool) {
  38405. var elts, v2 uintptr
  38406. var i int32
  38407. _, _, _ = elts, i, v2
  38408. elts = uintptr(int32(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  38409. if !(XFcSerializeAlloc(tls, serialize, pat, int32(16)) != 0) {
  38410. return m_FcFalse
  38411. }
  38412. if !(XFcSerializeAlloc(tls, serialize, elts, libc.Int32FromUint32(libc.Uint32FromInt32(XIA__FcPatternObjectCount(tls, pat))*uint32(8))) != 0) {
  38413. return m_FcFalse
  38414. }
  38415. i = 0
  38416. for {
  38417. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  38418. break
  38419. }
  38420. if int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  38421. v2 = uintptr(int32(elts+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  38422. } else {
  38423. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*8)).Fvalues
  38424. }
  38425. if !(XFcValueListSerializeAlloc(tls, serialize, v2) != 0) {
  38426. return m_FcFalse
  38427. }
  38428. goto _1
  38429. _1:
  38430. ;
  38431. i++
  38432. }
  38433. return int32(m_FcTrue)
  38434. }
  38435. func XFcPatternSerialize(tls *libc.TLS, serialize uintptr, pat uintptr) (r uintptr) {
  38436. var elts, elts_serialized, pat_serialized, values_serialized, v2 uintptr
  38437. var i int32
  38438. _, _, _, _, _, _ = elts, elts_serialized, i, pat_serialized, values_serialized, v2
  38439. elts = uintptr(int32(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  38440. pat_serialized = XFcSerializePtr(tls, serialize, pat)
  38441. if !(pat_serialized != 0) {
  38442. return libc.UintptrFromInt32(0)
  38443. }
  38444. *(*TFcPattern)(unsafe.Pointer(pat_serialized)) = *(*TFcPattern)(unsafe.Pointer(pat))
  38445. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Fsize = XIA__FcPatternObjectCount(tls, pat)
  38446. (*TFcRef)(unsafe.Pointer(pat_serialized + 12)).Fcount = -libc.Int32FromInt32(1)
  38447. elts_serialized = XFcSerializePtr(tls, serialize, elts)
  38448. if !(elts_serialized != 0) {
  38449. return libc.UintptrFromInt32(0)
  38450. }
  38451. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Felts_offset = int32(elts_serialized) - int32(pat_serialized)
  38452. i = 0
  38453. for {
  38454. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  38455. break
  38456. }
  38457. if int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues)&int32(1) != 0 {
  38458. v2 = uintptr(int32(elts+uintptr(i)*8) + int32((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*8)).Fvalues) & ^libc.Int32FromInt32(1))
  38459. } else {
  38460. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*8)).Fvalues
  38461. }
  38462. values_serialized = XFcValueListSerialize(tls, serialize, v2)
  38463. if !(values_serialized != 0) {
  38464. return libc.UintptrFromInt32(0)
  38465. }
  38466. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*8))).Fobject = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*8))).Fobject
  38467. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*8))).Fvalues = uintptr(int32(values_serialized) - Tintptr_t(elts_serialized+uintptr(i)*8) | libc.Int32FromInt32(1))
  38468. goto _1
  38469. _1:
  38470. ;
  38471. i++
  38472. }
  38473. if XFcDebugVal&int32(m_FC_DBG_CACHEV) != 0 {
  38474. libc.Xprintf(tls, __ccgo_ts+6925, 0)
  38475. XIA__FcPatternPrint(tls, pat)
  38476. libc.Xprintf(tls, __ccgo_ts+6939, 0)
  38477. XIA__FcPatternPrint(tls, pat_serialized)
  38478. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  38479. }
  38480. return pat_serialized
  38481. }
  38482. func XFcValueListSerializeAlloc(tls *libc.TLS, serialize uintptr, vl uintptr) (r TFcBool) {
  38483. for vl != 0 {
  38484. if !(XFcSerializeAlloc(tls, serialize, vl, int32(20)) != 0) {
  38485. return m_FcFalse
  38486. }
  38487. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  38488. case int32(_FcTypeString):
  38489. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 4 + 4))) != 0) {
  38490. return m_FcFalse
  38491. }
  38492. case int32(_FcTypeCharSet):
  38493. if !(XFcCharSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 4 + 4))) != 0) {
  38494. return m_FcFalse
  38495. }
  38496. case int32(_FcTypeLangSet):
  38497. if !(XFcLangSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 4 + 4))) != 0) {
  38498. return m_FcFalse
  38499. }
  38500. case int32(_FcTypeRange):
  38501. if !(XFcRangeSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 4 + 4))) != 0) {
  38502. return m_FcFalse
  38503. }
  38504. default:
  38505. break
  38506. }
  38507. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  38508. }
  38509. return int32(m_FcTrue)
  38510. }
  38511. func XFcValueListSerialize(tls *libc.TLS, serialize uintptr, vl uintptr) (r uintptr) {
  38512. var c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized uintptr
  38513. _, _, _, _, _, _, _ = c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized
  38514. head_serialized = libc.UintptrFromInt32(0)
  38515. prev_serialized = libc.UintptrFromInt32(0)
  38516. for vl != 0 {
  38517. vl_serialized = XFcSerializePtr(tls, serialize, vl)
  38518. if !(vl_serialized != 0) {
  38519. return libc.UintptrFromInt32(0)
  38520. }
  38521. if prev_serialized != 0 {
  38522. (*TFcValueList)(unsafe.Pointer(prev_serialized)).Fnext = uintptr(int32(vl_serialized) - int32(prev_serialized) | libc.Int32FromInt32(1))
  38523. } else {
  38524. head_serialized = vl_serialized
  38525. }
  38526. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fnext = libc.UintptrFromInt32(0)
  38527. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fvalue.Ftype1 = (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1
  38528. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  38529. case int32(_FcTypeInteger):
  38530. *(*int32)(unsafe.Pointer(vl_serialized + 4 + 4)) = *(*int32)(unsafe.Pointer(vl + 4 + 4))
  38531. case int32(_FcTypeDouble):
  38532. *(*float64)(unsafe.Pointer(vl_serialized + 4 + 4)) = *(*float64)(unsafe.Pointer(vl + 4 + 4))
  38533. case int32(_FcTypeString):
  38534. s_serialized = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 4 + 4)))
  38535. if !(s_serialized != 0) {
  38536. return libc.UintptrFromInt32(0)
  38537. }
  38538. *(*uintptr)(unsafe.Pointer(vl_serialized + 4 + 4)) = uintptr(int32(s_serialized) - Tintptr_t(vl_serialized+4) | libc.Int32FromInt32(1))
  38539. case int32(_FcTypeBool):
  38540. *(*TFcBool)(unsafe.Pointer(vl_serialized + 4 + 4)) = *(*TFcBool)(unsafe.Pointer(vl + 4 + 4))
  38541. case int32(_FcTypeMatrix):
  38542. /* can't happen */
  38543. case int32(_FcTypeCharSet):
  38544. c_serialized = XFcCharSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 4 + 4)))
  38545. if !(c_serialized != 0) {
  38546. return libc.UintptrFromInt32(0)
  38547. }
  38548. *(*uintptr)(unsafe.Pointer(vl_serialized + 4 + 4)) = uintptr(int32(c_serialized) - Tintptr_t(vl_serialized+4) | libc.Int32FromInt32(1))
  38549. case int32(_FcTypeFTFace):
  38550. /* can't happen */
  38551. case int32(_FcTypeLangSet):
  38552. l_serialized = XFcLangSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 4 + 4)))
  38553. if !(l_serialized != 0) {
  38554. return libc.UintptrFromInt32(0)
  38555. }
  38556. *(*uintptr)(unsafe.Pointer(vl_serialized + 4 + 4)) = uintptr(int32(l_serialized) - Tintptr_t(vl_serialized+4) | libc.Int32FromInt32(1))
  38557. case int32(_FcTypeRange):
  38558. r_serialized = XFcRangeSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 4 + 4)))
  38559. if !(r_serialized != 0) {
  38560. return libc.UintptrFromInt32(0)
  38561. }
  38562. *(*uintptr)(unsafe.Pointer(vl_serialized + 4 + 4)) = uintptr(int32(r_serialized) - Tintptr_t(vl_serialized+4) | libc.Int32FromInt32(1))
  38563. default:
  38564. break
  38565. }
  38566. prev_serialized = vl_serialized
  38567. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  38568. }
  38569. return head_serialized
  38570. }
  38571. func XIA__FcRangeCreateDouble(tls *libc.TLS, begin float64, end float64) (r uintptr) {
  38572. var ret uintptr
  38573. _ = ret
  38574. ret = libc.Xmalloc(tls, uint32(16))
  38575. if ret != 0 {
  38576. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = begin
  38577. (*TFcRange)(unsafe.Pointer(ret)).Fend = end
  38578. }
  38579. return ret
  38580. }
  38581. var XFcRangeCreateDouble = XIA__FcRangeCreateDouble
  38582. func XIA__FcRangeCreateInteger(tls *libc.TLS, begin TFcChar32, end TFcChar32) (r uintptr) {
  38583. var ret uintptr
  38584. _ = ret
  38585. ret = libc.Xmalloc(tls, uint32(16))
  38586. if ret != 0 {
  38587. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = float64(begin)
  38588. (*TFcRange)(unsafe.Pointer(ret)).Fend = float64(end)
  38589. }
  38590. return ret
  38591. }
  38592. var XFcRangeCreateInteger = XIA__FcRangeCreateInteger
  38593. func XIA__FcRangeDestroy(tls *libc.TLS, range1 uintptr) {
  38594. libc.Xfree(tls, range1)
  38595. }
  38596. var XFcRangeDestroy = XIA__FcRangeDestroy
  38597. func XIA__FcRangeCopy(tls *libc.TLS, range1 uintptr) (r uintptr) {
  38598. return XIA__FcRangeCreateDouble(tls, (*TFcRange)(unsafe.Pointer(range1)).Fbegin, (*TFcRange)(unsafe.Pointer(range1)).Fend)
  38599. }
  38600. var XFcRangeCopy = XIA__FcRangeCopy
  38601. func XIA__FcRangeGetDouble(tls *libc.TLS, range1 uintptr, begin uintptr, end uintptr) (r TFcBool) {
  38602. if !(range1 != 0) {
  38603. return m_FcFalse
  38604. }
  38605. if begin != 0 {
  38606. *(*float64)(unsafe.Pointer(begin)) = (*TFcRange)(unsafe.Pointer(range1)).Fbegin
  38607. }
  38608. if end != 0 {
  38609. *(*float64)(unsafe.Pointer(end)) = (*TFcRange)(unsafe.Pointer(range1)).Fend
  38610. }
  38611. return int32(m_FcTrue)
  38612. }
  38613. var XFcRangeGetDouble = XIA__FcRangeGetDouble
  38614. func XFcRangePromote(tls *libc.TLS, v float64, vbuf uintptr) (r uintptr) {
  38615. var buf uintptr
  38616. _ = buf
  38617. buf = vbuf
  38618. (*struct {
  38619. Fr TFcRange
  38620. })(unsafe.Pointer(buf)).Fr.Fbegin = v
  38621. (*struct {
  38622. Fr TFcRange
  38623. })(unsafe.Pointer(buf)).Fr.Fend = v
  38624. return buf
  38625. }
  38626. func XFcRangeIsInRange(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  38627. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fend)
  38628. }
  38629. func XFcRangeCompare(tls *libc.TLS, op TFcOp, a uintptr, b uintptr) (r TFcBool) {
  38630. switch op {
  38631. case int32(_FcOpEqual):
  38632. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin == (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend == (*TFcRange)(unsafe.Pointer(b)).Fend)
  38633. case int32(_FcOpContains):
  38634. fallthrough
  38635. case int32(_FcOpListing):
  38636. return XFcRangeIsInRange(tls, a, b)
  38637. case int32(_FcOpNotEqual):
  38638. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin != (*TFcRange)(unsafe.Pointer(b)).Fbegin || (*TFcRange)(unsafe.Pointer(a)).Fend != (*TFcRange)(unsafe.Pointer(b)).Fend)
  38639. case int32(_FcOpNotContains):
  38640. return libc.BoolInt32(!(XFcRangeIsInRange(tls, a, b) != 0))
  38641. case int32(_FcOpLess):
  38642. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend < (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  38643. case int32(_FcOpLessEqual):
  38644. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  38645. case int32(_FcOpMore):
  38646. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin > (*TFcRange)(unsafe.Pointer(b)).Fend)
  38647. case int32(_FcOpMoreEqual):
  38648. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fend)
  38649. default:
  38650. break
  38651. }
  38652. return m_FcFalse
  38653. }
  38654. func XFcRangeHash(tls *libc.TLS, r uintptr) (r1 TFcChar32) {
  38655. var b, e int32
  38656. _, _ = b, e
  38657. b = int32((*TFcRange)(unsafe.Pointer(r)).Fbegin * libc.Float64FromInt32(100))
  38658. e = int32((*TFcRange)(unsafe.Pointer(r)).Fend * libc.Float64FromInt32(100))
  38659. return libc.Uint32FromInt32(b ^ b<<int32(1) ^ e<<int32(9))
  38660. }
  38661. func XFcRangeSerializeAlloc(tls *libc.TLS, serialize uintptr, r uintptr) (r1 TFcBool) {
  38662. if !(XFcSerializeAlloc(tls, serialize, r, int32(16)) != 0) {
  38663. return m_FcFalse
  38664. }
  38665. return int32(m_FcTrue)
  38666. }
  38667. func XFcRangeSerialize(tls *libc.TLS, serialize uintptr, r uintptr) (r1 uintptr) {
  38668. var r_serialize uintptr
  38669. _ = r_serialize
  38670. r_serialize = XFcSerializePtr(tls, serialize, r)
  38671. if !(r_serialize != 0) {
  38672. return libc.UintptrFromInt32(0)
  38673. }
  38674. libc.Xmemcpy(tls, r_serialize, r, uint32(16))
  38675. return r_serialize
  38676. }
  38677. const m_UINT32_MAX1 = 4294967295
  38678. func XFcAlignSize(tls *libc.TLS, size Tintptr_t) (r Tintptr_t) {
  38679. var rem Tintptr_t
  38680. _ = rem
  38681. rem = libc.Int32FromUint32(libc.Uint32FromInt32(size) % uint32(8))
  38682. if rem != 0 {
  38683. size = Tintptr_t(uint32(size) + (libc.Uint32FromInt64(8) - libc.Uint32FromInt32(rem)))
  38684. }
  38685. return size
  38686. }
  38687. /*
  38688. * Serialization helper object -- allocate space in the
  38689. * yet-to-be-created linear array for a serialized font set
  38690. */
  38691. func XFcSerializeCreate(tls *libc.TLS) (r uintptr) {
  38692. var serialize uintptr
  38693. _ = serialize
  38694. serialize = libc.Xmalloc(tls, uint32(28))
  38695. if !(serialize != 0) {
  38696. return libc.UintptrFromInt32(0)
  38697. }
  38698. (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize = 0
  38699. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = libc.UintptrFromInt32(0)
  38700. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = libc.UintptrFromInt32(0)
  38701. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = libc.UintptrFromInt32(0)
  38702. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = uint32(0)
  38703. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint32(0)
  38704. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = uint32(0)
  38705. return serialize
  38706. }
  38707. func XFcSerializeDestroy(tls *libc.TLS, serialize uintptr) {
  38708. libc.Xfree(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets)
  38709. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  38710. XFcCharSetFreezerDestroy(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer)
  38711. }
  38712. libc.Xfree(tls, serialize)
  38713. }
  38714. func _FcSerializeNextBucketIndex(tls *libc.TLS, serialize uintptr, index Tsize_t) (r Tsize_t) {
  38715. if index == uint32(0) {
  38716. index = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38717. }
  38718. index--
  38719. return index
  38720. }
  38721. // C documentation
  38722. //
  38723. // /*
  38724. // * Based on triple32
  38725. // * https://github.com/skeeto/hash-prospector
  38726. // */
  38727. func _FcSerializeHashPtr(tls *libc.TLS, object uintptr) (r Tuintptr_t) {
  38728. var x Tuintptr_t
  38729. var v1 uint32
  38730. _, _ = x, v1
  38731. x = uint32(object)
  38732. x ^= x >> int32(17)
  38733. x *= uint32(0xed5ad4bb)
  38734. x ^= x >> int32(11)
  38735. x *= uint32(0xac4c1b51)
  38736. x ^= x >> int32(15)
  38737. x *= uint32(0x31848bab)
  38738. x ^= x >> int32(14)
  38739. if x != 0 {
  38740. v1 = x
  38741. } else {
  38742. v1 = uint32(1)
  38743. }
  38744. return v1 /* 0 reserved to mark empty, x starts out 0 */
  38745. }
  38746. func _FcSerializeFind(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  38747. var bucket uintptr
  38748. var buckets_count, index, n Tsize_t
  38749. var hash Tuintptr_t
  38750. _, _, _, _, _ = bucket, buckets_count, hash, index, n
  38751. hash = _FcSerializeHashPtr(tls, object)
  38752. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38753. index = hash & (buckets_count - uint32(1))
  38754. n = uint32(0)
  38755. for {
  38756. if !(n < buckets_count) {
  38757. break
  38758. }
  38759. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*12
  38760. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint32(0) {
  38761. return libc.UintptrFromInt32(0)
  38762. }
  38763. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  38764. return bucket
  38765. }
  38766. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  38767. goto _1
  38768. _1:
  38769. ;
  38770. n++
  38771. }
  38772. return libc.UintptrFromInt32(0)
  38773. }
  38774. func _FcSerializeUncheckedSet(tls *libc.TLS, serialize uintptr, insert uintptr) (r uintptr) {
  38775. var bucket, object uintptr
  38776. var buckets_count, index, n Tsize_t
  38777. _, _, _, _, _ = bucket, buckets_count, index, n, object
  38778. object = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fobject
  38779. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38780. index = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fhash & (buckets_count - uint32(1))
  38781. n = uint32(0)
  38782. for {
  38783. if !(n < buckets_count) {
  38784. break
  38785. }
  38786. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*12
  38787. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint32(0) {
  38788. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  38789. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used++
  38790. return bucket
  38791. }
  38792. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  38793. /* FcSerializeAlloc should not allow this to happen. */
  38794. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  38795. return bucket
  38796. }
  38797. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  38798. goto _1
  38799. _1:
  38800. ;
  38801. n++
  38802. }
  38803. return libc.UintptrFromInt32(0)
  38804. }
  38805. func _FcSerializeResize(tls *libc.TLS, serialize uintptr, new_count Tsize_t) (r TFcBool) {
  38806. var b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end uintptr
  38807. var old_count, old_used Tsize_t
  38808. _, _, _, _, _, _, _, _ = b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end, old_count, old_used
  38809. old_used = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used
  38810. old_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38811. old_buckets = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets
  38812. old_buckets_end = old_buckets + uintptr(old_count)*12
  38813. new_buckets = libc.Xmalloc(tls, new_count*uint32(12))
  38814. if !(new_buckets != 0) {
  38815. return m_FcFalse
  38816. }
  38817. new_buckets_end = new_buckets + uintptr(new_count)*12
  38818. b = new_buckets
  38819. for {
  38820. if !(b < new_buckets_end) {
  38821. break
  38822. }
  38823. (*TFcSerializeBucket)(unsafe.Pointer(b)).Fhash = uint32(0)
  38824. goto _1
  38825. _1:
  38826. ;
  38827. b += 12
  38828. }
  38829. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = new_buckets
  38830. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = new_count
  38831. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint32(0)
  38832. b1 = old_buckets
  38833. for {
  38834. if !(b1 < old_buckets_end) {
  38835. break
  38836. }
  38837. if (*TFcSerializeBucket)(unsafe.Pointer(b1)).Fhash != uint32(0) && !(_FcSerializeUncheckedSet(tls, serialize, b1) != 0) {
  38838. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = old_buckets
  38839. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = old_count
  38840. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = old_used
  38841. libc.Xfree(tls, new_buckets)
  38842. return m_FcFalse
  38843. }
  38844. goto _2
  38845. _2:
  38846. ;
  38847. b1 += 12
  38848. }
  38849. libc.Xfree(tls, old_buckets)
  38850. return int32(m_FcTrue)
  38851. }
  38852. func _FcSerializeSet(tls *libc.TLS, serialize uintptr, object uintptr, offset Tintptr_t) (r uintptr) {
  38853. bp := tls.Alloc(16)
  38854. defer tls.Free(16)
  38855. var capacity Tsize_t
  38856. var _ /* bucket at bp+0 */ TFcSerializeBucket
  38857. _ = capacity
  38858. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used >= (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max {
  38859. capacity = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38860. if capacity == uint32(0) {
  38861. capacity = uint32(4)
  38862. } else {
  38863. if capacity > libc.Uint32FromUint32(0xffffffff)/libc.Uint32FromUint32(2) {
  38864. return libc.UintptrFromInt32(0)
  38865. } else {
  38866. capacity *= uint32(2)
  38867. }
  38868. }
  38869. if !(_FcSerializeResize(tls, serialize, capacity) != 0) {
  38870. return libc.UintptrFromInt32(0)
  38871. }
  38872. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = capacity / uint32(4) * uint32(3)
  38873. }
  38874. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fobject = object
  38875. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Foffset = offset
  38876. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fhash = _FcSerializeHashPtr(tls, object)
  38877. return _FcSerializeUncheckedSet(tls, serialize, bp)
  38878. }
  38879. // C documentation
  38880. //
  38881. // /*
  38882. // * Allocate space for an object in the serialized array. Keep track
  38883. // * of where the object is placed and only allocate one copy of each object
  38884. // */
  38885. func XFcSerializeAlloc(tls *libc.TLS, serialize uintptr, object uintptr, size int32) (r TFcBool) {
  38886. var bucket uintptr
  38887. _ = bucket
  38888. bucket = _FcSerializeFind(tls, serialize, object)
  38889. if bucket != 0 {
  38890. return int32(m_FcTrue)
  38891. }
  38892. if !(_FcSerializeSet(tls, serialize, object, (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize) != 0) {
  38893. return m_FcFalse
  38894. }
  38895. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, size)
  38896. return int32(m_FcTrue)
  38897. }
  38898. // C documentation
  38899. //
  38900. // /*
  38901. // * Reserve space in the serialization array
  38902. // */
  38903. func XFcSerializeReserve(tls *libc.TLS, serialize uintptr, size int32) (r Tintptr_t) {
  38904. var offset Tintptr_t
  38905. _ = offset
  38906. offset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  38907. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, size)
  38908. return offset
  38909. }
  38910. // C documentation
  38911. //
  38912. // /*
  38913. // * Given an object, return the offset in the serialized array where
  38914. // * the serialized copy of the object is stored
  38915. // */
  38916. func XFcSerializeOffset(tls *libc.TLS, serialize uintptr, object uintptr) (r Tintptr_t) {
  38917. var bucket uintptr
  38918. var v1 int32
  38919. _, _ = bucket, v1
  38920. bucket = _FcSerializeFind(tls, serialize, object)
  38921. if bucket != 0 {
  38922. v1 = (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Foffset
  38923. } else {
  38924. v1 = 0
  38925. }
  38926. return v1
  38927. }
  38928. // C documentation
  38929. //
  38930. // /*
  38931. // * Given a cache and an object, return a pointer to where
  38932. // * the serialized copy of the object is stored
  38933. // */
  38934. func XFcSerializePtr(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  38935. var offset Tintptr_t
  38936. _ = offset
  38937. offset = XFcSerializeOffset(tls, serialize, object)
  38938. if !(offset != 0) {
  38939. return libc.UintptrFromInt32(0)
  38940. }
  38941. return (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear + uintptr(offset)
  38942. }
  38943. func XFcStrSerializeAlloc(tls *libc.TLS, serialize uintptr, str uintptr) (r TFcBool) {
  38944. return XFcSerializeAlloc(tls, serialize, str, libc.Int32FromUint32(libc.Xstrlen(tls, str)+uint32(1)))
  38945. }
  38946. func XFcStrSerialize(tls *libc.TLS, serialize uintptr, str uintptr) (r uintptr) {
  38947. var str_serialize uintptr
  38948. _ = str_serialize
  38949. str_serialize = XFcSerializePtr(tls, serialize, str)
  38950. if !(str_serialize != 0) {
  38951. return libc.UintptrFromInt32(0)
  38952. }
  38953. libc.Xstrcpy(tls, str_serialize, str)
  38954. return str_serialize
  38955. }
  38956. const m_CANBSIZ = 255
  38957. const m_DEV_BSIZE = 512
  38958. const m_FC_ARCH_ENDIAN1 = "le"
  38959. const m_FC_DIR_SEPARATOR3 = 47
  38960. const m_FIOASYNC = 0x5452
  38961. const m_FIOCLEX = 0x5451
  38962. const m_FIOGETOWN = 0x8903
  38963. const m_FIONBIO = 0x5421
  38964. const m_FIONCLEX = 0x5450
  38965. const m_FIONREAD = 0x541B
  38966. const m_FIOQSIZE = 0x5460
  38967. const m_FIOSETOWN = 0x8901
  38968. const m_MAXHOSTNAMELEN = 64
  38969. const m_MAXNAMLEN = 255
  38970. const m_MAXPATHLEN = 4096
  38971. const m_MAXSYMLINKS = 20
  38972. const m_MNT_DETACH = 2
  38973. const m_MNT_EXPIRE = 4
  38974. const m_MNT_FORCE = 1
  38975. const m_MS_BIND = 4096
  38976. const m_MS_DIRSYNC = 128
  38977. const m_MS_MANDLOCK = 64
  38978. const m_MS_MGC_MSK = 0xffff0000
  38979. const m_MS_MGC_VAL = 0xc0ed0000
  38980. const m_MS_MOVE = 8192
  38981. const m_MS_NOATIME = 1024
  38982. const m_MS_NODEV = 4
  38983. const m_MS_NODIRATIME = 2048
  38984. const m_MS_NOEXEC = 8
  38985. const m_MS_NOSUID = 2
  38986. const m_MS_NOSYMFOLLOW = 256
  38987. const m_MS_RDONLY = 1
  38988. const m_MS_REC = 16384
  38989. const m_MS_REMOUNT = 32
  38990. const m_MS_SILENT = 32768
  38991. const m_MS_SYNCHRONOUS = 16
  38992. const m_NBBY = 8
  38993. const m_NCARGS = 131072
  38994. const m_NGROUPS = 32
  38995. const m_NOFILE = 256
  38996. const m_N_6PACK = 7
  38997. const m_N_AX25 = 5
  38998. const m_N_CAIF = 20
  38999. const m_N_GIGASET_M101 = 16
  39000. const m_N_GSM0710 = 21
  39001. const m_N_HCI = 15
  39002. const m_N_HDLC = 13
  39003. const m_N_IRDA = 11
  39004. const m_N_MASC = 8
  39005. const m_N_MOUSE = 2
  39006. const m_N_NCI = 25
  39007. const m_N_NULL = 27
  39008. const m_N_PPP = 3
  39009. const m_N_PPS = 18
  39010. const m_N_PROFIBUS_FDL = 10
  39011. const m_N_R3964 = 9
  39012. const m_N_SLCAN = 17
  39013. const m_N_SLIP = 1
  39014. const m_N_SMSBLOCK = 12
  39015. const m_N_SPEAKUP = 26
  39016. const m_N_STRIP = 4
  39017. const m_N_SYNC_PPP = 14
  39018. const m_N_TI_WL = 22
  39019. const m_N_TRACEROUTER = 24
  39020. const m_N_TRACESINK = 23
  39021. const m_N_TTY = 0
  39022. const m_N_V253 = 19
  39023. const m_N_X25 = 6
  39024. const m_O_CLOEXEC2 = 02000000
  39025. const m_O_CREAT1 = 0100
  39026. const m_O_LARGEFILE2 = 0100000
  39027. const m_O_RDONLY2 = 0
  39028. const m_PRIO_MAX = 20
  39029. const m_PRIO_PGRP = 1
  39030. const m_PRIO_PROCESS = 0
  39031. const m_PRIO_USER = 2
  39032. const m_RLIMIT_AS = 9
  39033. const m_RLIMIT_CORE = 4
  39034. const m_RLIMIT_CPU = 0
  39035. const m_RLIMIT_DATA = 2
  39036. const m_RLIMIT_FSIZE = 1
  39037. const m_RLIMIT_LOCKS = 10
  39038. const m_RLIMIT_MEMLOCK = 8
  39039. const m_RLIMIT_MSGQUEUE = 12
  39040. const m_RLIMIT_NICE = 13
  39041. const m_RLIMIT_NLIMITS = 16
  39042. const m_RLIMIT_NOFILE = 7
  39043. const m_RLIMIT_NPROC = 6
  39044. const m_RLIMIT_RSS = 5
  39045. const m_RLIMIT_RTPRIO = 14
  39046. const m_RLIMIT_RTTIME = 15
  39047. const m_RLIMIT_SIGPENDING = 11
  39048. const m_RLIMIT_STACK = 3
  39049. const m_RLIM_NLIMITS = "RLIMIT_NLIMITS"
  39050. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  39051. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  39052. const m_RUSAGE_SELF = 0
  39053. const m_RUSAGE_THREAD = 1
  39054. const m_SIOCADDDLCI = 0x8980
  39055. const m_SIOCADDMULTI = 0x8931
  39056. const m_SIOCADDRT = 0x890B
  39057. const m_SIOCATMARK = 0x8905
  39058. const m_SIOCDARP = 0x8953
  39059. const m_SIOCDELDLCI = 0x8981
  39060. const m_SIOCDELMULTI = 0x8932
  39061. const m_SIOCDELRT = 0x890C
  39062. const m_SIOCDEVPRIVATE = 0x89F0
  39063. const m_SIOCDIFADDR = 0x8936
  39064. const m_SIOCDRARP = 0x8960
  39065. const m_SIOCGARP = 0x8954
  39066. const m_SIOCGIFADDR = 0x8915
  39067. const m_SIOCGIFBR = 0x8940
  39068. const m_SIOCGIFBRDADDR = 0x8919
  39069. const m_SIOCGIFCONF = 0x8912
  39070. const m_SIOCGIFCOUNT = 0x8938
  39071. const m_SIOCGIFDSTADDR = 0x8917
  39072. const m_SIOCGIFENCAP = 0x8925
  39073. const m_SIOCGIFFLAGS = 0x8913
  39074. const m_SIOCGIFHWADDR = 0x8927
  39075. const m_SIOCGIFINDEX = 0x8933
  39076. const m_SIOCGIFMAP = 0x8970
  39077. const m_SIOCGIFMEM = 0x891f
  39078. const m_SIOCGIFMETRIC = 0x891d
  39079. const m_SIOCGIFMTU = 0x8921
  39080. const m_SIOCGIFNAME = 0x8910
  39081. const m_SIOCGIFNETMASK = 0x891b
  39082. const m_SIOCGIFPFLAGS = 0x8935
  39083. const m_SIOCGIFSLAVE = 0x8929
  39084. const m_SIOCGIFTXQLEN = 0x8942
  39085. const m_SIOCGPGRP = 0x8904
  39086. const m_SIOCGRARP = 0x8961
  39087. const m_SIOCPROTOPRIVATE = 0x89E0
  39088. const m_SIOCRTMSG = 0x890D
  39089. const m_SIOCSARP = 0x8955
  39090. const m_SIOCSIFADDR = 0x8916
  39091. const m_SIOCSIFBR = 0x8941
  39092. const m_SIOCSIFBRDADDR = 0x891a
  39093. const m_SIOCSIFDSTADDR = 0x8918
  39094. const m_SIOCSIFENCAP = 0x8926
  39095. const m_SIOCSIFFLAGS = 0x8914
  39096. const m_SIOCSIFHWADDR = 0x8924
  39097. const m_SIOCSIFHWBROADCAST = 0x8937
  39098. const m_SIOCSIFLINK = 0x8911
  39099. const m_SIOCSIFMAP = 0x8971
  39100. const m_SIOCSIFMEM = 0x8920
  39101. const m_SIOCSIFMETRIC = 0x891e
  39102. const m_SIOCSIFMTU = 0x8922
  39103. const m_SIOCSIFNAME = 0x8923
  39104. const m_SIOCSIFNETMASK = 0x891c
  39105. const m_SIOCSIFPFLAGS = 0x8934
  39106. const m_SIOCSIFSLAVE = 0x8930
  39107. const m_SIOCSIFTXQLEN = 0x8943
  39108. const m_SIOCSPGRP = 0x8902
  39109. const m_SIOCSRARP = 0x8962
  39110. const m_SIOGIFINDEX = "SIOCGIFINDEX"
  39111. const m_ST_APPEND = 256
  39112. const m_ST_IMMUTABLE = 512
  39113. const m_ST_MANDLOCK = 64
  39114. const m_ST_NOATIME = 1024
  39115. const m_ST_NODEV = 4
  39116. const m_ST_NODIRATIME = 2048
  39117. const m_ST_NOEXEC = 8
  39118. const m_ST_NOSUID = 2
  39119. const m_ST_RDONLY = 1
  39120. const m_ST_RELATIME = 4096
  39121. const m_ST_SYNCHRONOUS = 16
  39122. const m_ST_WRITE = 128
  39123. const m_S_IFDIR3 = 16384
  39124. const m_S_IFMT5 = 61440
  39125. const m_TCFLSH = 0x540B
  39126. const m_TCGETA = 0x5405
  39127. const m_TCGETS = 0x5401
  39128. const m_TCGETX = 0x5432
  39129. const m_TCSBRK = 0x5409
  39130. const m_TCSBRKP = 0x5425
  39131. const m_TCSETA = 0x5406
  39132. const m_TCSETAF = 0x5408
  39133. const m_TCSETAW = 0x5407
  39134. const m_TCSETS = 0x5402
  39135. const m_TCSETSF = 0x5404
  39136. const m_TCSETSW = 0x5403
  39137. const m_TCSETX = 0x5433
  39138. const m_TCSETXF = 0x5434
  39139. const m_TCSETXW = 0x5435
  39140. const m_TCXONC = 0x540A
  39141. const m_TIOCCBRK = 0x5428
  39142. const m_TIOCCONS = 0x541D
  39143. const m_TIOCEXCL = 0x540C
  39144. const m_TIOCGDEV = 0x80045432
  39145. const m_TIOCGETD = 0x5424
  39146. const m_TIOCGEXCL = 0x80045440
  39147. const m_TIOCGICOUNT = 0x545D
  39148. const m_TIOCGISO7816 = 0x80285442
  39149. const m_TIOCGLCKTRMIOS = 0x5456
  39150. const m_TIOCGPGRP = 0x540F
  39151. const m_TIOCGPKT = 0x80045438
  39152. const m_TIOCGPTLCK = 0x80045439
  39153. const m_TIOCGPTN = 0x80045430
  39154. const m_TIOCGPTPEER = 0x5441
  39155. const m_TIOCGRS485 = 0x542E
  39156. const m_TIOCGSERIAL = 0x541E
  39157. const m_TIOCGSID = 0x5429
  39158. const m_TIOCGSOFTCAR = 0x5419
  39159. const m_TIOCGWINSZ = 0x5413
  39160. const m_TIOCINQ = "FIONREAD"
  39161. const m_TIOCLINUX = 0x541C
  39162. const m_TIOCMBIC = 0x5417
  39163. const m_TIOCMBIS = 0x5416
  39164. const m_TIOCMGET = 0x5415
  39165. const m_TIOCMIWAIT = 0x545C
  39166. const m_TIOCMSET = 0x5418
  39167. const m_TIOCM_CAR = 0x040
  39168. const m_TIOCM_CD = "TIOCM_CAR"
  39169. const m_TIOCM_CTS = 0x020
  39170. const m_TIOCM_DSR = 0x100
  39171. const m_TIOCM_DTR = 0x002
  39172. const m_TIOCM_LE = 0x001
  39173. const m_TIOCM_LOOP = 0x8000
  39174. const m_TIOCM_OUT1 = 0x2000
  39175. const m_TIOCM_OUT2 = 0x4000
  39176. const m_TIOCM_RI = "TIOCM_RNG"
  39177. const m_TIOCM_RNG = 0x080
  39178. const m_TIOCM_RTS = 0x004
  39179. const m_TIOCM_SR = 0x010
  39180. const m_TIOCM_ST = 0x008
  39181. const m_TIOCNOTTY = 0x5422
  39182. const m_TIOCNXCL = 0x540D
  39183. const m_TIOCOUTQ = 0x5411
  39184. const m_TIOCPKT = 0x5420
  39185. const m_TIOCPKT_DATA = 0
  39186. const m_TIOCPKT_DOSTOP = 32
  39187. const m_TIOCPKT_FLUSHREAD = 1
  39188. const m_TIOCPKT_FLUSHWRITE = 2
  39189. const m_TIOCPKT_IOCTL = 64
  39190. const m_TIOCPKT_NOSTOP = 16
  39191. const m_TIOCPKT_START = 8
  39192. const m_TIOCPKT_STOP = 4
  39193. const m_TIOCSBRK = 0x5427
  39194. const m_TIOCSCTTY = 0x540E
  39195. const m_TIOCSERCONFIG = 0x5453
  39196. const m_TIOCSERGETLSR = 0x5459
  39197. const m_TIOCSERGETMULTI = 0x545A
  39198. const m_TIOCSERGSTRUCT = 0x5458
  39199. const m_TIOCSERGWILD = 0x5454
  39200. const m_TIOCSERSETMULTI = 0x545B
  39201. const m_TIOCSERSWILD = 0x5455
  39202. const m_TIOCSER_TEMT = 1
  39203. const m_TIOCSETD = 0x5423
  39204. const m_TIOCSIG = 0x40045436
  39205. const m_TIOCSISO7816 = 0xc0285443
  39206. const m_TIOCSLCKTRMIOS = 0x5457
  39207. const m_TIOCSPGRP = 0x5410
  39208. const m_TIOCSPTLCK = 0x40045431
  39209. const m_TIOCSRS485 = 0x542F
  39210. const m_TIOCSSERIAL = 0x541F
  39211. const m_TIOCSSOFTCAR = 0x541A
  39212. const m_TIOCSTI = 0x5412
  39213. const m_TIOCSWINSZ = 0x5414
  39214. const m_TIOCVHANGUP = 0x5437
  39215. const m_UINT32_MAX2 = "0xffffffffu"
  39216. const m_UMOUNT_NOFOLLOW = 8
  39217. const m__IOC_NONE = 0
  39218. const m__IOC_READ = 2
  39219. const m__IOC_WRITE = 1
  39220. const m_prlimit64 = "prlimit"
  39221. type Tstatvfs = struct {
  39222. Ff_bsize uint32
  39223. Ff_frsize uint32
  39224. Ff_blocks Tfsblkcnt_t
  39225. Ff_bfree Tfsblkcnt_t
  39226. Ff_bavail Tfsblkcnt_t
  39227. Ff_files Tfsfilcnt_t
  39228. Ff_ffree Tfsfilcnt_t
  39229. Ff_favail Tfsfilcnt_t
  39230. Ff_fsid uint32
  39231. F__ccgo60 uint32
  39232. Ff_flag uint32
  39233. Ff_namemax uint32
  39234. Ff_type uint32
  39235. F__reserved [5]int32
  39236. }
  39237. type Tfsid_t = struct {
  39238. F__val [2]int32
  39239. }
  39240. type t__fsid_t = Tfsid_t
  39241. type Tstatfs = struct {
  39242. Ff_type uint32
  39243. Ff_bsize uint32
  39244. Ff_blocks Tfsblkcnt_t
  39245. Ff_bfree Tfsblkcnt_t
  39246. Ff_bavail Tfsblkcnt_t
  39247. Ff_files Tfsfilcnt_t
  39248. Ff_ffree Tfsfilcnt_t
  39249. Ff_fsid Tfsid_t
  39250. Ff_namelen uint32
  39251. Ff_frsize uint32
  39252. Ff_flags uint32
  39253. Ff_spare [4]uint32
  39254. }
  39255. type Trlim_t = uint64
  39256. type Trlimit = struct {
  39257. Frlim_cur Trlim_t
  39258. Frlim_max Trlim_t
  39259. }
  39260. type Trusage = struct {
  39261. Fru_utime Ttimeval
  39262. Fru_stime Ttimeval
  39263. Fru_maxrss int32
  39264. Fru_ixrss int32
  39265. Fru_idrss int32
  39266. Fru_isrss int32
  39267. Fru_minflt int32
  39268. Fru_majflt int32
  39269. Fru_nswap int32
  39270. Fru_inblock int32
  39271. Fru_oublock int32
  39272. Fru_msgsnd int32
  39273. Fru_msgrcv int32
  39274. Fru_nsignals int32
  39275. Fru_nvcsw int32
  39276. Fru_nivcsw int32
  39277. F__reserved [16]int32
  39278. }
  39279. type Twinsize = struct {
  39280. Fws_row uint16
  39281. Fws_col uint16
  39282. Fws_xpixel uint16
  39283. Fws_ypixel uint16
  39284. }
  39285. func XFcStat(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  39286. return libc.Xstat(tls, file, statb)
  39287. }
  39288. /* Adler-32 checksum implementation */
  39289. type TAdler32 = struct {
  39290. Fa int32
  39291. Fb int32
  39292. }
  39293. func _Adler32Init(tls *libc.TLS, ctx uintptr) {
  39294. (*TAdler32)(unsafe.Pointer(ctx)).Fa = int32(1)
  39295. (*TAdler32)(unsafe.Pointer(ctx)).Fb = 0
  39296. }
  39297. func _Adler32Update(tls *libc.TLS, ctx uintptr, data uintptr, data_len int32) {
  39298. var v1 int32
  39299. var v2 uintptr
  39300. _, _ = v1, v2
  39301. for {
  39302. v1 = data_len
  39303. data_len--
  39304. if !(v1 != 0) {
  39305. break
  39306. }
  39307. v2 = data
  39308. data++
  39309. (*TAdler32)(unsafe.Pointer(ctx)).Fa = ((*TAdler32)(unsafe.Pointer(ctx)).Fa + int32(*(*int8)(unsafe.Pointer(v2)))) % int32(65521)
  39310. (*TAdler32)(unsafe.Pointer(ctx)).Fb = ((*TAdler32)(unsafe.Pointer(ctx)).Fb + (*TAdler32)(unsafe.Pointer(ctx)).Fa) % int32(65521)
  39311. }
  39312. }
  39313. func _Adler32Finish(tls *libc.TLS, ctx uintptr) (r int32) {
  39314. return (*TAdler32)(unsafe.Pointer(ctx)).Fa + (*TAdler32)(unsafe.Pointer(ctx)).Fb<<int32(16)
  39315. }
  39316. // C documentation
  39317. //
  39318. // /* dirent.d_type can be relied upon on FAT filesystem */
  39319. func _FcDirChecksumScandirFilter(tls *libc.TLS, entry uintptr) (r TFcBool) {
  39320. return libc.BoolInt32(libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(entry)).Fd_type) != int32(m_DT_DIR))
  39321. }
  39322. func _FcDirChecksumScandirSorter(tls *libc.TLS, lhs uintptr, rhs uintptr) (r int32) {
  39323. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(lhs))+19, *(*uintptr)(unsafe.Pointer(rhs))+19)
  39324. }
  39325. func _free_dirent(tls *libc.TLS, p uintptr) {
  39326. var x uintptr
  39327. _ = x
  39328. x = p
  39329. for {
  39330. if !(*(*uintptr)(unsafe.Pointer(x)) != libc.UintptrFromInt32(0)) {
  39331. break
  39332. }
  39333. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(x)))
  39334. goto _1
  39335. _1:
  39336. ;
  39337. x += 4
  39338. }
  39339. libc.Xfree(tls, p)
  39340. }
  39341. func XFcScandir(tls *libc.TLS, dirp uintptr, namelist uintptr, filter uintptr, compar uintptr) (r int32) {
  39342. var d, dent, dlist, dlp, p, v1 uintptr
  39343. var dentlen, lsize, n, v2 Tsize_t
  39344. _, _, _, _, _, _, _, _, _, _ = d, dent, dentlen, dlist, dlp, lsize, n, p, v1, v2
  39345. lsize = uint32(128)
  39346. n = uint32(0)
  39347. d = libc.Xopendir(tls, dirp)
  39348. if !(d != 0) {
  39349. return -int32(1)
  39350. }
  39351. dlist = libc.Xmalloc(tls, uint32(4)*lsize)
  39352. if !(dlist != 0) {
  39353. libc.Xclosedir(tls, d)
  39354. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39355. return -int32(1)
  39356. }
  39357. *(*uintptr)(unsafe.Pointer(dlist)) = libc.UintptrFromInt32(0)
  39358. for {
  39359. v1 = libc.Xreaddir(tls, d)
  39360. dent = v1
  39361. if !(v1 != 0) {
  39362. break
  39363. }
  39364. if !(filter != 0) || (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{filter})))(tls, dent) != 0 {
  39365. dentlen = libc.Uint32FromInt32(Tintptr_t(dent+19)-int32(dent)) + libc.Xstrlen(tls, dent+19) + uint32(1)
  39366. dentlen = (dentlen + libc.Uint32FromInt32(m_ALIGNOF_VOID_P) - libc.Uint32FromInt32(1)) & libc.Uint32FromInt32(^(libc.Int32FromInt32(m_ALIGNOF_VOID_P) - libc.Int32FromInt32(1)))
  39367. p = libc.Xmalloc(tls, dentlen)
  39368. if !(p != 0) {
  39369. _free_dirent(tls, dlist)
  39370. libc.Xclosedir(tls, d)
  39371. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39372. return -int32(1)
  39373. }
  39374. libc.Xmemcpy(tls, p, dent, dentlen)
  39375. if n+uint32(1) >= lsize {
  39376. lsize += uint32(128)
  39377. dlp = libc.Xrealloc(tls, dlist, uint32(4)*lsize)
  39378. if !(dlp != 0) {
  39379. libc.Xfree(tls, p)
  39380. _free_dirent(tls, dlist)
  39381. libc.Xclosedir(tls, d)
  39382. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39383. return -int32(1)
  39384. }
  39385. dlist = dlp
  39386. }
  39387. v2 = n
  39388. n++
  39389. *(*uintptr)(unsafe.Pointer(dlist + uintptr(v2)*4)) = p
  39390. *(*uintptr)(unsafe.Pointer(dlist + uintptr(n)*4)) = libc.UintptrFromInt32(0)
  39391. }
  39392. }
  39393. libc.Xclosedir(tls, d)
  39394. libc.Xqsort(tls, dlist, n, uint32(4), compar)
  39395. *(*uintptr)(unsafe.Pointer(namelist)) = dlist
  39396. return libc.Int32FromUint32(n)
  39397. }
  39398. func _FcDirChecksum1(tls *libc.TLS, dir uintptr, checksum uintptr) (r int32) {
  39399. bp := tls.Alloc(160)
  39400. defer tls.Free(160)
  39401. var dlen, len1 Tsize_t
  39402. var f uintptr
  39403. var n, ret, v1 int32
  39404. var _ /* ctx at bp+0 */ TAdler32
  39405. var _ /* dtype at bp+12 */ int32
  39406. var _ /* files at bp+8 */ uintptr
  39407. var _ /* statb at bp+16 */ Tstat
  39408. _, _, _, _, _, _ = dlen, f, len1, n, ret, v1
  39409. ret = 0
  39410. len1 = libc.Xstrlen(tls, dir)
  39411. _Adler32Init(tls, bp)
  39412. n = XFcScandir(tls, dir, bp+8, __ccgo_fp(_FcDirChecksumScandirFilter), __ccgo_fp(_FcDirChecksumScandirSorter))
  39413. if n == -int32(1) {
  39414. return -int32(1)
  39415. }
  39416. for {
  39417. v1 = n
  39418. n--
  39419. if !(v1 != 0) {
  39420. break
  39421. }
  39422. dlen = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4))+19)
  39423. *(*int32)(unsafe.Pointer(bp + 12)) = libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4)))).Fd_type)
  39424. if *(*int32)(unsafe.Pointer(bp + 12)) == m_DT_UNKNOWN {
  39425. f = libc.Xmalloc(tls, len1+uint32(1)+dlen+uint32(1))
  39426. if !(f != 0) {
  39427. ret = -int32(1)
  39428. goto bail
  39429. }
  39430. libc.Xmemcpy(tls, f, dir, len1)
  39431. *(*int8)(unsafe.Pointer(f + uintptr(len1))) = int8('/')
  39432. libc.Xmemcpy(tls, f+uintptr(len1+uint32(1)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4))+19, dlen)
  39433. *(*int8)(unsafe.Pointer(f + uintptr(len1+uint32(1)+dlen))) = 0
  39434. if libc.Xlstat(tls, f, bp+16) < 0 {
  39435. ret = -int32(1)
  39436. libc.Xfree(tls, f)
  39437. goto bail
  39438. }
  39439. if (*(*Tstat)(unsafe.Pointer(bp + 16))).Fst_mode&uint32(m_S_IFMT5) == uint32(m_S_IFDIR3) {
  39440. libc.Xfree(tls, f)
  39441. goto bail
  39442. }
  39443. libc.Xfree(tls, f)
  39444. *(*int32)(unsafe.Pointer(bp + 12)) = libc.Int32FromUint32((*(*Tstat)(unsafe.Pointer(bp + 16))).Fst_mode)
  39445. }
  39446. _Adler32Update(tls, bp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4))+19, libc.Int32FromUint32(dlen+uint32(1)))
  39447. _Adler32Update(tls, bp, bp+12, int32(4))
  39448. goto bail
  39449. bail:
  39450. ;
  39451. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*4)))
  39452. }
  39453. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39454. if ret == -int32(1) {
  39455. return -int32(1)
  39456. }
  39457. *(*Ttime_t)(unsafe.Pointer(checksum)) = int64(_Adler32Finish(tls, bp))
  39458. return 0
  39459. }
  39460. func XFcStatChecksum(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  39461. if XFcStat(tls, file, statb) == -int32(1) {
  39462. return -int32(1)
  39463. }
  39464. /* We have a workaround of the broken stat() in FcStat() for Win32.
  39465. * No need to do something further more.
  39466. */
  39467. if XFcIsFsMtimeBroken(tls, file) != 0 {
  39468. if _FcDirChecksum1(tls, file, statb+112) == -int32(1) {
  39469. return -int32(1)
  39470. }
  39471. }
  39472. return 0
  39473. }
  39474. func _FcFStatFs(tls *libc.TLS, fd int32, statb uintptr) (r int32) {
  39475. bp := tls.Alloc(96)
  39476. defer tls.Free(96)
  39477. var flag TFcBool
  39478. var p uintptr
  39479. var ret, v1 int32
  39480. var _ /* buf at bp+0 */ Tstatfs
  39481. _, _, _, _ = flag, p, ret, v1
  39482. p = libc.UintptrFromInt32(0)
  39483. ret = -int32(1)
  39484. flag = m_FcFalse
  39485. libc.Xmemset(tls, statb, 0, uint32(8))
  39486. v1 = libc.Xfstatfs(tls, fd, bp)
  39487. ret = v1
  39488. if v1 == 0 {
  39489. switch (*(*Tstatfs)(unsafe.Pointer(bp))).Ff_type {
  39490. case uint32(0x6969): /* nfs */
  39491. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  39492. case uint32(0x4d44): /* fat */
  39493. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  39494. default:
  39495. break
  39496. }
  39497. return ret
  39498. }
  39499. if p != 0 {
  39500. if !(flag != 0) && libc.Xstrcmp(tls, p, __ccgo_ts+6960) == 0 {
  39501. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  39502. }
  39503. if libc.Xstrcmp(tls, p, __ccgo_ts+6964) == 0 || libc.Xstrcmp(tls, p, __ccgo_ts+6972) == 0 {
  39504. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  39505. }
  39506. }
  39507. return ret
  39508. }
  39509. func XFcIsFsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  39510. bp := tls.Alloc(16)
  39511. defer tls.Free(16)
  39512. var _ /* statb at bp+0 */ TFcStatFS
  39513. if _FcFStatFs(tls, fd, bp) < 0 {
  39514. return int32(m_FcTrue)
  39515. }
  39516. return libc.BoolInt32(!((*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_remote_fs != 0))
  39517. }
  39518. func XFcIsFsMtimeBroken(tls *libc.TLS, dir uintptr) (r TFcBool) {
  39519. bp := tls.Alloc(16)
  39520. defer tls.Free(16)
  39521. var fd, ret int32
  39522. var _ /* statb at bp+0 */ TFcStatFS
  39523. _, _ = fd, ret
  39524. fd = XFcOpen(tls, dir, m_O_RDONLY2, 0)
  39525. if fd != -int32(1) {
  39526. ret = _FcFStatFs(tls, fd, bp)
  39527. libc.Xclose(tls, fd)
  39528. if ret < 0 {
  39529. return m_FcFalse
  39530. }
  39531. return (*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_mtime_broken
  39532. }
  39533. return m_FcFalse
  39534. }
  39535. const m_FC_MAX_CASE_FOLD_CHARS = 6
  39536. const m_FC_MAX_CASE_FOLD_EXPAND = 4
  39537. const m_FC_MAX_FOLD_CHAR = 125217
  39538. const m_FC_MIN_FOLD_CHAR = 65
  39539. const m_FC_NUM_CASE_FOLD = 302
  39540. const m_FC_NUM_CASE_FOLD_CHARS = 471
  39541. const m_S_IFDIR4 = 0040000
  39542. const m_S_IFMT6 = 0170000
  39543. /* Objects MT-safe for readonly access. */
  39544. func XIA__FcStrCopy(tls *libc.TLS, s uintptr) (r uintptr) {
  39545. return libc.Xstrdup(tls, s)
  39546. }
  39547. var XFcStrCopy = XIA__FcStrCopy
  39548. func _FcStrMakeTriple(tls *libc.TLS, s1 uintptr, s2 uintptr, s3 uintptr) (r uintptr) {
  39549. var l, s1l, s2l, s3l int32
  39550. var s uintptr
  39551. var v1, v2, v3 uint32
  39552. _, _, _, _, _, _, _, _ = l, s, s1l, s2l, s3l, v1, v2, v3
  39553. if s1 != 0 {
  39554. v1 = libc.Xstrlen(tls, s1)
  39555. } else {
  39556. v1 = uint32(0)
  39557. }
  39558. s1l = libc.Int32FromUint32(v1)
  39559. if s2 != 0 {
  39560. v2 = libc.Xstrlen(tls, s2)
  39561. } else {
  39562. v2 = uint32(0)
  39563. }
  39564. s2l = libc.Int32FromUint32(v2)
  39565. if s3 != 0 {
  39566. v3 = libc.Xstrlen(tls, s3)
  39567. } else {
  39568. v3 = uint32(0)
  39569. }
  39570. s3l = libc.Int32FromUint32(v3)
  39571. l = s1l + int32(1) + s2l + int32(1) + s3l + int32(1)
  39572. s = libc.Xmalloc(tls, libc.Uint32FromInt32(l))
  39573. if !(s != 0) {
  39574. return uintptr(0)
  39575. }
  39576. if s1 != 0 {
  39577. libc.Xmemcpy(tls, s, s1, libc.Uint32FromInt32(s1l+int32(1)))
  39578. } else {
  39579. *(*TFcChar8)(unsafe.Pointer(s)) = uint8('\000')
  39580. }
  39581. if s2 != 0 {
  39582. libc.Xmemcpy(tls, s+uintptr(s1l)+uintptr(1), s2, libc.Uint32FromInt32(s2l+int32(1)))
  39583. } else {
  39584. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)))) = uint8('\000')
  39585. }
  39586. if s3 != 0 {
  39587. libc.Xmemcpy(tls, s+uintptr(s1l)+uintptr(1)+uintptr(s2l)+uintptr(1), s3, libc.Uint32FromInt32(s3l+int32(1)))
  39588. } else {
  39589. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)+s2l+int32(1)))) = uint8('\000')
  39590. }
  39591. return s
  39592. }
  39593. func XIA__FcStrPlus(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  39594. var l, s1l, s2l int32
  39595. var s uintptr
  39596. _, _, _, _ = l, s, s1l, s2l
  39597. s1l = libc.Int32FromUint32(libc.Xstrlen(tls, s1))
  39598. s2l = libc.Int32FromUint32(libc.Xstrlen(tls, s2))
  39599. l = s1l + s2l + int32(1)
  39600. s = libc.Xmalloc(tls, libc.Uint32FromInt32(l))
  39601. if !(s != 0) {
  39602. return uintptr(0)
  39603. }
  39604. libc.Xmemcpy(tls, s, s1, libc.Uint32FromInt32(s1l))
  39605. libc.Xmemcpy(tls, s+uintptr(s1l), s2, libc.Uint32FromInt32(s2l+int32(1)))
  39606. return s
  39607. }
  39608. var XFcStrPlus = XIA__FcStrPlus
  39609. func XIA__FcStrFree(tls *libc.TLS, s uintptr) {
  39610. libc.Xfree(tls, s)
  39611. }
  39612. var XFcStrFree = XIA__FcStrFree
  39613. var _fcCaseFold = [302]TFcCaseFold{
  39614. 0: {
  39615. Fupper: uint32(0x00000041),
  39616. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  39617. Foffset: int16(32),
  39618. },
  39619. 1: {
  39620. Fupper: uint32(0x000000b5),
  39621. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39622. Foffset: int16(775),
  39623. },
  39624. 2: {
  39625. Fupper: uint32(0x000000c0),
  39626. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  39627. Foffset: int16(32),
  39628. },
  39629. 3: {
  39630. Fupper: uint32(0x000000d8),
  39631. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  39632. Foffset: int16(32),
  39633. },
  39634. 4: {
  39635. Fupper: uint32(0x000000df),
  39636. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39637. },
  39638. 5: {
  39639. Fupper: uint32(0x00000100),
  39640. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  39641. Foffset: int16(1),
  39642. },
  39643. 6: {
  39644. Fupper: uint32(0x00000130),
  39645. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39646. Foffset: int16(2),
  39647. },
  39648. 7: {
  39649. Fupper: uint32(0x00000132),
  39650. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39651. Foffset: int16(1),
  39652. },
  39653. 8: {
  39654. Fupper: uint32(0x00000139),
  39655. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  39656. Foffset: int16(1),
  39657. },
  39658. 9: {
  39659. Fupper: uint32(0x00000149),
  39660. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39661. Foffset: int16(5),
  39662. },
  39663. 10: {
  39664. Fupper: uint32(0x0000014a),
  39665. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  39666. Foffset: int16(1),
  39667. },
  39668. 11: {
  39669. Fupper: uint32(0x00000178),
  39670. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39671. Foffset: int16(-int32(121)),
  39672. },
  39673. 12: {
  39674. Fupper: uint32(0x00000179),
  39675. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39676. Foffset: int16(1),
  39677. },
  39678. 13: {
  39679. Fupper: uint32(0x0000017f),
  39680. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39681. Foffset: int16(-int32(268)),
  39682. },
  39683. 14: {
  39684. Fupper: uint32(0x00000181),
  39685. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39686. Foffset: int16(210),
  39687. },
  39688. 15: {
  39689. Fupper: uint32(0x00000182),
  39690. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39691. Foffset: int16(1),
  39692. },
  39693. 16: {
  39694. Fupper: uint32(0x00000186),
  39695. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39696. Foffset: int16(206),
  39697. },
  39698. 17: {
  39699. Fupper: uint32(0x00000187),
  39700. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39701. Foffset: int16(1),
  39702. },
  39703. 18: {
  39704. Fupper: uint32(0x00000189),
  39705. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39706. Foffset: int16(205),
  39707. },
  39708. 19: {
  39709. Fupper: uint32(0x0000018b),
  39710. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39711. Foffset: int16(1),
  39712. },
  39713. 20: {
  39714. Fupper: uint32(0x0000018e),
  39715. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39716. Foffset: int16(79),
  39717. },
  39718. 21: {
  39719. Fupper: uint32(0x0000018f),
  39720. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39721. Foffset: int16(202),
  39722. },
  39723. 22: {
  39724. Fupper: uint32(0x00000190),
  39725. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39726. Foffset: int16(203),
  39727. },
  39728. 23: {
  39729. Fupper: uint32(0x00000191),
  39730. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39731. Foffset: int16(1),
  39732. },
  39733. 24: {
  39734. Fupper: uint32(0x00000193),
  39735. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39736. Foffset: int16(205),
  39737. },
  39738. 25: {
  39739. Fupper: uint32(0x00000194),
  39740. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39741. Foffset: int16(207),
  39742. },
  39743. 26: {
  39744. Fupper: uint32(0x00000196),
  39745. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39746. Foffset: int16(211),
  39747. },
  39748. 27: {
  39749. Fupper: uint32(0x00000197),
  39750. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39751. Foffset: int16(209),
  39752. },
  39753. 28: {
  39754. Fupper: uint32(0x00000198),
  39755. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39756. Foffset: int16(1),
  39757. },
  39758. 29: {
  39759. Fupper: uint32(0x0000019c),
  39760. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39761. Foffset: int16(211),
  39762. },
  39763. 30: {
  39764. Fupper: uint32(0x0000019d),
  39765. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39766. Foffset: int16(213),
  39767. },
  39768. 31: {
  39769. Fupper: uint32(0x0000019f),
  39770. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39771. Foffset: int16(214),
  39772. },
  39773. 32: {
  39774. Fupper: uint32(0x000001a0),
  39775. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39776. Foffset: int16(1),
  39777. },
  39778. 33: {
  39779. Fupper: uint32(0x000001a6),
  39780. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39781. Foffset: int16(218),
  39782. },
  39783. 34: {
  39784. Fupper: uint32(0x000001a7),
  39785. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39786. Foffset: int16(1),
  39787. },
  39788. 35: {
  39789. Fupper: uint32(0x000001a9),
  39790. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39791. Foffset: int16(218),
  39792. },
  39793. 36: {
  39794. Fupper: uint32(0x000001ac),
  39795. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39796. Foffset: int16(1),
  39797. },
  39798. 37: {
  39799. Fupper: uint32(0x000001ae),
  39800. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39801. Foffset: int16(218),
  39802. },
  39803. 38: {
  39804. Fupper: uint32(0x000001af),
  39805. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39806. Foffset: int16(1),
  39807. },
  39808. 39: {
  39809. Fupper: uint32(0x000001b1),
  39810. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39811. Foffset: int16(217),
  39812. },
  39813. 40: {
  39814. Fupper: uint32(0x000001b3),
  39815. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39816. Foffset: int16(1),
  39817. },
  39818. 41: {
  39819. Fupper: uint32(0x000001b7),
  39820. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39821. Foffset: int16(219),
  39822. },
  39823. 42: {
  39824. Fupper: uint32(0x000001b8),
  39825. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39826. Foffset: int16(1),
  39827. },
  39828. 43: {
  39829. Fupper: uint32(0x000001bc),
  39830. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39831. Foffset: int16(1),
  39832. },
  39833. 44: {
  39834. Fupper: uint32(0x000001c4),
  39835. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39836. Foffset: int16(2),
  39837. },
  39838. 45: {
  39839. Fupper: uint32(0x000001c5),
  39840. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39841. Foffset: int16(1),
  39842. },
  39843. 46: {
  39844. Fupper: uint32(0x000001c7),
  39845. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39846. Foffset: int16(2),
  39847. },
  39848. 47: {
  39849. Fupper: uint32(0x000001c8),
  39850. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39851. Foffset: int16(1),
  39852. },
  39853. 48: {
  39854. Fupper: uint32(0x000001ca),
  39855. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39856. Foffset: int16(2),
  39857. },
  39858. 49: {
  39859. Fupper: uint32(0x000001cb),
  39860. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39861. Foffset: int16(1),
  39862. },
  39863. 50: {
  39864. Fupper: uint32(0x000001de),
  39865. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39866. Foffset: int16(1),
  39867. },
  39868. 51: {
  39869. Fupper: uint32(0x000001f0),
  39870. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39871. Foffset: int16(8),
  39872. },
  39873. 52: {
  39874. Fupper: uint32(0x000001f1),
  39875. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39876. Foffset: int16(2),
  39877. },
  39878. 53: {
  39879. Fupper: uint32(0x000001f2),
  39880. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39881. Foffset: int16(1),
  39882. },
  39883. 54: {
  39884. Fupper: uint32(0x000001f6),
  39885. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39886. Foffset: int16(-int32(97)),
  39887. },
  39888. 55: {
  39889. Fupper: uint32(0x000001f7),
  39890. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39891. Foffset: int16(-int32(56)),
  39892. },
  39893. 56: {
  39894. Fupper: uint32(0x000001f8),
  39895. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0027)&0x3fff<<2,
  39896. Foffset: int16(1),
  39897. },
  39898. 57: {
  39899. Fupper: uint32(0x00000220),
  39900. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39901. Foffset: int16(-int32(130)),
  39902. },
  39903. 58: {
  39904. Fupper: uint32(0x00000222),
  39905. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39906. Foffset: int16(1),
  39907. },
  39908. 59: {
  39909. Fupper: uint32(0x0000023a),
  39910. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39911. Foffset: int16(10795),
  39912. },
  39913. 60: {
  39914. Fupper: uint32(0x0000023b),
  39915. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39916. Foffset: int16(1),
  39917. },
  39918. 61: {
  39919. Fupper: uint32(0x0000023d),
  39920. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39921. Foffset: int16(-int32(163)),
  39922. },
  39923. 62: {
  39924. Fupper: uint32(0x0000023e),
  39925. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39926. Foffset: int16(10792),
  39927. },
  39928. 63: {
  39929. Fupper: uint32(0x00000241),
  39930. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39931. Foffset: int16(1),
  39932. },
  39933. 64: {
  39934. Fupper: uint32(0x00000243),
  39935. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39936. Foffset: int16(-int32(195)),
  39937. },
  39938. 65: {
  39939. Fupper: uint32(0x00000244),
  39940. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39941. Foffset: int16(69),
  39942. },
  39943. 66: {
  39944. Fupper: uint32(0x00000245),
  39945. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39946. Foffset: int16(71),
  39947. },
  39948. 67: {
  39949. Fupper: uint32(0x00000246),
  39950. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  39951. Foffset: int16(1),
  39952. },
  39953. 68: {
  39954. Fupper: uint32(0x00000345),
  39955. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39956. Foffset: int16(116),
  39957. },
  39958. 69: {
  39959. Fupper: uint32(0x00000370),
  39960. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39961. Foffset: int16(1),
  39962. },
  39963. 70: {
  39964. Fupper: uint32(0x00000376),
  39965. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39966. Foffset: int16(1),
  39967. },
  39968. 71: {
  39969. Fupper: uint32(0x0000037f),
  39970. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39971. Foffset: int16(116),
  39972. },
  39973. 72: {
  39974. Fupper: uint32(0x00000386),
  39975. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39976. Foffset: int16(38),
  39977. },
  39978. 73: {
  39979. Fupper: uint32(0x00000388),
  39980. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39981. Foffset: int16(37),
  39982. },
  39983. 74: {
  39984. Fupper: uint32(0x0000038c),
  39985. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39986. Foffset: int16(64),
  39987. },
  39988. 75: {
  39989. Fupper: uint32(0x0000038e),
  39990. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39991. Foffset: int16(63),
  39992. },
  39993. 76: {
  39994. Fupper: uint32(0x00000390),
  39995. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39996. Foffset: int16(11),
  39997. },
  39998. 77: {
  39999. Fupper: uint32(0x00000391),
  40000. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  40001. Foffset: int16(32),
  40002. },
  40003. 78: {
  40004. Fupper: uint32(0x000003a3),
  40005. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  40006. Foffset: int16(32),
  40007. },
  40008. 79: {
  40009. Fupper: uint32(0x000003b0),
  40010. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40011. Foffset: int16(17),
  40012. },
  40013. 80: {
  40014. Fupper: uint32(0x000003c2),
  40015. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40016. Foffset: int16(1),
  40017. },
  40018. 81: {
  40019. Fupper: uint32(0x000003cf),
  40020. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40021. Foffset: int16(8),
  40022. },
  40023. 82: {
  40024. Fupper: uint32(0x000003d0),
  40025. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40026. Foffset: int16(-int32(30)),
  40027. },
  40028. 83: {
  40029. Fupper: uint32(0x000003d1),
  40030. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40031. Foffset: int16(-int32(25)),
  40032. },
  40033. 84: {
  40034. Fupper: uint32(0x000003d5),
  40035. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40036. Foffset: int16(-int32(15)),
  40037. },
  40038. 85: {
  40039. Fupper: uint32(0x000003d6),
  40040. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40041. Foffset: int16(-int32(22)),
  40042. },
  40043. 86: {
  40044. Fupper: uint32(0x000003d8),
  40045. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  40046. Foffset: int16(1),
  40047. },
  40048. 87: {
  40049. Fupper: uint32(0x000003f0),
  40050. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40051. Foffset: int16(-int32(54)),
  40052. },
  40053. 88: {
  40054. Fupper: uint32(0x000003f1),
  40055. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40056. Foffset: int16(-int32(48)),
  40057. },
  40058. 89: {
  40059. Fupper: uint32(0x000003f4),
  40060. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40061. Foffset: int16(-int32(60)),
  40062. },
  40063. 90: {
  40064. Fupper: uint32(0x000003f5),
  40065. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40066. Foffset: int16(-int32(64)),
  40067. },
  40068. 91: {
  40069. Fupper: uint32(0x000003f7),
  40070. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40071. Foffset: int16(1),
  40072. },
  40073. 92: {
  40074. Fupper: uint32(0x000003f9),
  40075. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40076. Foffset: int16(-int32(7)),
  40077. },
  40078. 93: {
  40079. Fupper: uint32(0x000003fa),
  40080. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40081. Foffset: int16(1),
  40082. },
  40083. 94: {
  40084. Fupper: uint32(0x000003fd),
  40085. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40086. Foffset: int16(-int32(130)),
  40087. },
  40088. 95: {
  40089. Fupper: uint32(0x00000400),
  40090. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  40091. Foffset: int16(80),
  40092. },
  40093. 96: {
  40094. Fupper: uint32(0x00000410),
  40095. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  40096. Foffset: int16(32),
  40097. },
  40098. 97: {
  40099. Fupper: uint32(0x00000460),
  40100. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0021)&0x3fff<<2,
  40101. Foffset: int16(1),
  40102. },
  40103. 98: {
  40104. Fupper: uint32(0x0000048a),
  40105. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0035)&0x3fff<<2,
  40106. Foffset: int16(1),
  40107. },
  40108. 99: {
  40109. Fupper: uint32(0x000004c0),
  40110. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40111. Foffset: int16(15),
  40112. },
  40113. 100: {
  40114. Fupper: uint32(0x000004c1),
  40115. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  40116. Foffset: int16(1),
  40117. },
  40118. 101: {
  40119. Fupper: uint32(0x000004d0),
  40120. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  40121. Foffset: int16(1),
  40122. },
  40123. 102: {
  40124. Fupper: uint32(0x00000531),
  40125. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  40126. Foffset: int16(48),
  40127. },
  40128. 103: {
  40129. Fupper: uint32(0x00000587),
  40130. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40131. Foffset: int16(23),
  40132. },
  40133. 104: {
  40134. Fupper: uint32(0x000010a0),
  40135. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  40136. Foffset: int16(7264),
  40137. },
  40138. 105: {
  40139. Fupper: uint32(0x000010c7),
  40140. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40141. Foffset: int16(7264),
  40142. },
  40143. 106: {
  40144. Fupper: uint32(0x000010cd),
  40145. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40146. Foffset: int16(7264),
  40147. },
  40148. 107: {
  40149. Fupper: uint32(0x000013f8),
  40150. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40151. Foffset: int16(-int32(8)),
  40152. },
  40153. 108: {
  40154. Fupper: uint32(0x00001c80),
  40155. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40156. Foffset: int16(-int32(6222)),
  40157. },
  40158. 109: {
  40159. Fupper: uint32(0x00001c81),
  40160. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40161. Foffset: int16(-int32(6221)),
  40162. },
  40163. 110: {
  40164. Fupper: uint32(0x00001c82),
  40165. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40166. Foffset: int16(-int32(6212)),
  40167. },
  40168. 111: {
  40169. Fupper: uint32(0x00001c83),
  40170. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40171. Foffset: int16(-int32(6210)),
  40172. },
  40173. 112: {
  40174. Fupper: uint32(0x00001c85),
  40175. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40176. Foffset: int16(-int32(6211)),
  40177. },
  40178. 113: {
  40179. Fupper: uint32(0x00001c86),
  40180. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40181. Foffset: int16(-int32(6204)),
  40182. },
  40183. 114: {
  40184. Fupper: uint32(0x00001c87),
  40185. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40186. Foffset: int16(-int32(6180)),
  40187. },
  40188. 115: {
  40189. Fupper: uint32(0x00001c88),
  40190. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40191. Foffset: int16(-int32(30269)),
  40192. },
  40193. 116: {
  40194. Fupper: uint32(0x00001c90),
  40195. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002b)&0x3fff<<2,
  40196. Foffset: int16(-int32(3008)),
  40197. },
  40198. 117: {
  40199. Fupper: uint32(0x00001cbd),
  40200. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40201. Foffset: int16(-int32(3008)),
  40202. },
  40203. 118: {
  40204. Fupper: uint32(0x00001e00),
  40205. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0095)&0x3fff<<2,
  40206. Foffset: int16(1),
  40207. },
  40208. 119: {
  40209. Fupper: uint32(0x00001e96),
  40210. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40211. Foffset: int16(27),
  40212. },
  40213. 120: {
  40214. Fupper: uint32(0x00001e97),
  40215. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40216. Foffset: int16(30),
  40217. },
  40218. 121: {
  40219. Fupper: uint32(0x00001e98),
  40220. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40221. Foffset: int16(33),
  40222. },
  40223. 122: {
  40224. Fupper: uint32(0x00001e99),
  40225. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40226. Foffset: int16(36),
  40227. },
  40228. 123: {
  40229. Fupper: uint32(0x00001e9a),
  40230. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40231. Foffset: int16(39),
  40232. },
  40233. 124: {
  40234. Fupper: uint32(0x00001e9b),
  40235. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40236. Foffset: int16(-int32(58)),
  40237. },
  40238. 125: {
  40239. Fupper: uint32(0x00001e9e),
  40240. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40241. Foffset: int16(42),
  40242. },
  40243. 126: {
  40244. Fupper: uint32(0x00001ea0),
  40245. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  40246. Foffset: int16(1),
  40247. },
  40248. 127: {
  40249. Fupper: uint32(0x00001f08),
  40250. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40251. Foffset: int16(-int32(8)),
  40252. },
  40253. 128: {
  40254. Fupper: uint32(0x00001f18),
  40255. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40256. Foffset: int16(-int32(8)),
  40257. },
  40258. 129: {
  40259. Fupper: uint32(0x00001f28),
  40260. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40261. Foffset: int16(-int32(8)),
  40262. },
  40263. 130: {
  40264. Fupper: uint32(0x00001f38),
  40265. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40266. Foffset: int16(-int32(8)),
  40267. },
  40268. 131: {
  40269. Fupper: uint32(0x00001f48),
  40270. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40271. Foffset: int16(-int32(8)),
  40272. },
  40273. 132: {
  40274. Fupper: uint32(0x00001f50),
  40275. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40276. Foffset: int16(44),
  40277. },
  40278. 133: {
  40279. Fupper: uint32(0x00001f52),
  40280. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40281. Foffset: int16(48),
  40282. },
  40283. 134: {
  40284. Fupper: uint32(0x00001f54),
  40285. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40286. Foffset: int16(54),
  40287. },
  40288. 135: {
  40289. Fupper: uint32(0x00001f56),
  40290. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40291. Foffset: int16(60),
  40292. },
  40293. 136: {
  40294. Fupper: uint32(0x00001f59),
  40295. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40296. Foffset: int16(-int32(8)),
  40297. },
  40298. 137: {
  40299. Fupper: uint32(0x00001f5b),
  40300. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40301. Foffset: int16(-int32(8)),
  40302. },
  40303. 138: {
  40304. Fupper: uint32(0x00001f5d),
  40305. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40306. Foffset: int16(-int32(8)),
  40307. },
  40308. 139: {
  40309. Fupper: uint32(0x00001f5f),
  40310. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40311. Foffset: int16(-int32(8)),
  40312. },
  40313. 140: {
  40314. Fupper: uint32(0x00001f68),
  40315. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40316. Foffset: int16(-int32(8)),
  40317. },
  40318. 141: {
  40319. Fupper: uint32(0x00001f80),
  40320. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40321. Foffset: int16(66),
  40322. },
  40323. 142: {
  40324. Fupper: uint32(0x00001f81),
  40325. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40326. Foffset: int16(71),
  40327. },
  40328. 143: {
  40329. Fupper: uint32(0x00001f82),
  40330. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40331. Foffset: int16(76),
  40332. },
  40333. 144: {
  40334. Fupper: uint32(0x00001f83),
  40335. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40336. Foffset: int16(81),
  40337. },
  40338. 145: {
  40339. Fupper: uint32(0x00001f84),
  40340. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40341. Foffset: int16(86),
  40342. },
  40343. 146: {
  40344. Fupper: uint32(0x00001f85),
  40345. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40346. Foffset: int16(91),
  40347. },
  40348. 147: {
  40349. Fupper: uint32(0x00001f86),
  40350. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40351. Foffset: int16(96),
  40352. },
  40353. 148: {
  40354. Fupper: uint32(0x00001f87),
  40355. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40356. Foffset: int16(101),
  40357. },
  40358. 149: {
  40359. Fupper: uint32(0x00001f88),
  40360. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40361. Foffset: int16(106),
  40362. },
  40363. 150: {
  40364. Fupper: uint32(0x00001f89),
  40365. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40366. Foffset: int16(111),
  40367. },
  40368. 151: {
  40369. Fupper: uint32(0x00001f8a),
  40370. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40371. Foffset: int16(116),
  40372. },
  40373. 152: {
  40374. Fupper: uint32(0x00001f8b),
  40375. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40376. Foffset: int16(121),
  40377. },
  40378. 153: {
  40379. Fupper: uint32(0x00001f8c),
  40380. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40381. Foffset: int16(126),
  40382. },
  40383. 154: {
  40384. Fupper: uint32(0x00001f8d),
  40385. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40386. Foffset: int16(131),
  40387. },
  40388. 155: {
  40389. Fupper: uint32(0x00001f8e),
  40390. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40391. Foffset: int16(136),
  40392. },
  40393. 156: {
  40394. Fupper: uint32(0x00001f8f),
  40395. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40396. Foffset: int16(141),
  40397. },
  40398. 157: {
  40399. Fupper: uint32(0x00001f90),
  40400. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40401. Foffset: int16(146),
  40402. },
  40403. 158: {
  40404. Fupper: uint32(0x00001f91),
  40405. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40406. Foffset: int16(151),
  40407. },
  40408. 159: {
  40409. Fupper: uint32(0x00001f92),
  40410. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40411. Foffset: int16(156),
  40412. },
  40413. 160: {
  40414. Fupper: uint32(0x00001f93),
  40415. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40416. Foffset: int16(161),
  40417. },
  40418. 161: {
  40419. Fupper: uint32(0x00001f94),
  40420. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40421. Foffset: int16(166),
  40422. },
  40423. 162: {
  40424. Fupper: uint32(0x00001f95),
  40425. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40426. Foffset: int16(171),
  40427. },
  40428. 163: {
  40429. Fupper: uint32(0x00001f96),
  40430. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40431. Foffset: int16(176),
  40432. },
  40433. 164: {
  40434. Fupper: uint32(0x00001f97),
  40435. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40436. Foffset: int16(181),
  40437. },
  40438. 165: {
  40439. Fupper: uint32(0x00001f98),
  40440. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40441. Foffset: int16(186),
  40442. },
  40443. 166: {
  40444. Fupper: uint32(0x00001f99),
  40445. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40446. Foffset: int16(191),
  40447. },
  40448. 167: {
  40449. Fupper: uint32(0x00001f9a),
  40450. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40451. Foffset: int16(196),
  40452. },
  40453. 168: {
  40454. Fupper: uint32(0x00001f9b),
  40455. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40456. Foffset: int16(201),
  40457. },
  40458. 169: {
  40459. Fupper: uint32(0x00001f9c),
  40460. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40461. Foffset: int16(206),
  40462. },
  40463. 170: {
  40464. Fupper: uint32(0x00001f9d),
  40465. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40466. Foffset: int16(211),
  40467. },
  40468. 171: {
  40469. Fupper: uint32(0x00001f9e),
  40470. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40471. Foffset: int16(216),
  40472. },
  40473. 172: {
  40474. Fupper: uint32(0x00001f9f),
  40475. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40476. Foffset: int16(221),
  40477. },
  40478. 173: {
  40479. Fupper: uint32(0x00001fa0),
  40480. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40481. Foffset: int16(226),
  40482. },
  40483. 174: {
  40484. Fupper: uint32(0x00001fa1),
  40485. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40486. Foffset: int16(231),
  40487. },
  40488. 175: {
  40489. Fupper: uint32(0x00001fa2),
  40490. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40491. Foffset: int16(236),
  40492. },
  40493. 176: {
  40494. Fupper: uint32(0x00001fa3),
  40495. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40496. Foffset: int16(241),
  40497. },
  40498. 177: {
  40499. Fupper: uint32(0x00001fa4),
  40500. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40501. Foffset: int16(246),
  40502. },
  40503. 178: {
  40504. Fupper: uint32(0x00001fa5),
  40505. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40506. Foffset: int16(251),
  40507. },
  40508. 179: {
  40509. Fupper: uint32(0x00001fa6),
  40510. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40511. Foffset: int16(256),
  40512. },
  40513. 180: {
  40514. Fupper: uint32(0x00001fa7),
  40515. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40516. Foffset: int16(261),
  40517. },
  40518. 181: {
  40519. Fupper: uint32(0x00001fa8),
  40520. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40521. Foffset: int16(266),
  40522. },
  40523. 182: {
  40524. Fupper: uint32(0x00001fa9),
  40525. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40526. Foffset: int16(271),
  40527. },
  40528. 183: {
  40529. Fupper: uint32(0x00001faa),
  40530. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40531. Foffset: int16(276),
  40532. },
  40533. 184: {
  40534. Fupper: uint32(0x00001fab),
  40535. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40536. Foffset: int16(281),
  40537. },
  40538. 185: {
  40539. Fupper: uint32(0x00001fac),
  40540. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40541. Foffset: int16(286),
  40542. },
  40543. 186: {
  40544. Fupper: uint32(0x00001fad),
  40545. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40546. Foffset: int16(291),
  40547. },
  40548. 187: {
  40549. Fupper: uint32(0x00001fae),
  40550. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40551. Foffset: int16(296),
  40552. },
  40553. 188: {
  40554. Fupper: uint32(0x00001faf),
  40555. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40556. Foffset: int16(301),
  40557. },
  40558. 189: {
  40559. Fupper: uint32(0x00001fb2),
  40560. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40561. Foffset: int16(306),
  40562. },
  40563. 190: {
  40564. Fupper: uint32(0x00001fb3),
  40565. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40566. Foffset: int16(311),
  40567. },
  40568. 191: {
  40569. Fupper: uint32(0x00001fb4),
  40570. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40571. Foffset: int16(315),
  40572. },
  40573. 192: {
  40574. Fupper: uint32(0x00001fb6),
  40575. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40576. Foffset: int16(319),
  40577. },
  40578. 193: {
  40579. Fupper: uint32(0x00001fb7),
  40580. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40581. Foffset: int16(323),
  40582. },
  40583. 194: {
  40584. Fupper: uint32(0x00001fb8),
  40585. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40586. Foffset: int16(-int32(8)),
  40587. },
  40588. 195: {
  40589. Fupper: uint32(0x00001fba),
  40590. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40591. Foffset: int16(-int32(74)),
  40592. },
  40593. 196: {
  40594. Fupper: uint32(0x00001fbc),
  40595. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40596. Foffset: int16(329),
  40597. },
  40598. 197: {
  40599. Fupper: uint32(0x00001fbe),
  40600. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40601. Foffset: int16(-int32(7173)),
  40602. },
  40603. 198: {
  40604. Fupper: uint32(0x00001fc2),
  40605. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40606. Foffset: int16(333),
  40607. },
  40608. 199: {
  40609. Fupper: uint32(0x00001fc3),
  40610. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40611. Foffset: int16(338),
  40612. },
  40613. 200: {
  40614. Fupper: uint32(0x00001fc4),
  40615. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40616. Foffset: int16(342),
  40617. },
  40618. 201: {
  40619. Fupper: uint32(0x00001fc6),
  40620. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40621. Foffset: int16(346),
  40622. },
  40623. 202: {
  40624. Fupper: uint32(0x00001fc7),
  40625. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40626. Foffset: int16(350),
  40627. },
  40628. 203: {
  40629. Fupper: uint32(0x00001fc8),
  40630. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40631. Foffset: int16(-int32(86)),
  40632. },
  40633. 204: {
  40634. Fupper: uint32(0x00001fcc),
  40635. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40636. Foffset: int16(356),
  40637. },
  40638. 205: {
  40639. Fupper: uint32(0x00001fd2),
  40640. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40641. Foffset: int16(360),
  40642. },
  40643. 206: {
  40644. Fupper: uint32(0x00001fd3),
  40645. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40646. Foffset: int16(366),
  40647. },
  40648. 207: {
  40649. Fupper: uint32(0x00001fd6),
  40650. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40651. Foffset: int16(372),
  40652. },
  40653. 208: {
  40654. Fupper: uint32(0x00001fd7),
  40655. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40656. Foffset: int16(376),
  40657. },
  40658. 209: {
  40659. Fupper: uint32(0x00001fd8),
  40660. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40661. Foffset: int16(-int32(8)),
  40662. },
  40663. 210: {
  40664. Fupper: uint32(0x00001fda),
  40665. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40666. Foffset: int16(-int32(100)),
  40667. },
  40668. 211: {
  40669. Fupper: uint32(0x00001fe2),
  40670. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40671. Foffset: int16(382),
  40672. },
  40673. 212: {
  40674. Fupper: uint32(0x00001fe3),
  40675. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40676. Foffset: int16(388),
  40677. },
  40678. 213: {
  40679. Fupper: uint32(0x00001fe4),
  40680. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40681. Foffset: int16(394),
  40682. },
  40683. 214: {
  40684. Fupper: uint32(0x00001fe6),
  40685. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40686. Foffset: int16(398),
  40687. },
  40688. 215: {
  40689. Fupper: uint32(0x00001fe7),
  40690. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40691. Foffset: int16(402),
  40692. },
  40693. 216: {
  40694. Fupper: uint32(0x00001fe8),
  40695. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40696. Foffset: int16(-int32(8)),
  40697. },
  40698. 217: {
  40699. Fupper: uint32(0x00001fea),
  40700. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40701. Foffset: int16(-int32(112)),
  40702. },
  40703. 218: {
  40704. Fupper: uint32(0x00001fec),
  40705. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40706. Foffset: int16(-int32(7)),
  40707. },
  40708. 219: {
  40709. Fupper: uint32(0x00001ff2),
  40710. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40711. Foffset: int16(408),
  40712. },
  40713. 220: {
  40714. Fupper: uint32(0x00001ff3),
  40715. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40716. Foffset: int16(413),
  40717. },
  40718. 221: {
  40719. Fupper: uint32(0x00001ff4),
  40720. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40721. Foffset: int16(417),
  40722. },
  40723. 222: {
  40724. Fupper: uint32(0x00001ff6),
  40725. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40726. Foffset: int16(421),
  40727. },
  40728. 223: {
  40729. Fupper: uint32(0x00001ff7),
  40730. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40731. Foffset: int16(425),
  40732. },
  40733. 224: {
  40734. Fupper: uint32(0x00001ff8),
  40735. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40736. Foffset: int16(-int32(128)),
  40737. },
  40738. 225: {
  40739. Fupper: uint32(0x00001ffa),
  40740. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40741. Foffset: int16(-int32(126)),
  40742. },
  40743. 226: {
  40744. Fupper: uint32(0x00001ffc),
  40745. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40746. Foffset: int16(431),
  40747. },
  40748. 227: {
  40749. Fupper: uint32(0x00002126),
  40750. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40751. Foffset: int16(-int32(7517)),
  40752. },
  40753. 228: {
  40754. Fupper: uint32(0x0000212a),
  40755. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40756. Foffset: int16(-int32(8383)),
  40757. },
  40758. 229: {
  40759. Fupper: uint32(0x0000212b),
  40760. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40761. Foffset: int16(-int32(8262)),
  40762. },
  40763. 230: {
  40764. Fupper: uint32(0x00002132),
  40765. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40766. Foffset: int16(28),
  40767. },
  40768. 231: {
  40769. Fupper: uint32(0x00002160),
  40770. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  40771. Foffset: int16(16),
  40772. },
  40773. 232: {
  40774. Fupper: uint32(0x00002183),
  40775. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40776. Foffset: int16(1),
  40777. },
  40778. 233: {
  40779. Fupper: uint32(0x000024b6),
  40780. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  40781. Foffset: int16(26),
  40782. },
  40783. 234: {
  40784. Fupper: uint32(0x00002c00),
  40785. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0030)&0x3fff<<2,
  40786. Foffset: int16(48),
  40787. },
  40788. 235: {
  40789. Fupper: uint32(0x00002c60),
  40790. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40791. Foffset: int16(1),
  40792. },
  40793. 236: {
  40794. Fupper: uint32(0x00002c62),
  40795. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40796. Foffset: int16(-int32(10743)),
  40797. },
  40798. 237: {
  40799. Fupper: uint32(0x00002c63),
  40800. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40801. Foffset: int16(-int32(3814)),
  40802. },
  40803. 238: {
  40804. Fupper: uint32(0x00002c64),
  40805. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40806. Foffset: int16(-int32(10727)),
  40807. },
  40808. 239: {
  40809. Fupper: uint32(0x00002c67),
  40810. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40811. Foffset: int16(1),
  40812. },
  40813. 240: {
  40814. Fupper: uint32(0x00002c6d),
  40815. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40816. Foffset: int16(-int32(10780)),
  40817. },
  40818. 241: {
  40819. Fupper: uint32(0x00002c6e),
  40820. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40821. Foffset: int16(-int32(10749)),
  40822. },
  40823. 242: {
  40824. Fupper: uint32(0x00002c6f),
  40825. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40826. Foffset: int16(-int32(10783)),
  40827. },
  40828. 243: {
  40829. Fupper: uint32(0x00002c70),
  40830. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40831. Foffset: int16(-int32(10782)),
  40832. },
  40833. 244: {
  40834. Fupper: uint32(0x00002c72),
  40835. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40836. Foffset: int16(1),
  40837. },
  40838. 245: {
  40839. Fupper: uint32(0x00002c75),
  40840. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40841. Foffset: int16(1),
  40842. },
  40843. 246: {
  40844. Fupper: uint32(0x00002c7e),
  40845. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40846. Foffset: int16(-int32(10815)),
  40847. },
  40848. 247: {
  40849. Fupper: uint32(0x00002c80),
  40850. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0063)&0x3fff<<2,
  40851. Foffset: int16(1),
  40852. },
  40853. 248: {
  40854. Fupper: uint32(0x00002ceb),
  40855. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40856. Foffset: int16(1),
  40857. },
  40858. 249: {
  40859. Fupper: uint32(0x00002cf2),
  40860. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40861. Foffset: int16(1),
  40862. },
  40863. 250: {
  40864. Fupper: uint32(0x0000a640),
  40865. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  40866. Foffset: int16(1),
  40867. },
  40868. 251: {
  40869. Fupper: uint32(0x0000a680),
  40870. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x001b)&0x3fff<<2,
  40871. Foffset: int16(1),
  40872. },
  40873. 252: {
  40874. Fupper: uint32(0x0000a722),
  40875. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  40876. Foffset: int16(1),
  40877. },
  40878. 253: {
  40879. Fupper: uint32(0x0000a732),
  40880. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x003d)&0x3fff<<2,
  40881. Foffset: int16(1),
  40882. },
  40883. 254: {
  40884. Fupper: uint32(0x0000a779),
  40885. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40886. Foffset: int16(1),
  40887. },
  40888. 255: {
  40889. Fupper: uint32(0x0000a77d),
  40890. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40891. Foffset: int16(30204),
  40892. },
  40893. 256: {
  40894. Fupper: uint32(0x0000a77e),
  40895. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  40896. Foffset: int16(1),
  40897. },
  40898. 257: {
  40899. Fupper: uint32(0x0000a78b),
  40900. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40901. Foffset: int16(1),
  40902. },
  40903. 258: {
  40904. Fupper: uint32(0x0000a78d),
  40905. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40906. Foffset: int16(23256),
  40907. },
  40908. 259: {
  40909. Fupper: uint32(0x0000a790),
  40910. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40911. Foffset: int16(1),
  40912. },
  40913. 260: {
  40914. Fupper: uint32(0x0000a796),
  40915. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0013)&0x3fff<<2,
  40916. Foffset: int16(1),
  40917. },
  40918. 261: {
  40919. Fupper: uint32(0x0000a7aa),
  40920. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40921. Foffset: int16(23228),
  40922. },
  40923. 262: {
  40924. Fupper: uint32(0x0000a7ab),
  40925. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40926. Foffset: int16(23217),
  40927. },
  40928. 263: {
  40929. Fupper: uint32(0x0000a7ac),
  40930. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40931. Foffset: int16(23221),
  40932. },
  40933. 264: {
  40934. Fupper: uint32(0x0000a7ad),
  40935. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40936. Foffset: int16(23231),
  40937. },
  40938. 265: {
  40939. Fupper: uint32(0x0000a7ae),
  40940. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40941. Foffset: int16(23228),
  40942. },
  40943. 266: {
  40944. Fupper: uint32(0x0000a7b0),
  40945. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40946. Foffset: int16(23278),
  40947. },
  40948. 267: {
  40949. Fupper: uint32(0x0000a7b1),
  40950. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40951. Foffset: int16(23254),
  40952. },
  40953. 268: {
  40954. Fupper: uint32(0x0000a7b2),
  40955. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40956. Foffset: int16(23275),
  40957. },
  40958. 269: {
  40959. Fupper: uint32(0x0000a7b3),
  40960. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40961. Foffset: int16(928),
  40962. },
  40963. 270: {
  40964. Fupper: uint32(0x0000a7b4),
  40965. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  40966. Foffset: int16(1),
  40967. },
  40968. 271: {
  40969. Fupper: uint32(0x0000a7c4),
  40970. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40971. Foffset: int16(-int32(48)),
  40972. },
  40973. 272: {
  40974. Fupper: uint32(0x0000a7c5),
  40975. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40976. Foffset: int16(23229),
  40977. },
  40978. 273: {
  40979. Fupper: uint32(0x0000a7c6),
  40980. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40981. Foffset: int16(30152),
  40982. },
  40983. 274: {
  40984. Fupper: uint32(0x0000a7c7),
  40985. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40986. Foffset: int16(1),
  40987. },
  40988. 275: {
  40989. Fupper: uint32(0x0000a7d0),
  40990. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40991. Foffset: int16(1),
  40992. },
  40993. 276: {
  40994. Fupper: uint32(0x0000a7d6),
  40995. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40996. Foffset: int16(1),
  40997. },
  40998. 277: {
  40999. Fupper: uint32(0x0000a7f5),
  41000. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  41001. Foffset: int16(1),
  41002. },
  41003. 278: {
  41004. Fupper: uint32(0x0000ab70),
  41005. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0050)&0x3fff<<2,
  41006. Foffset: int16(26672),
  41007. },
  41008. 279: {
  41009. Fupper: uint32(0x0000fb00),
  41010. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41011. Foffset: int16(435),
  41012. },
  41013. 280: {
  41014. Fupper: uint32(0x0000fb01),
  41015. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41016. Foffset: int16(437),
  41017. },
  41018. 281: {
  41019. Fupper: uint32(0x0000fb02),
  41020. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41021. Foffset: int16(439),
  41022. },
  41023. 282: {
  41024. Fupper: uint32(0x0000fb03),
  41025. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  41026. Foffset: int16(441),
  41027. },
  41028. 283: {
  41029. Fupper: uint32(0x0000fb04),
  41030. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  41031. Foffset: int16(444),
  41032. },
  41033. 284: {
  41034. Fupper: uint32(0x0000fb05),
  41035. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41036. Foffset: int16(447),
  41037. },
  41038. 285: {
  41039. Fupper: uint32(0x0000fb06),
  41040. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41041. Foffset: int16(449),
  41042. },
  41043. 286: {
  41044. Fupper: uint32(0x0000fb13),
  41045. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41046. Foffset: int16(451),
  41047. },
  41048. 287: {
  41049. Fupper: uint32(0x0000fb14),
  41050. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41051. Foffset: int16(455),
  41052. },
  41053. 288: {
  41054. Fupper: uint32(0x0000fb15),
  41055. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41056. Foffset: int16(459),
  41057. },
  41058. 289: {
  41059. Fupper: uint32(0x0000fb16),
  41060. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41061. Foffset: int16(463),
  41062. },
  41063. 290: {
  41064. Fupper: uint32(0x0000fb17),
  41065. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41066. Foffset: int16(467),
  41067. },
  41068. 291: {
  41069. Fupper: uint32(0x0000ff21),
  41070. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  41071. Foffset: int16(32),
  41072. },
  41073. 292: {
  41074. Fupper: uint32(0x00010400),
  41075. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0028)&0x3fff<<2,
  41076. Foffset: int16(40),
  41077. },
  41078. 293: {
  41079. Fupper: uint32(0x000104b0),
  41080. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0024)&0x3fff<<2,
  41081. Foffset: int16(40),
  41082. },
  41083. 294: {
  41084. Fupper: uint32(0x00010570),
  41085. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000b)&0x3fff<<2,
  41086. Foffset: int16(39),
  41087. },
  41088. 295: {
  41089. Fupper: uint32(0x0001057c),
  41090. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  41091. Foffset: int16(39),
  41092. },
  41093. 296: {
  41094. Fupper: uint32(0x0001058c),
  41095. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  41096. Foffset: int16(39),
  41097. },
  41098. 297: {
  41099. Fupper: uint32(0x00010594),
  41100. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41101. Foffset: int16(39),
  41102. },
  41103. 298: {
  41104. Fupper: uint32(0x00010c80),
  41105. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0033)&0x3fff<<2,
  41106. Foffset: int16(64),
  41107. },
  41108. 299: {
  41109. Fupper: uint32(0x000118a0),
  41110. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  41111. Foffset: int16(32),
  41112. },
  41113. 300: {
  41114. Fupper: uint32(0x00016e40),
  41115. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  41116. Foffset: int16(32),
  41117. },
  41118. 301: {
  41119. Fupper: uint32(0x0001e900),
  41120. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0022)&0x3fff<<2,
  41121. Foffset: int16(34),
  41122. },
  41123. }
  41124. var _fcCaseFoldChars = [471]TFcChar8{
  41125. 0: uint8(0x73),
  41126. 1: uint8(0x73),
  41127. 2: uint8(0x69),
  41128. 3: uint8(0xcc),
  41129. 4: uint8(0x87),
  41130. 5: uint8(0xca),
  41131. 6: uint8(0xbc),
  41132. 7: uint8(0x6e),
  41133. 8: uint8(0x6a),
  41134. 9: uint8(0xcc),
  41135. 10: uint8(0x8c),
  41136. 11: uint8(0xce),
  41137. 12: uint8(0xb9),
  41138. 13: uint8(0xcc),
  41139. 14: uint8(0x88),
  41140. 15: uint8(0xcc),
  41141. 16: uint8(0x81),
  41142. 17: uint8(0xcf),
  41143. 18: uint8(0x85),
  41144. 19: uint8(0xcc),
  41145. 20: uint8(0x88),
  41146. 21: uint8(0xcc),
  41147. 22: uint8(0x81),
  41148. 23: uint8(0xd5),
  41149. 24: uint8(0xa5),
  41150. 25: uint8(0xd6),
  41151. 26: uint8(0x82),
  41152. 27: uint8(0x68),
  41153. 28: uint8(0xcc),
  41154. 29: uint8(0xb1),
  41155. 30: uint8(0x74),
  41156. 31: uint8(0xcc),
  41157. 32: uint8(0x88),
  41158. 33: uint8(0x77),
  41159. 34: uint8(0xcc),
  41160. 35: uint8(0x8a),
  41161. 36: uint8(0x79),
  41162. 37: uint8(0xcc),
  41163. 38: uint8(0x8a),
  41164. 39: uint8(0x61),
  41165. 40: uint8(0xca),
  41166. 41: uint8(0xbe),
  41167. 42: uint8(0x73),
  41168. 43: uint8(0x73),
  41169. 44: uint8(0xcf),
  41170. 45: uint8(0x85),
  41171. 46: uint8(0xcc),
  41172. 47: uint8(0x93),
  41173. 48: uint8(0xcf),
  41174. 49: uint8(0x85),
  41175. 50: uint8(0xcc),
  41176. 51: uint8(0x93),
  41177. 52: uint8(0xcc),
  41178. 53: uint8(0x80),
  41179. 54: uint8(0xcf),
  41180. 55: uint8(0x85),
  41181. 56: uint8(0xcc),
  41182. 57: uint8(0x93),
  41183. 58: uint8(0xcc),
  41184. 59: uint8(0x81),
  41185. 60: uint8(0xcf),
  41186. 61: uint8(0x85),
  41187. 62: uint8(0xcc),
  41188. 63: uint8(0x93),
  41189. 64: uint8(0xcd),
  41190. 65: uint8(0x82),
  41191. 66: uint8(0xe1),
  41192. 67: uint8(0xbc),
  41193. 68: uint8(0x80),
  41194. 69: uint8(0xce),
  41195. 70: uint8(0xb9),
  41196. 71: uint8(0xe1),
  41197. 72: uint8(0xbc),
  41198. 73: uint8(0x81),
  41199. 74: uint8(0xce),
  41200. 75: uint8(0xb9),
  41201. 76: uint8(0xe1),
  41202. 77: uint8(0xbc),
  41203. 78: uint8(0x82),
  41204. 79: uint8(0xce),
  41205. 80: uint8(0xb9),
  41206. 81: uint8(0xe1),
  41207. 82: uint8(0xbc),
  41208. 83: uint8(0x83),
  41209. 84: uint8(0xce),
  41210. 85: uint8(0xb9),
  41211. 86: uint8(0xe1),
  41212. 87: uint8(0xbc),
  41213. 88: uint8(0x84),
  41214. 89: uint8(0xce),
  41215. 90: uint8(0xb9),
  41216. 91: uint8(0xe1),
  41217. 92: uint8(0xbc),
  41218. 93: uint8(0x85),
  41219. 94: uint8(0xce),
  41220. 95: uint8(0xb9),
  41221. 96: uint8(0xe1),
  41222. 97: uint8(0xbc),
  41223. 98: uint8(0x86),
  41224. 99: uint8(0xce),
  41225. 100: uint8(0xb9),
  41226. 101: uint8(0xe1),
  41227. 102: uint8(0xbc),
  41228. 103: uint8(0x87),
  41229. 104: uint8(0xce),
  41230. 105: uint8(0xb9),
  41231. 106: uint8(0xe1),
  41232. 107: uint8(0xbc),
  41233. 108: uint8(0x80),
  41234. 109: uint8(0xce),
  41235. 110: uint8(0xb9),
  41236. 111: uint8(0xe1),
  41237. 112: uint8(0xbc),
  41238. 113: uint8(0x81),
  41239. 114: uint8(0xce),
  41240. 115: uint8(0xb9),
  41241. 116: uint8(0xe1),
  41242. 117: uint8(0xbc),
  41243. 118: uint8(0x82),
  41244. 119: uint8(0xce),
  41245. 120: uint8(0xb9),
  41246. 121: uint8(0xe1),
  41247. 122: uint8(0xbc),
  41248. 123: uint8(0x83),
  41249. 124: uint8(0xce),
  41250. 125: uint8(0xb9),
  41251. 126: uint8(0xe1),
  41252. 127: uint8(0xbc),
  41253. 128: uint8(0x84),
  41254. 129: uint8(0xce),
  41255. 130: uint8(0xb9),
  41256. 131: uint8(0xe1),
  41257. 132: uint8(0xbc),
  41258. 133: uint8(0x85),
  41259. 134: uint8(0xce),
  41260. 135: uint8(0xb9),
  41261. 136: uint8(0xe1),
  41262. 137: uint8(0xbc),
  41263. 138: uint8(0x86),
  41264. 139: uint8(0xce),
  41265. 140: uint8(0xb9),
  41266. 141: uint8(0xe1),
  41267. 142: uint8(0xbc),
  41268. 143: uint8(0x87),
  41269. 144: uint8(0xce),
  41270. 145: uint8(0xb9),
  41271. 146: uint8(0xe1),
  41272. 147: uint8(0xbc),
  41273. 148: uint8(0xa0),
  41274. 149: uint8(0xce),
  41275. 150: uint8(0xb9),
  41276. 151: uint8(0xe1),
  41277. 152: uint8(0xbc),
  41278. 153: uint8(0xa1),
  41279. 154: uint8(0xce),
  41280. 155: uint8(0xb9),
  41281. 156: uint8(0xe1),
  41282. 157: uint8(0xbc),
  41283. 158: uint8(0xa2),
  41284. 159: uint8(0xce),
  41285. 160: uint8(0xb9),
  41286. 161: uint8(0xe1),
  41287. 162: uint8(0xbc),
  41288. 163: uint8(0xa3),
  41289. 164: uint8(0xce),
  41290. 165: uint8(0xb9),
  41291. 166: uint8(0xe1),
  41292. 167: uint8(0xbc),
  41293. 168: uint8(0xa4),
  41294. 169: uint8(0xce),
  41295. 170: uint8(0xb9),
  41296. 171: uint8(0xe1),
  41297. 172: uint8(0xbc),
  41298. 173: uint8(0xa5),
  41299. 174: uint8(0xce),
  41300. 175: uint8(0xb9),
  41301. 176: uint8(0xe1),
  41302. 177: uint8(0xbc),
  41303. 178: uint8(0xa6),
  41304. 179: uint8(0xce),
  41305. 180: uint8(0xb9),
  41306. 181: uint8(0xe1),
  41307. 182: uint8(0xbc),
  41308. 183: uint8(0xa7),
  41309. 184: uint8(0xce),
  41310. 185: uint8(0xb9),
  41311. 186: uint8(0xe1),
  41312. 187: uint8(0xbc),
  41313. 188: uint8(0xa0),
  41314. 189: uint8(0xce),
  41315. 190: uint8(0xb9),
  41316. 191: uint8(0xe1),
  41317. 192: uint8(0xbc),
  41318. 193: uint8(0xa1),
  41319. 194: uint8(0xce),
  41320. 195: uint8(0xb9),
  41321. 196: uint8(0xe1),
  41322. 197: uint8(0xbc),
  41323. 198: uint8(0xa2),
  41324. 199: uint8(0xce),
  41325. 200: uint8(0xb9),
  41326. 201: uint8(0xe1),
  41327. 202: uint8(0xbc),
  41328. 203: uint8(0xa3),
  41329. 204: uint8(0xce),
  41330. 205: uint8(0xb9),
  41331. 206: uint8(0xe1),
  41332. 207: uint8(0xbc),
  41333. 208: uint8(0xa4),
  41334. 209: uint8(0xce),
  41335. 210: uint8(0xb9),
  41336. 211: uint8(0xe1),
  41337. 212: uint8(0xbc),
  41338. 213: uint8(0xa5),
  41339. 214: uint8(0xce),
  41340. 215: uint8(0xb9),
  41341. 216: uint8(0xe1),
  41342. 217: uint8(0xbc),
  41343. 218: uint8(0xa6),
  41344. 219: uint8(0xce),
  41345. 220: uint8(0xb9),
  41346. 221: uint8(0xe1),
  41347. 222: uint8(0xbc),
  41348. 223: uint8(0xa7),
  41349. 224: uint8(0xce),
  41350. 225: uint8(0xb9),
  41351. 226: uint8(0xe1),
  41352. 227: uint8(0xbd),
  41353. 228: uint8(0xa0),
  41354. 229: uint8(0xce),
  41355. 230: uint8(0xb9),
  41356. 231: uint8(0xe1),
  41357. 232: uint8(0xbd),
  41358. 233: uint8(0xa1),
  41359. 234: uint8(0xce),
  41360. 235: uint8(0xb9),
  41361. 236: uint8(0xe1),
  41362. 237: uint8(0xbd),
  41363. 238: uint8(0xa2),
  41364. 239: uint8(0xce),
  41365. 240: uint8(0xb9),
  41366. 241: uint8(0xe1),
  41367. 242: uint8(0xbd),
  41368. 243: uint8(0xa3),
  41369. 244: uint8(0xce),
  41370. 245: uint8(0xb9),
  41371. 246: uint8(0xe1),
  41372. 247: uint8(0xbd),
  41373. 248: uint8(0xa4),
  41374. 249: uint8(0xce),
  41375. 250: uint8(0xb9),
  41376. 251: uint8(0xe1),
  41377. 252: uint8(0xbd),
  41378. 253: uint8(0xa5),
  41379. 254: uint8(0xce),
  41380. 255: uint8(0xb9),
  41381. 256: uint8(0xe1),
  41382. 257: uint8(0xbd),
  41383. 258: uint8(0xa6),
  41384. 259: uint8(0xce),
  41385. 260: uint8(0xb9),
  41386. 261: uint8(0xe1),
  41387. 262: uint8(0xbd),
  41388. 263: uint8(0xa7),
  41389. 264: uint8(0xce),
  41390. 265: uint8(0xb9),
  41391. 266: uint8(0xe1),
  41392. 267: uint8(0xbd),
  41393. 268: uint8(0xa0),
  41394. 269: uint8(0xce),
  41395. 270: uint8(0xb9),
  41396. 271: uint8(0xe1),
  41397. 272: uint8(0xbd),
  41398. 273: uint8(0xa1),
  41399. 274: uint8(0xce),
  41400. 275: uint8(0xb9),
  41401. 276: uint8(0xe1),
  41402. 277: uint8(0xbd),
  41403. 278: uint8(0xa2),
  41404. 279: uint8(0xce),
  41405. 280: uint8(0xb9),
  41406. 281: uint8(0xe1),
  41407. 282: uint8(0xbd),
  41408. 283: uint8(0xa3),
  41409. 284: uint8(0xce),
  41410. 285: uint8(0xb9),
  41411. 286: uint8(0xe1),
  41412. 287: uint8(0xbd),
  41413. 288: uint8(0xa4),
  41414. 289: uint8(0xce),
  41415. 290: uint8(0xb9),
  41416. 291: uint8(0xe1),
  41417. 292: uint8(0xbd),
  41418. 293: uint8(0xa5),
  41419. 294: uint8(0xce),
  41420. 295: uint8(0xb9),
  41421. 296: uint8(0xe1),
  41422. 297: uint8(0xbd),
  41423. 298: uint8(0xa6),
  41424. 299: uint8(0xce),
  41425. 300: uint8(0xb9),
  41426. 301: uint8(0xe1),
  41427. 302: uint8(0xbd),
  41428. 303: uint8(0xa7),
  41429. 304: uint8(0xce),
  41430. 305: uint8(0xb9),
  41431. 306: uint8(0xe1),
  41432. 307: uint8(0xbd),
  41433. 308: uint8(0xb0),
  41434. 309: uint8(0xce),
  41435. 310: uint8(0xb9),
  41436. 311: uint8(0xce),
  41437. 312: uint8(0xb1),
  41438. 313: uint8(0xce),
  41439. 314: uint8(0xb9),
  41440. 315: uint8(0xce),
  41441. 316: uint8(0xac),
  41442. 317: uint8(0xce),
  41443. 318: uint8(0xb9),
  41444. 319: uint8(0xce),
  41445. 320: uint8(0xb1),
  41446. 321: uint8(0xcd),
  41447. 322: uint8(0x82),
  41448. 323: uint8(0xce),
  41449. 324: uint8(0xb1),
  41450. 325: uint8(0xcd),
  41451. 326: uint8(0x82),
  41452. 327: uint8(0xce),
  41453. 328: uint8(0xb9),
  41454. 329: uint8(0xce),
  41455. 330: uint8(0xb1),
  41456. 331: uint8(0xce),
  41457. 332: uint8(0xb9),
  41458. 333: uint8(0xe1),
  41459. 334: uint8(0xbd),
  41460. 335: uint8(0xb4),
  41461. 336: uint8(0xce),
  41462. 337: uint8(0xb9),
  41463. 338: uint8(0xce),
  41464. 339: uint8(0xb7),
  41465. 340: uint8(0xce),
  41466. 341: uint8(0xb9),
  41467. 342: uint8(0xce),
  41468. 343: uint8(0xae),
  41469. 344: uint8(0xce),
  41470. 345: uint8(0xb9),
  41471. 346: uint8(0xce),
  41472. 347: uint8(0xb7),
  41473. 348: uint8(0xcd),
  41474. 349: uint8(0x82),
  41475. 350: uint8(0xce),
  41476. 351: uint8(0xb7),
  41477. 352: uint8(0xcd),
  41478. 353: uint8(0x82),
  41479. 354: uint8(0xce),
  41480. 355: uint8(0xb9),
  41481. 356: uint8(0xce),
  41482. 357: uint8(0xb7),
  41483. 358: uint8(0xce),
  41484. 359: uint8(0xb9),
  41485. 360: uint8(0xce),
  41486. 361: uint8(0xb9),
  41487. 362: uint8(0xcc),
  41488. 363: uint8(0x88),
  41489. 364: uint8(0xcc),
  41490. 365: uint8(0x80),
  41491. 366: uint8(0xce),
  41492. 367: uint8(0xb9),
  41493. 368: uint8(0xcc),
  41494. 369: uint8(0x88),
  41495. 370: uint8(0xcc),
  41496. 371: uint8(0x81),
  41497. 372: uint8(0xce),
  41498. 373: uint8(0xb9),
  41499. 374: uint8(0xcd),
  41500. 375: uint8(0x82),
  41501. 376: uint8(0xce),
  41502. 377: uint8(0xb9),
  41503. 378: uint8(0xcc),
  41504. 379: uint8(0x88),
  41505. 380: uint8(0xcd),
  41506. 381: uint8(0x82),
  41507. 382: uint8(0xcf),
  41508. 383: uint8(0x85),
  41509. 384: uint8(0xcc),
  41510. 385: uint8(0x88),
  41511. 386: uint8(0xcc),
  41512. 387: uint8(0x80),
  41513. 388: uint8(0xcf),
  41514. 389: uint8(0x85),
  41515. 390: uint8(0xcc),
  41516. 391: uint8(0x88),
  41517. 392: uint8(0xcc),
  41518. 393: uint8(0x81),
  41519. 394: uint8(0xcf),
  41520. 395: uint8(0x81),
  41521. 396: uint8(0xcc),
  41522. 397: uint8(0x93),
  41523. 398: uint8(0xcf),
  41524. 399: uint8(0x85),
  41525. 400: uint8(0xcd),
  41526. 401: uint8(0x82),
  41527. 402: uint8(0xcf),
  41528. 403: uint8(0x85),
  41529. 404: uint8(0xcc),
  41530. 405: uint8(0x88),
  41531. 406: uint8(0xcd),
  41532. 407: uint8(0x82),
  41533. 408: uint8(0xe1),
  41534. 409: uint8(0xbd),
  41535. 410: uint8(0xbc),
  41536. 411: uint8(0xce),
  41537. 412: uint8(0xb9),
  41538. 413: uint8(0xcf),
  41539. 414: uint8(0x89),
  41540. 415: uint8(0xce),
  41541. 416: uint8(0xb9),
  41542. 417: uint8(0xcf),
  41543. 418: uint8(0x8e),
  41544. 419: uint8(0xce),
  41545. 420: uint8(0xb9),
  41546. 421: uint8(0xcf),
  41547. 422: uint8(0x89),
  41548. 423: uint8(0xcd),
  41549. 424: uint8(0x82),
  41550. 425: uint8(0xcf),
  41551. 426: uint8(0x89),
  41552. 427: uint8(0xcd),
  41553. 428: uint8(0x82),
  41554. 429: uint8(0xce),
  41555. 430: uint8(0xb9),
  41556. 431: uint8(0xcf),
  41557. 432: uint8(0x89),
  41558. 433: uint8(0xce),
  41559. 434: uint8(0xb9),
  41560. 435: uint8(0x66),
  41561. 436: uint8(0x66),
  41562. 437: uint8(0x66),
  41563. 438: uint8(0x69),
  41564. 439: uint8(0x66),
  41565. 440: uint8(0x6c),
  41566. 441: uint8(0x66),
  41567. 442: uint8(0x66),
  41568. 443: uint8(0x69),
  41569. 444: uint8(0x66),
  41570. 445: uint8(0x66),
  41571. 446: uint8(0x6c),
  41572. 447: uint8(0x73),
  41573. 448: uint8(0x74),
  41574. 449: uint8(0x73),
  41575. 450: uint8(0x74),
  41576. 451: uint8(0xd5),
  41577. 452: uint8(0xb4),
  41578. 453: uint8(0xd5),
  41579. 454: uint8(0xb6),
  41580. 455: uint8(0xd5),
  41581. 456: uint8(0xb4),
  41582. 457: uint8(0xd5),
  41583. 458: uint8(0xa5),
  41584. 459: uint8(0xd5),
  41585. 460: uint8(0xb4),
  41586. 461: uint8(0xd5),
  41587. 462: uint8(0xab),
  41588. 463: uint8(0xd5),
  41589. 464: uint8(0xbe),
  41590. 465: uint8(0xd5),
  41591. 466: uint8(0xb6),
  41592. 467: uint8(0xd5),
  41593. 468: uint8(0xb4),
  41594. 469: uint8(0xd5),
  41595. 470: uint8(0xad),
  41596. }
  41597. type TFcCaseWalker = struct {
  41598. Fread uintptr
  41599. Fsrc uintptr
  41600. Futf8 [7]TFcChar8
  41601. }
  41602. type T_FcCaseWalker = TFcCaseWalker
  41603. func _FcStrCaseWalkerInit(tls *libc.TLS, src uintptr, w uintptr) {
  41604. (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc = src
  41605. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41606. }
  41607. func _FcStrCaseWalkerLong(tls *libc.TLS, w uintptr, r TFcChar8) (r1 TFcChar8) {
  41608. bp := tls.Alloc(16)
  41609. defer tls.Free(16)
  41610. var dlen, len1, max, mid, min, slen, v1 int32
  41611. var fold, v2, v3 uintptr
  41612. var high, low TFcChar32
  41613. var _ /* ucs4 at bp+0 */ TFcChar32
  41614. _, _, _, _, _, _, _, _, _, _, _, _ = dlen, fold, high, len1, low, max, mid, min, slen, v1, v2, v3
  41615. len1 = libc.Int32FromUint32(libc.Xstrlen(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc))
  41616. slen = XIA__FcUtf8ToUcs4(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc-uintptr(1), bp, len1+int32(1))
  41617. if slen <= 0 {
  41618. return r
  41619. }
  41620. if uint32(m_FC_MIN_FOLD_CHAR) <= *(*TFcChar32)(unsafe.Pointer(bp)) && *(*TFcChar32)(unsafe.Pointer(bp)) <= uint32(m_FC_MAX_FOLD_CHAR) {
  41621. min = 0
  41622. max = int32(m_FC_NUM_CASE_FOLD)
  41623. for min <= max {
  41624. mid = (min + max) >> int32(1)
  41625. low = _fcCaseFold[mid].Fupper
  41626. if int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4))&0x3>>0) == int32(m_FC_CASE_FOLD_FULL) {
  41627. v1 = int32(1)
  41628. } else {
  41629. v1 = int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4)) & 0xfffc >> 2)
  41630. }
  41631. high = low + libc.Uint32FromInt32(v1)
  41632. if high <= *(*TFcChar32)(unsafe.Pointer(bp)) {
  41633. min = mid + int32(1)
  41634. } else {
  41635. if *(*TFcChar32)(unsafe.Pointer(bp)) < low {
  41636. max = mid - int32(1)
  41637. } else {
  41638. fold = uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8
  41639. switch int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0x3 >> 0) {
  41640. case int32(m_FC_CASE_FOLD_EVEN_ODD):
  41641. if *(*TFcChar32)(unsafe.Pointer(bp))&uint32(1) != (*TFcCaseFold)(unsafe.Pointer(fold)).Fupper&uint32(1) {
  41642. return r
  41643. }
  41644. /* fall through ... */
  41645. fallthrough
  41646. default:
  41647. dlen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp))+libc.Uint32FromInt16((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), w+8)
  41648. case int32(m_FC_CASE_FOLD_FULL):
  41649. dlen = int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0xfffc >> 2)
  41650. libc.Xmemcpy(tls, w+8, uintptr(unsafe.Pointer(&_fcCaseFoldChars))+uintptr((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), libc.Uint32FromInt32(dlen))
  41651. break
  41652. }
  41653. /* consume rest of src utf-8 bytes */
  41654. *(*uintptr)(unsafe.Pointer(w + 4)) += uintptr(slen - int32(1))
  41655. /* read from temp buffer */
  41656. *(*TFcChar8)(unsafe.Pointer(w + 8 + uintptr(dlen))) = uint8('\000')
  41657. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = w + 8
  41658. v3 = w
  41659. v2 = *(*uintptr)(unsafe.Pointer(v3))
  41660. *(*uintptr)(unsafe.Pointer(v3))++
  41661. return *(*TFcChar8)(unsafe.Pointer(v2))
  41662. }
  41663. }
  41664. }
  41665. }
  41666. return r
  41667. }
  41668. func _FcStrCaseWalkerNextNonDelim(tls *libc.TLS, w uintptr, delims uintptr) (r1 TFcChar8) {
  41669. var r, v2 TFcChar8
  41670. var v1, v7 int32
  41671. var v3, v4, v5, v6 uintptr
  41672. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41673. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41674. v1 = int32(1)
  41675. } else {
  41676. v1 = 0
  41677. }
  41678. if libc.X__builtin_expect(tls, v1, 0) != 0 {
  41679. v4 = w
  41680. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41681. *(*uintptr)(unsafe.Pointer(v4))++
  41682. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41683. r = v2
  41684. if v2 != 0 {
  41685. return r
  41686. }
  41687. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41688. }
  41689. for cond := true; cond; cond = libc.Int32FromUint8(r) != 0 && delims != 0 && libc.Xstrchr(tls, delims, libc.Int32FromUint8(r)) != 0 {
  41690. v6 = w + 4
  41691. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41692. *(*uintptr)(unsafe.Pointer(v6))++
  41693. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41694. }
  41695. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41696. v7 = int32(1)
  41697. } else {
  41698. v7 = 0
  41699. }
  41700. if libc.X__builtin_expect(tls, v7, 0) != 0 {
  41701. return _FcStrCaseWalkerLong(tls, w, r)
  41702. }
  41703. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41704. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41705. }
  41706. return r
  41707. }
  41708. func _FcStrCaseWalkerNextNonBlank(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  41709. var r, v2 TFcChar8
  41710. var v1, v7 int32
  41711. var v3, v4, v5, v6 uintptr
  41712. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41713. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41714. v1 = int32(1)
  41715. } else {
  41716. v1 = 0
  41717. }
  41718. if libc.X__builtin_expect(tls, v1, 0) != 0 {
  41719. v4 = w
  41720. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41721. *(*uintptr)(unsafe.Pointer(v4))++
  41722. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41723. r = v2
  41724. if v2 != 0 {
  41725. return r
  41726. }
  41727. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41728. }
  41729. for cond := true; cond; cond = libc.Int32FromUint8(r) == int32(' ') {
  41730. v6 = w + 4
  41731. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41732. *(*uintptr)(unsafe.Pointer(v6))++
  41733. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41734. }
  41735. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41736. v7 = int32(1)
  41737. } else {
  41738. v7 = 0
  41739. }
  41740. if libc.X__builtin_expect(tls, v7, 0) != 0 {
  41741. return _FcStrCaseWalkerLong(tls, w, r)
  41742. }
  41743. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41744. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41745. }
  41746. return r
  41747. }
  41748. func _FcStrCaseWalkerNext(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  41749. var r, v2 TFcChar8
  41750. var v1, v7 int32
  41751. var v3, v4, v5, v6 uintptr
  41752. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41753. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41754. v1 = int32(1)
  41755. } else {
  41756. v1 = 0
  41757. }
  41758. if libc.X__builtin_expect(tls, v1, 0) != 0 {
  41759. v4 = w
  41760. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41761. *(*uintptr)(unsafe.Pointer(v4))++
  41762. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41763. r = v2
  41764. if v2 != 0 {
  41765. return r
  41766. }
  41767. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41768. }
  41769. v6 = w + 4
  41770. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41771. *(*uintptr)(unsafe.Pointer(v6))++
  41772. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41773. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41774. v7 = int32(1)
  41775. } else {
  41776. v7 = 0
  41777. }
  41778. if libc.X__builtin_expect(tls, v7, 0) != 0 {
  41779. return _FcStrCaseWalkerLong(tls, w, r)
  41780. }
  41781. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41782. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41783. }
  41784. return r
  41785. }
  41786. func XIA__FcStrDowncase(tls *libc.TLS, s uintptr) (r uintptr) {
  41787. bp := tls.Alloc(16)
  41788. defer tls.Free(16)
  41789. var d, dst, v1, v3 uintptr
  41790. var len1 int32
  41791. var v2 TFcChar8
  41792. var _ /* w at bp+0 */ TFcCaseWalker
  41793. _, _, _, _, _, _ = d, dst, len1, v1, v2, v3
  41794. len1 = 0
  41795. _FcStrCaseWalkerInit(tls, s, bp)
  41796. for _FcStrCaseWalkerNext(tls, bp) != 0 {
  41797. len1++
  41798. }
  41799. v1 = libc.Xmalloc(tls, libc.Uint32FromInt32(len1+int32(1)))
  41800. dst = v1
  41801. d = v1
  41802. if !(d != 0) {
  41803. return uintptr(0)
  41804. }
  41805. _FcStrCaseWalkerInit(tls, s, bp)
  41806. for {
  41807. v2 = _FcStrCaseWalkerNext(tls, bp)
  41808. v3 = d
  41809. d++
  41810. *(*TFcChar8)(unsafe.Pointer(v3)) = v2
  41811. if !(v2 != 0) {
  41812. break
  41813. }
  41814. }
  41815. return dst
  41816. }
  41817. var XFcStrDowncase = XIA__FcStrDowncase
  41818. func XIA__FcStrCmpIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41819. bp := tls.Alloc(32)
  41820. defer tls.Free(32)
  41821. var c1, c2 TFcChar8
  41822. var _ /* w1 at bp+0 */ TFcCaseWalker
  41823. var _ /* w2 at bp+16 */ TFcCaseWalker
  41824. _, _ = c1, c2
  41825. if s1 == s2 {
  41826. return 0
  41827. }
  41828. _FcStrCaseWalkerInit(tls, s1, bp)
  41829. _FcStrCaseWalkerInit(tls, s2, bp+16)
  41830. for {
  41831. c1 = _FcStrCaseWalkerNext(tls, bp)
  41832. c2 = _FcStrCaseWalkerNext(tls, bp+16)
  41833. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41834. break
  41835. }
  41836. goto _1
  41837. _1:
  41838. }
  41839. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41840. }
  41841. var XFcStrCmpIgnoreCase = XIA__FcStrCmpIgnoreCase
  41842. func XFcStrCmpIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41843. bp := tls.Alloc(32)
  41844. defer tls.Free(32)
  41845. var c1, c2 TFcChar8
  41846. var _ /* w1 at bp+0 */ TFcCaseWalker
  41847. var _ /* w2 at bp+16 */ TFcCaseWalker
  41848. _, _ = c1, c2
  41849. if s1 == s2 {
  41850. return 0
  41851. }
  41852. _FcStrCaseWalkerInit(tls, s1, bp)
  41853. _FcStrCaseWalkerInit(tls, s2, bp+16)
  41854. for {
  41855. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  41856. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+16)
  41857. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41858. break
  41859. }
  41860. goto _1
  41861. _1:
  41862. }
  41863. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41864. }
  41865. func XIA__FcStrCmp(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41866. var c1, c2 TFcChar8
  41867. var v2, v3 uintptr
  41868. _, _, _, _ = c1, c2, v2, v3
  41869. if s1 == s2 {
  41870. return 0
  41871. }
  41872. for {
  41873. v2 = s1
  41874. s1++
  41875. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  41876. v3 = s2
  41877. s2++
  41878. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41879. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41880. break
  41881. }
  41882. goto _1
  41883. _1:
  41884. }
  41885. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41886. }
  41887. var XFcStrCmp = XIA__FcStrCmp
  41888. /*
  41889. * Return a hash value for a string
  41890. */
  41891. func XFcStrHashIgnoreCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  41892. bp := tls.Alloc(16)
  41893. defer tls.Free(16)
  41894. var c, v1 TFcChar8
  41895. var h TFcChar32
  41896. var _ /* w at bp+0 */ TFcCaseWalker
  41897. _, _, _ = c, h, v1
  41898. h = uint32(0)
  41899. _FcStrCaseWalkerInit(tls, s, bp)
  41900. for {
  41901. v1 = _FcStrCaseWalkerNext(tls, bp)
  41902. c = v1
  41903. if !(v1 != 0) {
  41904. break
  41905. }
  41906. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  41907. }
  41908. return h
  41909. }
  41910. func XFcStrHashIgnoreBlanksAndCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  41911. bp := tls.Alloc(16)
  41912. defer tls.Free(16)
  41913. var c, v1 TFcChar8
  41914. var h TFcChar32
  41915. var _ /* w at bp+0 */ TFcCaseWalker
  41916. _, _, _ = c, h, v1
  41917. h = uint32(0)
  41918. _FcStrCaseWalkerInit(tls, s, bp)
  41919. for {
  41920. v1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  41921. c = v1
  41922. if !(v1 != 0) {
  41923. break
  41924. }
  41925. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  41926. }
  41927. return h
  41928. }
  41929. /*
  41930. * Is the head of s1 equal to s2?
  41931. */
  41932. func _FcStrIsAtIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  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. _FcStrCaseWalkerInit(tls, s1, bp)
  41940. _FcStrCaseWalkerInit(tls, s2, bp+16)
  41941. for {
  41942. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  41943. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+16)
  41944. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41945. break
  41946. }
  41947. goto _1
  41948. _1:
  41949. }
  41950. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  41951. }
  41952. /*
  41953. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  41954. */
  41955. func XFcStrContainsIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  41956. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  41957. if _FcStrIsAtIgnoreBlanksAndCase(tls, s1, s2) != 0 {
  41958. return s1
  41959. }
  41960. s1++
  41961. }
  41962. return uintptr(0)
  41963. }
  41964. func _FcCharIsPunct1(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  41965. if libc.Int32FromUint8(c) < int32('0') {
  41966. return int32(m_FcTrue)
  41967. }
  41968. if libc.Int32FromUint8(c) <= int32('9') {
  41969. return m_FcFalse
  41970. }
  41971. if libc.Int32FromUint8(c) < int32('A') {
  41972. return int32(m_FcTrue)
  41973. }
  41974. if libc.Int32FromUint8(c) <= int32('Z') {
  41975. return m_FcFalse
  41976. }
  41977. if libc.Int32FromUint8(c) < int32('a') {
  41978. return int32(m_FcTrue)
  41979. }
  41980. if libc.Int32FromUint8(c) <= int32('z') {
  41981. return m_FcFalse
  41982. }
  41983. if libc.Int32FromUint8(c) <= int32('~') {
  41984. return int32(m_FcTrue)
  41985. }
  41986. return m_FcFalse
  41987. }
  41988. /*
  41989. * Is the head of s1 equal to s2?
  41990. */
  41991. func _FcStrIsAtIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  41992. bp := tls.Alloc(32)
  41993. defer tls.Free(32)
  41994. var c1, c2 TFcChar8
  41995. var _ /* w1 at bp+0 */ TFcCaseWalker
  41996. var _ /* w2 at bp+16 */ TFcCaseWalker
  41997. _, _ = c1, c2
  41998. _FcStrCaseWalkerInit(tls, s1, bp)
  41999. _FcStrCaseWalkerInit(tls, s2, bp+16)
  42000. for {
  42001. c1 = _FcStrCaseWalkerNext(tls, bp)
  42002. c2 = _FcStrCaseWalkerNext(tls, bp+16)
  42003. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42004. break
  42005. }
  42006. goto _1
  42007. _1:
  42008. }
  42009. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  42010. }
  42011. /*
  42012. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  42013. */
  42014. func XFcStrContainsIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42015. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  42016. if _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 {
  42017. return s1
  42018. }
  42019. s1++
  42020. }
  42021. return uintptr(0)
  42022. }
  42023. /*
  42024. * Does s1 contain an instance of s2 on a word boundary (ignoring case)?
  42025. */
  42026. func XFcStrContainsWord(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42027. var s1len, s2len int32
  42028. var wordStart TFcBool
  42029. _, _, _ = s1len, s2len, wordStart
  42030. wordStart = int32(m_FcTrue)
  42031. s1len = libc.Int32FromUint32(libc.Xstrlen(tls, s1))
  42032. s2len = libc.Int32FromUint32(libc.Xstrlen(tls, s2))
  42033. for s1len >= s2len {
  42034. if wordStart != 0 && _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 && (s1len == s2len || _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1 + uintptr(s2len)))) != 0) {
  42035. return s1
  42036. }
  42037. wordStart = m_FcFalse
  42038. if _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1))) != 0 {
  42039. wordStart = int32(m_FcTrue)
  42040. }
  42041. s1++
  42042. s1len--
  42043. }
  42044. return uintptr(0)
  42045. }
  42046. /*
  42047. * returns the number of strings (ignoring delimiters and case) being matched
  42048. */
  42049. func XFcStrMatchIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  42050. bp := tls.Alloc(32)
  42051. defer tls.Free(32)
  42052. var c1, c2 TFcChar8
  42053. var _ /* w1 at bp+0 */ TFcCaseWalker
  42054. var _ /* w2 at bp+16 */ TFcCaseWalker
  42055. _, _ = c1, c2
  42056. if s1 == s2 {
  42057. return 0
  42058. }
  42059. _FcStrCaseWalkerInit(tls, s1, bp)
  42060. _FcStrCaseWalkerInit(tls, s2, bp+16)
  42061. for {
  42062. c1 = _FcStrCaseWalkerNextNonDelim(tls, bp, delims)
  42063. c2 = _FcStrCaseWalkerNextNonDelim(tls, bp+16, delims)
  42064. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42065. break
  42066. }
  42067. goto _1
  42068. _1:
  42069. }
  42070. return int32((*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc) - int32(s1) - int32(1)
  42071. }
  42072. func XFcStrGlobMatch(tls *libc.TLS, glob uintptr, string1 uintptr) (r TFcBool) {
  42073. var c, v1 TFcChar8
  42074. var l1, l2 Tsize_t
  42075. var v2, v3, v4 uintptr
  42076. _, _, _, _, _, _, _ = c, l1, l2, v1, v2, v3, v4
  42077. for {
  42078. v2 = glob
  42079. glob++
  42080. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  42081. c = v1
  42082. if !(v1 != 0) {
  42083. break
  42084. }
  42085. switch libc.Int32FromUint8(c) {
  42086. case int32('*'):
  42087. /* short circuit common case */
  42088. if !(*(*TFcChar8)(unsafe.Pointer(glob)) != 0) {
  42089. return int32(m_FcTrue)
  42090. }
  42091. /* short circuit another common case */
  42092. if libc.Xstrchr(tls, glob, int32('*')) == uintptr(0) {
  42093. l1 = libc.Xstrlen(tls, string1)
  42094. l2 = libc.Xstrlen(tls, glob)
  42095. if l1 < l2 {
  42096. return m_FcFalse
  42097. }
  42098. string1 += uintptr(l1 - l2)
  42099. }
  42100. for *(*TFcChar8)(unsafe.Pointer(string1)) != 0 {
  42101. if XFcStrGlobMatch(tls, glob, string1) != 0 {
  42102. return int32(m_FcTrue)
  42103. }
  42104. string1++
  42105. }
  42106. return m_FcFalse
  42107. case int32('?'):
  42108. v3 = string1
  42109. string1++
  42110. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v3))) == int32('\000') {
  42111. return m_FcFalse
  42112. }
  42113. default:
  42114. v4 = string1
  42115. string1++
  42116. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v4))) != libc.Int32FromUint8(c) {
  42117. return m_FcFalse
  42118. }
  42119. break
  42120. }
  42121. }
  42122. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(string1))) == int32('\000'))
  42123. }
  42124. func XIA__FcStrStrIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42125. bp := tls.Alloc(64)
  42126. defer tls.Free(64)
  42127. var c1, c1t, c2, c2t TFcChar8
  42128. var cur uintptr
  42129. var _ /* w1 at bp+0 */ TFcCaseWalker
  42130. var _ /* w1t at bp+32 */ TFcCaseWalker
  42131. var _ /* w2 at bp+16 */ TFcCaseWalker
  42132. var _ /* w2t at bp+48 */ TFcCaseWalker
  42133. _, _, _, _, _ = c1, c1t, c2, c2t, cur
  42134. if !(s1 != 0) || !(s2 != 0) {
  42135. return uintptr(0)
  42136. }
  42137. if s1 == s2 {
  42138. return s1
  42139. }
  42140. _FcStrCaseWalkerInit(tls, s1, bp)
  42141. _FcStrCaseWalkerInit(tls, s2, bp+16)
  42142. c2 = _FcStrCaseWalkerNext(tls, bp+16)
  42143. for {
  42144. cur = (*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc
  42145. c1 = _FcStrCaseWalkerNext(tls, bp)
  42146. if !(c1 != 0) {
  42147. break
  42148. }
  42149. if libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  42150. *(*TFcCaseWalker)(unsafe.Pointer(bp + 32)) = *(*TFcCaseWalker)(unsafe.Pointer(bp))
  42151. *(*TFcCaseWalker)(unsafe.Pointer(bp + 48)) = *(*TFcCaseWalker)(unsafe.Pointer(bp + 16))
  42152. for {
  42153. c1t = _FcStrCaseWalkerNext(tls, bp+32)
  42154. c2t = _FcStrCaseWalkerNext(tls, bp+48)
  42155. if !(c2t != 0) {
  42156. return cur
  42157. }
  42158. if libc.Int32FromUint8(c2t) != libc.Int32FromUint8(c1t) {
  42159. break
  42160. }
  42161. goto _2
  42162. _2:
  42163. }
  42164. }
  42165. goto _1
  42166. _1:
  42167. }
  42168. return uintptr(0)
  42169. }
  42170. var XFcStrStrIgnoreCase = XIA__FcStrStrIgnoreCase
  42171. func XIA__FcStrStr(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42172. var b, p, v1, v3 uintptr
  42173. var c1, c2 TFcChar8
  42174. _, _, _, _, _, _ = b, c1, c2, p, v1, v3
  42175. p = s1
  42176. b = s2
  42177. if !(s1 != 0) || !(s2 != 0) {
  42178. return uintptr(0)
  42179. }
  42180. if s1 == s2 {
  42181. return s1
  42182. }
  42183. goto again
  42184. again:
  42185. ;
  42186. v1 = s2
  42187. s2++
  42188. c2 = *(*TFcChar8)(unsafe.Pointer(v1))
  42189. if !(c2 != 0) {
  42190. return uintptr(0)
  42191. }
  42192. for {
  42193. p = s1
  42194. v3 = s1
  42195. s1++
  42196. c1 = *(*TFcChar8)(unsafe.Pointer(v3))
  42197. if !(c1 != 0) || libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  42198. break
  42199. }
  42200. goto _2
  42201. _2:
  42202. }
  42203. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42204. return uintptr(0)
  42205. }
  42206. for {
  42207. c1 = *(*TFcChar8)(unsafe.Pointer(s1))
  42208. c2 = *(*TFcChar8)(unsafe.Pointer(s2))
  42209. if c1 != 0 && c2 != 0 && libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42210. s1 = p + uintptr(1)
  42211. s2 = b
  42212. goto again
  42213. }
  42214. if !(c2 != 0) {
  42215. return p
  42216. }
  42217. if !(c1 != 0) {
  42218. return uintptr(0)
  42219. }
  42220. s1++
  42221. s2++
  42222. goto _4
  42223. _4:
  42224. }
  42225. /* never reached. */
  42226. return r
  42227. }
  42228. var XFcStrStr = XIA__FcStrStr
  42229. func XIA__FcUtf8ToUcs4(tls *libc.TLS, src_orig uintptr, dst uintptr, len1 int32) (r int32) {
  42230. var extra, v2 int32
  42231. var result TFcChar32
  42232. var s TFcChar8
  42233. var src, v1, v3 uintptr
  42234. _, _, _, _, _, _, _ = extra, result, s, src, v1, v2, v3
  42235. src = src_orig
  42236. if len1 == 0 {
  42237. return 0
  42238. }
  42239. v1 = src
  42240. src++
  42241. s = *(*TFcChar8)(unsafe.Pointer(v1))
  42242. len1--
  42243. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x80) != 0) {
  42244. result = uint32(s)
  42245. extra = 0
  42246. } else {
  42247. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x40) != 0) {
  42248. return -int32(1)
  42249. } else {
  42250. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x20) != 0) {
  42251. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x1f))
  42252. extra = int32(1)
  42253. } else {
  42254. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x10) != 0) {
  42255. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0xf))
  42256. extra = int32(2)
  42257. } else {
  42258. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x08) != 0) {
  42259. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x07))
  42260. extra = int32(3)
  42261. } else {
  42262. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x04) != 0) {
  42263. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x03))
  42264. extra = int32(4)
  42265. } else {
  42266. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x02) != 0) {
  42267. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x01))
  42268. extra = int32(5)
  42269. } else {
  42270. return -int32(1)
  42271. }
  42272. }
  42273. }
  42274. }
  42275. }
  42276. }
  42277. }
  42278. if extra > len1 {
  42279. return -int32(1)
  42280. }
  42281. for {
  42282. v2 = extra
  42283. extra--
  42284. if !(v2 != 0) {
  42285. break
  42286. }
  42287. result <<= uint32(6)
  42288. v3 = src
  42289. src++
  42290. s = *(*TFcChar8)(unsafe.Pointer(v3))
  42291. if libc.Int32FromUint8(s)&int32(0xc0) != int32(0x80) {
  42292. return -int32(1)
  42293. }
  42294. result |= libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x3f))
  42295. }
  42296. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  42297. return int32(src) - int32(src_orig)
  42298. }
  42299. var XFcUtf8ToUcs4 = XIA__FcUtf8ToUcs4
  42300. func XIA__FcUtf8Len(tls *libc.TLS, string1 uintptr, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  42301. bp := tls.Alloc(16)
  42302. defer tls.Free(16)
  42303. var clen, n int32
  42304. var max TFcChar32
  42305. var _ /* c at bp+0 */ TFcChar32
  42306. _, _, _ = clen, max, n
  42307. n = 0
  42308. max = uint32(0)
  42309. for len1 != 0 {
  42310. clen = XIA__FcUtf8ToUcs4(tls, string1, bp, len1)
  42311. if clen <= 0 { /* malformed UTF8 string */
  42312. return m_FcFalse
  42313. }
  42314. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  42315. max = *(*TFcChar32)(unsafe.Pointer(bp))
  42316. }
  42317. string1 += uintptr(clen)
  42318. len1 -= clen
  42319. n++
  42320. }
  42321. *(*int32)(unsafe.Pointer(nchar)) = n
  42322. if max >= uint32(0x10000) {
  42323. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  42324. } else {
  42325. if max > uint32(0x100) {
  42326. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  42327. } else {
  42328. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  42329. }
  42330. }
  42331. return int32(m_FcTrue)
  42332. }
  42333. var XFcUtf8Len = XIA__FcUtf8Len
  42334. func XIA__FcUcs4ToUtf8(tls *libc.TLS, ucs4 TFcChar32, dest uintptr) (r int32) {
  42335. var bits int32
  42336. var d, v1, v2, v3, v4, v5, v6, v8 uintptr
  42337. _, _, _, _, _, _, _, _, _ = bits, d, v1, v2, v3, v4, v5, v6, v8
  42338. d = dest
  42339. if ucs4 < uint32(0x80) {
  42340. v1 = d
  42341. d++
  42342. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(ucs4)
  42343. bits = -int32(6)
  42344. } else {
  42345. if ucs4 < uint32(0x800) {
  42346. v2 = d
  42347. d++
  42348. *(*TFcChar8)(unsafe.Pointer(v2)) = uint8(ucs4>>libc.Int32FromInt32(6)&uint32(0x1F) | uint32(0xC0))
  42349. bits = 0
  42350. } else {
  42351. if ucs4 < uint32(0x10000) {
  42352. v3 = d
  42353. d++
  42354. *(*TFcChar8)(unsafe.Pointer(v3)) = uint8(ucs4>>libc.Int32FromInt32(12)&uint32(0x0F) | uint32(0xE0))
  42355. bits = int32(6)
  42356. } else {
  42357. if ucs4 < uint32(0x200000) {
  42358. v4 = d
  42359. d++
  42360. *(*TFcChar8)(unsafe.Pointer(v4)) = uint8(ucs4>>libc.Int32FromInt32(18)&uint32(0x07) | uint32(0xF0))
  42361. bits = int32(12)
  42362. } else {
  42363. if ucs4 < uint32(0x4000000) {
  42364. v5 = d
  42365. d++
  42366. *(*TFcChar8)(unsafe.Pointer(v5)) = uint8(ucs4>>libc.Int32FromInt32(24)&uint32(0x03) | uint32(0xF8))
  42367. bits = int32(18)
  42368. } else {
  42369. if ucs4 < uint32(0x80000000) {
  42370. v6 = d
  42371. d++
  42372. *(*TFcChar8)(unsafe.Pointer(v6)) = uint8(ucs4>>libc.Int32FromInt32(30)&uint32(0x01) | uint32(0xFC))
  42373. bits = int32(24)
  42374. } else {
  42375. return 0
  42376. }
  42377. }
  42378. }
  42379. }
  42380. }
  42381. }
  42382. for {
  42383. if !(bits >= 0) {
  42384. break
  42385. }
  42386. v8 = d
  42387. d++
  42388. *(*TFcChar8)(unsafe.Pointer(v8)) = uint8(ucs4>>bits&uint32(0x3F) | uint32(0x80))
  42389. goto _7
  42390. _7:
  42391. ;
  42392. bits -= int32(6)
  42393. }
  42394. return int32(d) - int32(dest)
  42395. }
  42396. var XFcUcs4ToUtf8 = XIA__FcUcs4ToUtf8
  42397. func XIA__FcUtf16ToUcs4(tls *libc.TLS, src_orig uintptr, endian TFcEndian, dst uintptr, len1 int32) (r int32) {
  42398. /* in bytes */
  42399. var a, b TFcChar16
  42400. var result TFcChar32
  42401. var src uintptr
  42402. var v1, v2, v3, v4 int32
  42403. _, _, _, _, _, _, _, _ = a, b, result, src, v1, v2, v3, v4
  42404. src = src_orig
  42405. if len1 < int32(2) {
  42406. return 0
  42407. }
  42408. if endian == int32(_FcEndianBig) {
  42409. v1 = 0
  42410. } else {
  42411. v1 = int32(1)
  42412. }
  42413. if endian == int32(_FcEndianBig) {
  42414. v2 = int32(1)
  42415. } else {
  42416. v2 = 0
  42417. }
  42418. 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))))))
  42419. src += uintptr(2)
  42420. len1 -= int32(2)
  42421. /*
  42422. * Check for surrogate
  42423. */
  42424. if libc.Int32FromUint16(a)&int32(0xfc00) == int32(0xd800) {
  42425. if len1 < int32(2) {
  42426. return 0
  42427. }
  42428. if endian == int32(_FcEndianBig) {
  42429. v3 = 0
  42430. } else {
  42431. v3 = int32(1)
  42432. }
  42433. if endian == int32(_FcEndianBig) {
  42434. v4 = int32(1)
  42435. } else {
  42436. v4 = 0
  42437. }
  42438. 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))))))
  42439. src += uintptr(2)
  42440. len1 -= int32(2)
  42441. /*
  42442. * Check for invalid surrogate sequence
  42443. */
  42444. if libc.Int32FromUint16(b)&int32(0xfc00) != int32(0xdc00) {
  42445. return 0
  42446. }
  42447. result = uint32(a)&uint32(0x3ff)<<int32(10) | uint32(b)&uint32(0x3ff) + uint32(0x10000)
  42448. } else {
  42449. result = uint32(a)
  42450. }
  42451. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  42452. return int32(src) - int32(src_orig)
  42453. }
  42454. var XFcUtf16ToUcs4 = XIA__FcUtf16ToUcs4
  42455. func XIA__FcUtf16Len(tls *libc.TLS, string1 uintptr, endian TFcEndian, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  42456. bp := tls.Alloc(16)
  42457. defer tls.Free(16)
  42458. var clen, n int32
  42459. var max TFcChar32
  42460. var _ /* c at bp+0 */ TFcChar32
  42461. _, _, _ = clen, max, n
  42462. n = 0
  42463. max = uint32(0)
  42464. for len1 != 0 {
  42465. clen = XIA__FcUtf16ToUcs4(tls, string1, endian, bp, len1)
  42466. if clen <= 0 { /* malformed UTF8 string */
  42467. return m_FcFalse
  42468. }
  42469. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  42470. max = *(*TFcChar32)(unsafe.Pointer(bp))
  42471. }
  42472. string1 += uintptr(clen)
  42473. len1 -= clen
  42474. n++
  42475. }
  42476. *(*int32)(unsafe.Pointer(nchar)) = n
  42477. if max >= uint32(0x10000) {
  42478. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  42479. } else {
  42480. if max > uint32(0x100) {
  42481. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  42482. } else {
  42483. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  42484. }
  42485. }
  42486. return int32(m_FcTrue)
  42487. }
  42488. var XFcUtf16Len = XIA__FcUtf16Len
  42489. func XFcStrBufInit(tls *libc.TLS, buf uintptr, init1 uintptr, size int32) {
  42490. if init1 != 0 {
  42491. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = init1
  42492. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  42493. } else {
  42494. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = buf + 20
  42495. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = int32(64)
  42496. }
  42497. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = m_FcFalse
  42498. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = m_FcFalse
  42499. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = 0
  42500. }
  42501. func XFcStrBufDestroy(tls *libc.TLS, buf uintptr) {
  42502. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  42503. libc.Xfree(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf)
  42504. XFcStrBufInit(tls, buf, uintptr(0), 0)
  42505. }
  42506. }
  42507. func XFcStrBufDone(tls *libc.TLS, buf uintptr) (r uintptr) {
  42508. var ret uintptr
  42509. _ = ret
  42510. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42511. ret = libc.UintptrFromInt32(0)
  42512. } else {
  42513. ret = libc.Xmalloc(tls, libc.Uint32FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1+int32(1)))
  42514. }
  42515. if ret != 0 {
  42516. libc.Xmemcpy(tls, ret, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint32FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  42517. *(*TFcChar8)(unsafe.Pointer(ret + uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))) = uint8('\000')
  42518. }
  42519. XFcStrBufDestroy(tls, buf)
  42520. return ret
  42521. }
  42522. func XFcStrBufDoneStatic(tls *libc.TLS, buf uintptr) (r uintptr) {
  42523. XFcStrBufChar(tls, buf, uint8('\000'))
  42524. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42525. return libc.UintptrFromInt32(0)
  42526. }
  42527. return (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf
  42528. }
  42529. func XFcStrBufChar(tls *libc.TLS, buf uintptr, c TFcChar8) (r TFcBool) {
  42530. var new1, v2 uintptr
  42531. var size, v1 int32
  42532. _, _, _, _ = new1, size, v1, v2
  42533. if (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 == (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize {
  42534. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42535. return m_FcFalse
  42536. }
  42537. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  42538. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize * int32(2)
  42539. new1 = libc.Xrealloc(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint32FromInt32(size))
  42540. } else {
  42541. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize + int32(64)
  42542. new1 = libc.Xmalloc(tls, libc.Uint32FromInt32(size))
  42543. if new1 != 0 {
  42544. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = int32(m_FcTrue)
  42545. libc.Xmemcpy(tls, new1, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint32FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  42546. }
  42547. }
  42548. if !(new1 != 0) {
  42549. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = int32(m_FcTrue)
  42550. return m_FcFalse
  42551. }
  42552. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  42553. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = new1
  42554. }
  42555. v2 = buf + 12
  42556. v1 = *(*int32)(unsafe.Pointer(v2))
  42557. *(*int32)(unsafe.Pointer(v2))++
  42558. *(*TFcChar8)(unsafe.Pointer((*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(v1))) = c
  42559. return int32(m_FcTrue)
  42560. }
  42561. func XFcStrBufString(tls *libc.TLS, buf uintptr, s uintptr) (r TFcBool) {
  42562. var c, v1 TFcChar8
  42563. var v2 uintptr
  42564. _, _, _ = c, v1, v2
  42565. for {
  42566. v2 = s
  42567. s++
  42568. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  42569. c = v1
  42570. if !(v1 != 0) {
  42571. break
  42572. }
  42573. if !(XFcStrBufChar(tls, buf, c) != 0) {
  42574. return m_FcFalse
  42575. }
  42576. }
  42577. return int32(m_FcTrue)
  42578. }
  42579. func XFcStrBufData(tls *libc.TLS, buf uintptr, s uintptr, len1 int32) (r TFcBool) {
  42580. var v1 int32
  42581. var v2 uintptr
  42582. _, _ = v1, v2
  42583. for {
  42584. v1 = len1
  42585. len1--
  42586. if !(v1 > 0) {
  42587. break
  42588. }
  42589. v2 = s
  42590. s++
  42591. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v2))) != 0) {
  42592. return m_FcFalse
  42593. }
  42594. }
  42595. return int32(m_FcTrue)
  42596. }
  42597. func XFcStrUsesHome(tls *libc.TLS, s uintptr) (r TFcBool) {
  42598. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~'))
  42599. }
  42600. func XFcStrIsAbsoluteFilename(tls *libc.TLS, s uintptr) (r TFcBool) {
  42601. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/'))
  42602. }
  42603. func XIA__FcStrBuildFilename(tls *libc.TLS, path uintptr, va uintptr) (r uintptr) {
  42604. var ap Tva_list
  42605. var len1 Tsize_t
  42606. var list, p, ret, s, sset, v1, v2 uintptr
  42607. _, _, _, _, _, _, _, _, _ = ap, len1, list, p, ret, s, sset, v1, v2
  42608. ret = libc.UintptrFromInt32(0)
  42609. len1 = uint32(0)
  42610. if !(path != 0) {
  42611. return libc.UintptrFromInt32(0)
  42612. }
  42613. sset = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  42614. if !(sset != 0) {
  42615. return libc.UintptrFromInt32(0)
  42616. }
  42617. if !(XIA__FcStrSetAdd(tls, sset, path) != 0) {
  42618. goto bail0
  42619. }
  42620. ap = va
  42621. for int32(1) != 0 {
  42622. s = libc.VaUintptr(&ap)
  42623. if !(s != 0) {
  42624. break
  42625. }
  42626. if !(XIA__FcStrSetAdd(tls, sset, s) != 0) {
  42627. goto bail1
  42628. }
  42629. }
  42630. list = XIA__FcStrListCreate(tls, sset)
  42631. for {
  42632. v1 = XIA__FcStrListNext(tls, list)
  42633. s = v1
  42634. if !(v1 != 0) {
  42635. break
  42636. }
  42637. len1 += libc.Xstrlen(tls, s) + uint32(1)
  42638. }
  42639. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  42640. ret = libc.Xmalloc(tls, uint32(1)*(len1+uint32(1)))
  42641. if !(ret != 0) {
  42642. goto bail2
  42643. }
  42644. p = ret
  42645. for {
  42646. v2 = XIA__FcStrListNext(tls, list)
  42647. s = v2
  42648. if !(v2 != 0) {
  42649. break
  42650. }
  42651. if p != ret {
  42652. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('/')
  42653. p++
  42654. }
  42655. len1 = libc.Xstrlen(tls, s)
  42656. libc.Xmemcpy(tls, p, s, len1)
  42657. p += uintptr(len1)
  42658. }
  42659. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  42660. goto bail2
  42661. bail2:
  42662. ;
  42663. XIA__FcStrListDone(tls, list)
  42664. goto bail1
  42665. bail1:
  42666. ;
  42667. _ = ap
  42668. goto bail0
  42669. bail0:
  42670. ;
  42671. XIA__FcStrSetDestroy(tls, sset)
  42672. return ret
  42673. }
  42674. var XFcStrBuildFilename = XIA__FcStrBuildFilename
  42675. func XIA__FcStrCopyFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42676. var full, home, new1 uintptr
  42677. var size int32
  42678. _, _, _, _ = full, home, new1, size
  42679. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~') {
  42680. home = XIA__FcConfigHome(tls)
  42681. if !(home != 0) {
  42682. return libc.UintptrFromInt32(0)
  42683. }
  42684. size = libc.Int32FromUint32(libc.Xstrlen(tls, home) + libc.Xstrlen(tls, s))
  42685. full = libc.Xmalloc(tls, libc.Uint32FromInt32(size+int32(1)))
  42686. if !(full != 0) {
  42687. return libc.UintptrFromInt32(0)
  42688. }
  42689. libc.Xstrcpy(tls, full, home)
  42690. libc.Xstrcat(tls, full, s+uintptr(1))
  42691. new1 = XFcStrCanonFilename(tls, full)
  42692. libc.Xfree(tls, full)
  42693. } else {
  42694. new1 = XFcStrCanonFilename(tls, s)
  42695. }
  42696. return new1
  42697. }
  42698. var XFcStrCopyFilename = XIA__FcStrCopyFilename
  42699. func XFcStrLastSlash(tls *libc.TLS, path uintptr) (r uintptr) {
  42700. var slash uintptr
  42701. _ = slash
  42702. slash = libc.Xstrrchr(tls, path, int32('/'))
  42703. return slash
  42704. }
  42705. func XIA__FcStrDirname(tls *libc.TLS, file uintptr) (r uintptr) {
  42706. var dir, slash uintptr
  42707. _, _ = dir, slash
  42708. slash = XFcStrLastSlash(tls, file)
  42709. if !(slash != 0) {
  42710. return XIA__FcStrCopy(tls, __ccgo_ts+6977)
  42711. }
  42712. dir = libc.Xmalloc(tls, libc.Uint32FromInt32(int32(slash)-int32(file)+int32(1)))
  42713. if !(dir != 0) {
  42714. return uintptr(0)
  42715. }
  42716. libc.Xstrncpy(tls, dir, file, libc.Uint32FromInt32(int32(slash)-int32(file)))
  42717. *(*TFcChar8)(unsafe.Pointer(dir + uintptr(int32(slash)-int32(file)))) = uint8('\000')
  42718. return dir
  42719. }
  42720. var XFcStrDirname = XIA__FcStrDirname
  42721. func XIA__FcStrBasename(tls *libc.TLS, file uintptr) (r uintptr) {
  42722. var slash uintptr
  42723. _ = slash
  42724. slash = XFcStrLastSlash(tls, file)
  42725. if !(slash != 0) {
  42726. return XIA__FcStrCopy(tls, file)
  42727. }
  42728. return XIA__FcStrCopy(tls, slash+uintptr(1))
  42729. }
  42730. var XFcStrBasename = XIA__FcStrBasename
  42731. func XFcStrRealPath(tls *libc.TLS, path uintptr) (r uintptr) {
  42732. bp := tls.Alloc(4112)
  42733. defer tls.Free(4112)
  42734. var resolved_ret uintptr
  42735. var _ /* resolved_name at bp+0 */ [4097]int8
  42736. _ = resolved_ret
  42737. if !(path != 0) {
  42738. return libc.UintptrFromInt32(0)
  42739. }
  42740. resolved_ret = libc.Xrealpath(tls, path, bp)
  42741. if resolved_ret != 0 {
  42742. path = resolved_ret
  42743. }
  42744. return XIA__FcStrCopyFilename(tls, path)
  42745. }
  42746. func _FcStrCanonAbsoluteFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42747. var f, file, slash, v2, v4, v5 uintptr
  42748. var size int32
  42749. var v3 TFcChar8
  42750. _, _, _, _, _, _, _, _ = f, file, size, slash, v2, v3, v4, v5
  42751. size = libc.Int32FromUint32(libc.Xstrlen(tls, s) + uint32(1))
  42752. file = libc.Xmalloc(tls, libc.Uint32FromInt32(size))
  42753. if !(file != 0) {
  42754. return libc.UintptrFromInt32(0)
  42755. }
  42756. slash = libc.UintptrFromInt32(0)
  42757. f = file
  42758. for {
  42759. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('\000') {
  42760. if slash != 0 {
  42761. switch int32(s) - int32(slash) {
  42762. case int32(1):
  42763. f -= uintptr(1) /* squash // and trim final / from file */
  42764. case int32(2):
  42765. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6979, uint32(2)) != 0) {
  42766. f -= uintptr(2) /* trim /. from file */
  42767. }
  42768. case int32(3):
  42769. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6982, uint32(3)) != 0) {
  42770. f -= uintptr(3) /* trim /.. from file */
  42771. for f > file {
  42772. f--
  42773. v2 = f
  42774. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2))) == int32('/') {
  42775. break
  42776. }
  42777. }
  42778. }
  42779. break
  42780. }
  42781. }
  42782. slash = s
  42783. }
  42784. v4 = s
  42785. s++
  42786. v3 = *(*TFcChar8)(unsafe.Pointer(v4))
  42787. v5 = f
  42788. f++
  42789. *(*TFcChar8)(unsafe.Pointer(v5)) = v3
  42790. if !(v3 != 0) {
  42791. break
  42792. }
  42793. goto _1
  42794. _1:
  42795. }
  42796. return file
  42797. }
  42798. func XFcStrCanonFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42799. bp := tls.Alloc(4128)
  42800. defer tls.Free(4128)
  42801. var file, full uintptr
  42802. var _ /* cwd at bp+0 */ [4098]TFcChar8
  42803. _, _ = file, full
  42804. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') {
  42805. return _FcStrCanonAbsoluteFilename(tls, s)
  42806. } else {
  42807. if libc.Xgetcwd(tls, bp, uint32(m_FC_MAX_FILE_LEN)) == libc.UintptrFromInt32(0) {
  42808. return libc.UintptrFromInt32(0)
  42809. }
  42810. full = XIA__FcStrBuildFilename(tls, bp, libc.VaList(bp+4112, s, libc.UintptrFromInt32(0)))
  42811. file = _FcStrCanonAbsoluteFilename(tls, full)
  42812. XIA__FcStrFree(tls, full)
  42813. return file
  42814. }
  42815. return r
  42816. }
  42817. func XIA__FcStrSetCreate(tls *libc.TLS) (r uintptr) {
  42818. return XFcStrSetCreateEx(tls, uint32(m_FCSS_DEFAULT))
  42819. }
  42820. var XFcStrSetCreate = XIA__FcStrSetCreate
  42821. func XFcStrSetCreateEx(tls *libc.TLS, control uint32) (r uintptr) {
  42822. var set uintptr
  42823. _ = set
  42824. set = libc.Xmalloc(tls, uint32(20))
  42825. if !(set != 0) {
  42826. return uintptr(0)
  42827. }
  42828. (*TFcRef)(unsafe.Pointer(set)).Fcount = int32(1)
  42829. (*TFcStrSet)(unsafe.Pointer(set)).Fnum = 0
  42830. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = 0
  42831. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = uintptr(0)
  42832. (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol = control
  42833. return set
  42834. }
  42835. func __FcStrSetGrow(tls *libc.TLS, set uintptr, growElements int32) (r TFcBool) {
  42836. var strs uintptr
  42837. _ = strs
  42838. /* accommodate an additional NULL entry at the end of the array */
  42839. strs = libc.Xmalloc(tls, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fsize+growElements+libc.Int32FromInt32(1))*uint32(4))
  42840. if !(strs != 0) {
  42841. return m_FcFalse
  42842. }
  42843. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum != 0 {
  42844. libc.Xmemcpy(tls, strs, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*uint32(4))
  42845. }
  42846. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  42847. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  42848. }
  42849. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = (*TFcStrSet)(unsafe.Pointer(set)).Fsize + growElements
  42850. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = strs
  42851. return int32(m_FcTrue)
  42852. }
  42853. func __FcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  42854. var growElements, i, v1, v2 int32
  42855. var v3 uintptr
  42856. _, _, _, _, _ = growElements, i, v1, v2, v3
  42857. if !((*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&libc.Uint32FromInt32(m_FCSS_ALLOW_DUPLICATES) != 0) {
  42858. if XIA__FcStrSetMember(tls, set, s) != 0 {
  42859. XIA__FcStrFree(tls, s)
  42860. return int32(m_FcTrue)
  42861. }
  42862. }
  42863. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum == (*TFcStrSet)(unsafe.Pointer(set)).Fsize {
  42864. if (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&uint32(m_FCSS_GROW_BY_64) != 0 {
  42865. v1 = int32(64)
  42866. } else {
  42867. v1 = int32(1)
  42868. }
  42869. growElements = v1
  42870. if !(__FcStrSetGrow(tls, set, growElements) != 0) {
  42871. return m_FcFalse
  42872. }
  42873. }
  42874. if pos >= (*TFcStrSet)(unsafe.Pointer(set)).Fnum {
  42875. v3 = set + 4
  42876. v2 = *(*int32)(unsafe.Pointer(v3))
  42877. *(*int32)(unsafe.Pointer(v3))++
  42878. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(v2)*4)) = s
  42879. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*4)) = uintptr(0)
  42880. } else {
  42881. (*TFcStrSet)(unsafe.Pointer(set)).Fnum++
  42882. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*4)) = uintptr(0)
  42883. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum - int32(1)
  42884. for {
  42885. if !(i > pos) {
  42886. break
  42887. }
  42888. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*4))
  42889. goto _4
  42890. _4:
  42891. ;
  42892. i--
  42893. }
  42894. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(pos)*4)) = s
  42895. }
  42896. return int32(m_FcTrue)
  42897. }
  42898. func XIA__FcStrSetMember(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  42899. var i int32
  42900. _ = i
  42901. i = 0
  42902. for {
  42903. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  42904. break
  42905. }
  42906. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)), s) != 0) {
  42907. return int32(m_FcTrue)
  42908. }
  42909. goto _1
  42910. _1:
  42911. ;
  42912. i++
  42913. }
  42914. return m_FcFalse
  42915. }
  42916. var XFcStrSetMember = XIA__FcStrSetMember
  42917. func _fc_strcmp_r(tls *libc.TLS, s1 uintptr, s2 uintptr, ret uintptr) (r int32) {
  42918. var c1, c2 TFcChar8
  42919. var v2, v3 uintptr
  42920. _, _, _, _ = c1, c2, v2, v3
  42921. if s1 == s2 {
  42922. if ret != 0 {
  42923. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  42924. }
  42925. return 0
  42926. }
  42927. for {
  42928. if s1 != 0 {
  42929. v2 = s1
  42930. s1++
  42931. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  42932. } else {
  42933. c1 = uint8(0)
  42934. }
  42935. if s2 != 0 {
  42936. v3 = s2
  42937. s2++
  42938. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  42939. } else {
  42940. c2 = uint8(0)
  42941. }
  42942. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42943. break
  42944. }
  42945. goto _1
  42946. _1:
  42947. }
  42948. if ret != 0 {
  42949. *(*uintptr)(unsafe.Pointer(ret)) = s1
  42950. }
  42951. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  42952. }
  42953. func XFcStrSetMemberAB(tls *libc.TLS, set uintptr, a uintptr, b uintptr, ret uintptr) (r TFcBool) {
  42954. bp := tls.Alloc(16)
  42955. defer tls.Free(16)
  42956. var i int32
  42957. var _ /* s at bp+0 */ uintptr
  42958. _ = i
  42959. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  42960. i = 0
  42961. for {
  42962. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  42963. break
  42964. }
  42965. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)), a, bp) != 0) && *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  42966. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer(bp)), b, libc.UintptrFromInt32(0)) != 0) {
  42967. if ret != 0 {
  42968. *(*uintptr)(unsafe.Pointer(ret)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4))
  42969. }
  42970. return int32(m_FcTrue)
  42971. }
  42972. }
  42973. goto _1
  42974. _1:
  42975. ;
  42976. i++
  42977. }
  42978. if ret != 0 {
  42979. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  42980. }
  42981. return m_FcFalse
  42982. }
  42983. func XIA__FcStrSetEqual(tls *libc.TLS, sa uintptr, sb uintptr) (r TFcBool) {
  42984. var i int32
  42985. _ = i
  42986. if (*TFcStrSet)(unsafe.Pointer(sa)).Fnum != (*TFcStrSet)(unsafe.Pointer(sb)).Fnum {
  42987. return m_FcFalse
  42988. }
  42989. i = 0
  42990. for {
  42991. if !(i < (*TFcStrSet)(unsafe.Pointer(sa)).Fnum) {
  42992. break
  42993. }
  42994. if !(XIA__FcStrSetMember(tls, sb, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(sa)).Fstrs + uintptr(i)*4))) != 0) {
  42995. return m_FcFalse
  42996. }
  42997. goto _1
  42998. _1:
  42999. ;
  43000. i++
  43001. }
  43002. return int32(m_FcTrue)
  43003. }
  43004. var XFcStrSetEqual = XIA__FcStrSetEqual
  43005. func XIA__FcStrSetAdd(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  43006. var new1 uintptr
  43007. _ = new1
  43008. new1 = XIA__FcStrCopy(tls, s)
  43009. if !(new1 != 0) {
  43010. return m_FcFalse
  43011. }
  43012. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  43013. XIA__FcStrFree(tls, new1)
  43014. return m_FcFalse
  43015. }
  43016. return int32(m_FcTrue)
  43017. }
  43018. var XFcStrSetAdd = XIA__FcStrSetAdd
  43019. func XFcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  43020. var new1 uintptr
  43021. _ = new1
  43022. new1 = XIA__FcStrCopy(tls, s)
  43023. if !(new1 != 0) {
  43024. return m_FcFalse
  43025. }
  43026. if !(__FcStrSetInsert(tls, set, new1, pos) != 0) {
  43027. XIA__FcStrFree(tls, new1)
  43028. return m_FcFalse
  43029. }
  43030. return int32(m_FcTrue)
  43031. }
  43032. func XFcStrSetAddTriple(tls *libc.TLS, set uintptr, a uintptr, b uintptr, c uintptr) (r TFcBool) {
  43033. var new1 uintptr
  43034. _ = new1
  43035. new1 = _FcStrMakeTriple(tls, a, b, c)
  43036. if !(new1 != 0) {
  43037. return m_FcFalse
  43038. }
  43039. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  43040. XIA__FcStrFree(tls, new1)
  43041. return m_FcFalse
  43042. }
  43043. return int32(m_FcTrue)
  43044. }
  43045. func XFcStrTripleSecond(tls *libc.TLS, str uintptr) (r uintptr) {
  43046. var second uintptr
  43047. _ = second
  43048. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  43049. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(second))) == int32('\000') {
  43050. return uintptr(0)
  43051. }
  43052. return second
  43053. }
  43054. func XFcStrTripleThird(tls *libc.TLS, str uintptr) (r uintptr) {
  43055. var second, third uintptr
  43056. _, _ = second, third
  43057. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  43058. third = second + uintptr(libc.Xstrlen(tls, second)) + uintptr(1)
  43059. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(third))) == int32('\000') {
  43060. return uintptr(0)
  43061. }
  43062. return third
  43063. }
  43064. func XIA__FcStrSetAddFilename(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  43065. var new1 uintptr
  43066. _ = new1
  43067. new1 = XIA__FcStrCopyFilename(tls, s)
  43068. if !(new1 != 0) {
  43069. return m_FcFalse
  43070. }
  43071. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  43072. XIA__FcStrFree(tls, new1)
  43073. return m_FcFalse
  43074. }
  43075. return int32(m_FcTrue)
  43076. }
  43077. var XFcStrSetAddFilename = XIA__FcStrSetAddFilename
  43078. func XFcStrSetAddFilenamePairWithSalt(tls *libc.TLS, set uintptr, a uintptr, b uintptr, salt uintptr) (r TFcBool) {
  43079. var new_a, new_b uintptr
  43080. var ret TFcBool
  43081. _, _, _ = new_a, new_b, ret
  43082. new_a = libc.UintptrFromInt32(0)
  43083. new_b = libc.UintptrFromInt32(0)
  43084. if a != 0 {
  43085. new_a = XIA__FcStrCopyFilename(tls, a)
  43086. if !(new_a != 0) {
  43087. return m_FcFalse
  43088. }
  43089. }
  43090. if b != 0 {
  43091. new_b = XIA__FcStrCopyFilename(tls, b)
  43092. if !(new_b != 0) {
  43093. if new_a != 0 {
  43094. XIA__FcStrFree(tls, new_a)
  43095. }
  43096. return m_FcFalse
  43097. }
  43098. }
  43099. /* Override maps with new one if exists */
  43100. XIA__FcStrSetDel(tls, set, new_a)
  43101. ret = XFcStrSetAddTriple(tls, set, new_a, new_b, salt)
  43102. if new_a != 0 {
  43103. XIA__FcStrFree(tls, new_a)
  43104. }
  43105. if new_b != 0 {
  43106. XIA__FcStrFree(tls, new_b)
  43107. }
  43108. return ret
  43109. }
  43110. func XFcStrSetAddLangs(tls *libc.TLS, strs uintptr, languages uintptr) (r TFcBool) {
  43111. bp := tls.Alloc(128)
  43112. defer tls.Free(128)
  43113. var len1 Tsize_t
  43114. var next, normalized_lang, p, v1 uintptr
  43115. var ret TFcBool
  43116. var v2 uint32
  43117. var _ /* lang at bp+0 */ [128]TFcChar8
  43118. _, _, _, _, _, _, _ = len1, next, normalized_lang, p, ret, v1, v2
  43119. p = languages
  43120. *(*[128]TFcChar8)(unsafe.Pointer(bp)) = [128]TFcChar8{}
  43121. ret = m_FcFalse
  43122. if !(languages != 0) {
  43123. return m_FcFalse
  43124. }
  43125. for {
  43126. v1 = libc.Xstrchr(tls, p, int32(':'))
  43127. next = v1
  43128. if !(v1 != 0) {
  43129. break
  43130. }
  43131. len1 = libc.Uint32FromInt32(int32(next) - int32(p))
  43132. if len1 < libc.Uint32FromInt32(libc.Int32FromInt32(127)) {
  43133. v2 = len1
  43134. } else {
  43135. v2 = libc.Uint32FromInt32(libc.Int32FromInt32(127))
  43136. }
  43137. len1 = v2
  43138. libc.Xstrncpy(tls, bp, p, len1)
  43139. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  43140. /* ignore an empty item */
  43141. if *(*TFcChar8)(unsafe.Pointer(bp)) != 0 {
  43142. normalized_lang = XIA__FcLangNormalize(tls, bp)
  43143. if normalized_lang != 0 {
  43144. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  43145. XIA__FcStrFree(tls, normalized_lang)
  43146. ret = int32(m_FcTrue)
  43147. }
  43148. }
  43149. p = next + uintptr(1)
  43150. }
  43151. if *(*int8)(unsafe.Pointer(p)) != 0 {
  43152. normalized_lang = XIA__FcLangNormalize(tls, p)
  43153. if normalized_lang != 0 {
  43154. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  43155. XIA__FcStrFree(tls, normalized_lang)
  43156. ret = int32(m_FcTrue)
  43157. }
  43158. }
  43159. return ret
  43160. }
  43161. func XIA__FcStrSetDel(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  43162. var i int32
  43163. _ = i
  43164. i = 0
  43165. for {
  43166. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  43167. break
  43168. }
  43169. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)), s) != 0) {
  43170. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)))
  43171. /*
  43172. * copy remaining string pointers and trailing
  43173. * NULL
  43174. */
  43175. 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))
  43176. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  43177. return int32(m_FcTrue)
  43178. }
  43179. goto _1
  43180. _1:
  43181. ;
  43182. i++
  43183. }
  43184. return m_FcFalse
  43185. }
  43186. var XFcStrSetDel = XIA__FcStrSetDel
  43187. func XFcStrSetDeleteAll(tls *libc.TLS, set uintptr) (r TFcBool) {
  43188. var i int32
  43189. var v1 TFcBool
  43190. _, _ = i, v1
  43191. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43192. goto _2
  43193. _2:
  43194. if v1 != 0 {
  43195. return m_FcFalse
  43196. }
  43197. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum
  43198. for {
  43199. if !(i > 0) {
  43200. break
  43201. }
  43202. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*4)))
  43203. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  43204. goto _3
  43205. _3:
  43206. ;
  43207. i--
  43208. }
  43209. return int32(m_FcTrue)
  43210. }
  43211. // C documentation
  43212. //
  43213. // /* TODO Make public */
  43214. func _FcStrSetReference(tls *libc.TLS, set uintptr) (r uintptr) {
  43215. var v1 TFcBool
  43216. var p4 uintptr
  43217. _, _ = v1, p4
  43218. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43219. goto _2
  43220. _2:
  43221. if v1 != 0 {
  43222. return set
  43223. }
  43224. p4 = set
  43225. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  43226. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  43227. goto _3
  43228. _3:
  43229. ;
  43230. return set
  43231. }
  43232. func XIA__FcStrSetDestroy(tls *libc.TLS, set uintptr) {
  43233. var i, v3 int32
  43234. var v1 TFcBool
  43235. var p5 uintptr
  43236. _, _, _, _ = i, v1, v3, p5
  43237. /* We rely on this in FcGetDefaultLangs for caching. */
  43238. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43239. goto _2
  43240. _2:
  43241. if v1 != 0 {
  43242. return
  43243. }
  43244. p5 = set
  43245. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  43246. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  43247. goto _4
  43248. _4:
  43249. if v3 != int32(1) {
  43250. return
  43251. }
  43252. i = 0
  43253. for {
  43254. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  43255. break
  43256. }
  43257. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*4)))
  43258. goto _6
  43259. _6:
  43260. ;
  43261. i++
  43262. }
  43263. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  43264. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  43265. }
  43266. libc.Xfree(tls, set)
  43267. }
  43268. var XFcStrSetDestroy = XIA__FcStrSetDestroy
  43269. func XIA__FcStrListCreate(tls *libc.TLS, set uintptr) (r uintptr) {
  43270. var list uintptr
  43271. _ = list
  43272. list = libc.Xmalloc(tls, uint32(8))
  43273. if !(list != 0) {
  43274. return uintptr(0)
  43275. }
  43276. (*TFcStrList)(unsafe.Pointer(list)).Fset = set
  43277. _FcStrSetReference(tls, set)
  43278. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  43279. return list
  43280. }
  43281. var XFcStrListCreate = XIA__FcStrListCreate
  43282. func XIA__FcStrListFirst(tls *libc.TLS, list uintptr) {
  43283. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  43284. }
  43285. var XFcStrListFirst = XIA__FcStrListFirst
  43286. func XIA__FcStrListNext(tls *libc.TLS, list uintptr) (r uintptr) {
  43287. var v1 int32
  43288. var v2 uintptr
  43289. _, _ = v1, v2
  43290. if (*TFcStrList)(unsafe.Pointer(list)).Fn >= (*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fnum {
  43291. return uintptr(0)
  43292. }
  43293. v2 = list + 4
  43294. v1 = *(*int32)(unsafe.Pointer(v2))
  43295. *(*int32)(unsafe.Pointer(v2))++
  43296. return *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fstrs + uintptr(v1)*4))
  43297. }
  43298. var XFcStrListNext = XIA__FcStrListNext
  43299. func XIA__FcStrListDone(tls *libc.TLS, list uintptr) {
  43300. XIA__FcStrSetDestroy(tls, (*TFcStrList)(unsafe.Pointer(list)).Fset)
  43301. libc.Xfree(tls, list)
  43302. }
  43303. var XFcStrListDone = XIA__FcStrListDone
  43304. const m_FC_DIR_SEPARATOR4 = '/'
  43305. var _map = [13]struct {
  43306. Fot int32
  43307. Ffc int32
  43308. }{
  43309. 0: {},
  43310. 1: {
  43311. Fot: int32(100),
  43312. },
  43313. 2: {
  43314. Fot: int32(200),
  43315. Ffc: int32(m_FC_WEIGHT_EXTRALIGHT),
  43316. },
  43317. 3: {
  43318. Fot: int32(300),
  43319. Ffc: int32(m_FC_WEIGHT_LIGHT),
  43320. },
  43321. 4: {
  43322. Fot: int32(350),
  43323. Ffc: int32(m_FC_WEIGHT_DEMILIGHT),
  43324. },
  43325. 5: {
  43326. Fot: int32(380),
  43327. Ffc: int32(m_FC_WEIGHT_BOOK),
  43328. },
  43329. 6: {
  43330. Fot: int32(400),
  43331. Ffc: int32(m_FC_WEIGHT_REGULAR),
  43332. },
  43333. 7: {
  43334. Fot: int32(500),
  43335. Ffc: int32(m_FC_WEIGHT_MEDIUM),
  43336. },
  43337. 8: {
  43338. Fot: int32(600),
  43339. Ffc: int32(m_FC_WEIGHT_DEMIBOLD),
  43340. },
  43341. 9: {
  43342. Fot: int32(700),
  43343. Ffc: int32(m_FC_WEIGHT_BOLD),
  43344. },
  43345. 10: {
  43346. Fot: int32(800),
  43347. Ffc: int32(m_FC_WEIGHT_EXTRABOLD),
  43348. },
  43349. 11: {
  43350. Fot: int32(900),
  43351. Ffc: int32(m_FC_WEIGHT_BLACK),
  43352. },
  43353. 12: {
  43354. Fot: int32(1000),
  43355. Ffc: int32(m_FC_WEIGHT_EXTRABLACK),
  43356. },
  43357. }
  43358. func _lerp(tls *libc.TLS, x float64, x1 int32, x2 int32, y1 int32, y2 int32) (r float64) {
  43359. var dx, dy int32
  43360. _, _ = dx, dy
  43361. dx = x2 - x1
  43362. dy = y2 - y1
  43363. return float64(y1) + (x-float64(x1))*float64(dy)/float64(dx)
  43364. }
  43365. func XIA__FcWeightFromOpenTypeDouble(tls *libc.TLS, ot_weight float64) (r float64) {
  43366. var i int32
  43367. var v1 float64
  43368. _, _ = i, v1
  43369. if ot_weight < libc.Float64FromInt32(0) {
  43370. return float64(-libc.Int32FromInt32(1))
  43371. }
  43372. if ot_weight < float64(_map[libc.Uint32FromInt64(104)/libc.Uint32FromInt64(8)-libc.Uint32FromInt32(1)].Fot) {
  43373. v1 = ot_weight
  43374. } else {
  43375. v1 = float64(_map[libc.Uint32FromInt64(104)/libc.Uint32FromInt64(8)-libc.Uint32FromInt32(1)].Fot)
  43376. }
  43377. ot_weight = v1
  43378. i = int32(1)
  43379. for {
  43380. if !(ot_weight > float64(_map[i].Fot)) {
  43381. break
  43382. }
  43383. goto _2
  43384. _2:
  43385. ;
  43386. i++
  43387. }
  43388. if ot_weight == float64(_map[i].Fot) {
  43389. return float64(_map[i].Ffc)
  43390. }
  43391. /* Interpolate between two items. */
  43392. return _lerp(tls, ot_weight, _map[i-int32(1)].Fot, _map[i].Fot, _map[i-int32(1)].Ffc, _map[i].Ffc)
  43393. }
  43394. var XFcWeightFromOpenTypeDouble = XIA__FcWeightFromOpenTypeDouble
  43395. func XIA__FcWeightToOpenTypeDouble(tls *libc.TLS, fc_weight float64) (r float64) {
  43396. var i int32
  43397. _ = i
  43398. if fc_weight < libc.Float64FromInt32(0) || fc_weight > libc.Float64FromInt32(m_FC_WEIGHT_EXTRABLACK) {
  43399. return float64(-libc.Int32FromInt32(1))
  43400. }
  43401. i = int32(1)
  43402. for {
  43403. if !(fc_weight > float64(_map[i].Ffc)) {
  43404. break
  43405. }
  43406. goto _1
  43407. _1:
  43408. ;
  43409. i++
  43410. }
  43411. if fc_weight == float64(_map[i].Ffc) {
  43412. return float64(_map[i].Fot)
  43413. }
  43414. /* Interpolate between two items. */
  43415. return _lerp(tls, fc_weight, _map[i-int32(1)].Ffc, _map[i].Ffc, _map[i-int32(1)].Fot, _map[i].Fot)
  43416. }
  43417. var XFcWeightToOpenTypeDouble = XIA__FcWeightToOpenTypeDouble
  43418. func XIA__FcWeightFromOpenType(tls *libc.TLS, ot_weight int32) (r int32) {
  43419. return int32(XIA__FcWeightFromOpenTypeDouble(tls, float64(ot_weight)) + float64(0.5))
  43420. }
  43421. var XFcWeightFromOpenType = XIA__FcWeightFromOpenType
  43422. func XIA__FcWeightToOpenType(tls *libc.TLS, fc_weight int32) (r int32) {
  43423. return int32(XIA__FcWeightToOpenTypeDouble(tls, float64(fc_weight)) + float64(0.5))
  43424. }
  43425. var XFcWeightToOpenType = XIA__FcWeightToOpenType
  43426. const m_Expat_External_INCLUDED = 1
  43427. const m_Expat_INCLUDED = 1
  43428. const m_FC_DIR_SEPARATOR5 = 47
  43429. const m_HAVE_XMLPARSE_H = 0
  43430. const m_LC_ALL = 6
  43431. const m_LC_ALL_MASK = 0x7fffffff
  43432. const m_LC_COLLATE = 3
  43433. const m_LC_CTYPE = 0
  43434. const m_LC_MESSAGES = 5
  43435. const m_LC_MONETARY = 4
  43436. const m_LC_NUMERIC = 1
  43437. const m_LC_TIME = 2
  43438. const m_TAIL = ".conf"
  43439. const m_TAIL_LEN = 5
  43440. const m_XML_ENABLE_VISIBILITY = 0
  43441. const m_XML_GetErrorByteIndex = "XML_GetCurrentByteIndex"
  43442. const m_XML_GetErrorColumnNumber = "XML_GetCurrentColumnNumber"
  43443. const m_XML_GetErrorLineNumber = "XML_GetCurrentLineNumber"
  43444. const m_XML_MAJOR_VERSION = 2
  43445. const m_XML_MICRO_VERSION = 0
  43446. const m_XML_MINOR_VERSION = 5
  43447. type TXML_Char = int8
  43448. type TXML_LChar = int8
  43449. type TXML_Index = int32
  43450. type TXML_Size = uint32
  43451. type TXML_Parser = uintptr
  43452. type TXML_Bool = uint8
  43453. type _XML_Status = int32
  43454. const _XML_STATUS_ERROR = 0
  43455. const _XML_STATUS_OK = 1
  43456. const _XML_STATUS_SUSPENDED = 2
  43457. type _XML_Error = int32
  43458. const _XML_ERROR_NONE = 0
  43459. const _XML_ERROR_NO_MEMORY = 1
  43460. const _XML_ERROR_SYNTAX = 2
  43461. const _XML_ERROR_NO_ELEMENTS = 3
  43462. const _XML_ERROR_INVALID_TOKEN = 4
  43463. const _XML_ERROR_UNCLOSED_TOKEN = 5
  43464. const _XML_ERROR_PARTIAL_CHAR = 6
  43465. const _XML_ERROR_TAG_MISMATCH = 7
  43466. const _XML_ERROR_DUPLICATE_ATTRIBUTE = 8
  43467. const _XML_ERROR_JUNK_AFTER_DOC_ELEMENT = 9
  43468. const _XML_ERROR_PARAM_ENTITY_REF = 10
  43469. const _XML_ERROR_UNDEFINED_ENTITY = 11
  43470. const _XML_ERROR_RECURSIVE_ENTITY_REF = 12
  43471. const _XML_ERROR_ASYNC_ENTITY = 13
  43472. const _XML_ERROR_BAD_CHAR_REF = 14
  43473. const _XML_ERROR_BINARY_ENTITY_REF = 15
  43474. const _XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
  43475. const _XML_ERROR_MISPLACED_XML_PI = 17
  43476. const _XML_ERROR_UNKNOWN_ENCODING = 18
  43477. const _XML_ERROR_INCORRECT_ENCODING = 19
  43478. const _XML_ERROR_UNCLOSED_CDATA_SECTION = 20
  43479. const _XML_ERROR_EXTERNAL_ENTITY_HANDLING = 21
  43480. const _XML_ERROR_NOT_STANDALONE = 22
  43481. const _XML_ERROR_UNEXPECTED_STATE = 23
  43482. const _XML_ERROR_ENTITY_DECLARED_IN_PE = 24
  43483. const _XML_ERROR_FEATURE_REQUIRES_XML_DTD = 25
  43484. const _XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING = 26
  43485. const _XML_ERROR_UNBOUND_PREFIX = 27
  43486. const _XML_ERROR_UNDECLARING_PREFIX = 28
  43487. const _XML_ERROR_INCOMPLETE_PE = 29
  43488. const _XML_ERROR_XML_DECL = 30
  43489. const _XML_ERROR_TEXT_DECL = 31
  43490. const _XML_ERROR_PUBLICID = 32
  43491. const _XML_ERROR_SUSPENDED = 33
  43492. const _XML_ERROR_NOT_SUSPENDED = 34
  43493. const _XML_ERROR_ABORTED = 35
  43494. const _XML_ERROR_FINISHED = 36
  43495. const _XML_ERROR_SUSPEND_PE = 37
  43496. const _XML_ERROR_RESERVED_PREFIX_XML = 38
  43497. const _XML_ERROR_RESERVED_PREFIX_XMLNS = 39
  43498. const _XML_ERROR_RESERVED_NAMESPACE_URI = 40
  43499. const _XML_ERROR_INVALID_ARGUMENT = 41
  43500. const _XML_ERROR_NO_BUFFER = 42
  43501. const _XML_ERROR_AMPLIFICATION_LIMIT_BREACH = 43
  43502. type _XML_Content_Type = int32
  43503. const _XML_CTYPE_EMPTY = 1
  43504. const _XML_CTYPE_ANY = 2
  43505. const _XML_CTYPE_MIXED = 3
  43506. const _XML_CTYPE_NAME = 4
  43507. const _XML_CTYPE_CHOICE = 5
  43508. const _XML_CTYPE_SEQ = 6
  43509. type _XML_Content_Quant = int32
  43510. const _XML_CQUANT_NONE = 0
  43511. const _XML_CQUANT_OPT = 1
  43512. const _XML_CQUANT_REP = 2
  43513. const _XML_CQUANT_PLUS = 3
  43514. type TXML_Content = struct {
  43515. Ftype1 _XML_Content_Type
  43516. Fquant _XML_Content_Quant
  43517. Fname uintptr
  43518. Fnumchildren uint32
  43519. Fchildren uintptr
  43520. }
  43521. type TXML_cp = TXML_Content
  43522. type TXML_ElementDeclHandler = uintptr
  43523. type TXML_AttlistDeclHandler = uintptr
  43524. type TXML_XmlDeclHandler = uintptr
  43525. type TXML_Memory_Handling_Suite = struct {
  43526. Fmalloc_fcn uintptr
  43527. Frealloc_fcn uintptr
  43528. Ffree_fcn uintptr
  43529. }
  43530. type TXML_StartElementHandler = uintptr
  43531. type TXML_EndElementHandler = uintptr
  43532. type TXML_CharacterDataHandler = uintptr
  43533. type TXML_ProcessingInstructionHandler = uintptr
  43534. type TXML_CommentHandler = uintptr
  43535. type TXML_StartCdataSectionHandler = uintptr
  43536. type TXML_EndCdataSectionHandler = uintptr
  43537. type TXML_DefaultHandler = uintptr
  43538. type TXML_StartDoctypeDeclHandler = uintptr
  43539. type TXML_EndDoctypeDeclHandler = uintptr
  43540. type TXML_EntityDeclHandler = uintptr
  43541. type TXML_UnparsedEntityDeclHandler = uintptr
  43542. type TXML_NotationDeclHandler = uintptr
  43543. type TXML_StartNamespaceDeclHandler = uintptr
  43544. type TXML_EndNamespaceDeclHandler = uintptr
  43545. type TXML_NotStandaloneHandler = uintptr
  43546. type TXML_ExternalEntityRefHandler = uintptr
  43547. type TXML_SkippedEntityHandler = uintptr
  43548. type TXML_Encoding = struct {
  43549. Fmap1 [256]int32
  43550. Fdata uintptr
  43551. Fconvert uintptr
  43552. Frelease uintptr
  43553. }
  43554. type TXML_UnknownEncodingHandler = uintptr
  43555. type _XML_Parsing = int32
  43556. const _XML_INITIALIZED = 0
  43557. const _XML_PARSING = 1
  43558. const _XML_FINISHED = 2
  43559. const _XML_SUSPENDED = 3
  43560. type TXML_ParsingStatus = struct {
  43561. Fparsing _XML_Parsing
  43562. FfinalBuffer TXML_Bool
  43563. }
  43564. type _XML_ParamEntityParsing = int32
  43565. const _XML_PARAM_ENTITY_PARSING_NEVER = 0
  43566. const _XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1
  43567. const _XML_PARAM_ENTITY_PARSING_ALWAYS = 2
  43568. type TXML_Expat_Version = struct {
  43569. Fmajor int32
  43570. Fminor int32
  43571. Fmicro int32
  43572. }
  43573. type _XML_FeatureEnum = int32
  43574. const _XML_FEATURE_END = 0
  43575. const _XML_FEATURE_UNICODE = 1
  43576. const _XML_FEATURE_UNICODE_WCHAR_T = 2
  43577. const _XML_FEATURE_DTD = 3
  43578. const _XML_FEATURE_CONTEXT_BYTES = 4
  43579. const _XML_FEATURE_MIN_SIZE = 5
  43580. const _XML_FEATURE_SIZEOF_XML_CHAR = 6
  43581. const _XML_FEATURE_SIZEOF_XML_LCHAR = 7
  43582. const _XML_FEATURE_NS = 8
  43583. const _XML_FEATURE_LARGE_SIZE = 9
  43584. const _XML_FEATURE_ATTR_INFO = 10
  43585. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT = 11
  43586. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT = 12
  43587. type TXML_Feature = struct {
  43588. Ffeature _XML_FeatureEnum
  43589. Fname uintptr
  43590. Fvalue int32
  43591. }
  43592. /* Expat follows the semantic versioning convention.
  43593. See http://semver.org.
  43594. */
  43595. var ___fc_userdir = libc.UintptrFromInt32(0)
  43596. var ___fc_userconf = libc.UintptrFromInt32(0)
  43597. func XFcTestDestroy(tls *libc.TLS, test uintptr) {
  43598. _FcExprDestroy(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  43599. libc.Xfree(tls, test)
  43600. }
  43601. func XFcRuleDestroy(tls *libc.TLS, rule uintptr) {
  43602. var n uintptr
  43603. _ = n
  43604. n = (*TFcRule)(unsafe.Pointer(rule)).Fnext
  43605. switch (*TFcRule)(unsafe.Pointer(rule)).Ftype1 {
  43606. case int32(_FcRuleTest):
  43607. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 8)))
  43608. case int32(_FcRuleEdit):
  43609. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 8)))
  43610. case int32(_FcRuleUnknown):
  43611. fallthrough
  43612. default:
  43613. break
  43614. }
  43615. libc.Xfree(tls, rule)
  43616. if n != 0 {
  43617. XFcRuleDestroy(tls, n)
  43618. }
  43619. }
  43620. func _FcExprCreateInteger(tls *libc.TLS, config uintptr, i int32) (r uintptr) {
  43621. var e uintptr
  43622. _ = e
  43623. e = XFcConfigAllocExpr(tls, config)
  43624. if e != 0 {
  43625. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpInteger)
  43626. (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival = i
  43627. }
  43628. return e
  43629. }
  43630. func _FcExprCreateDouble(tls *libc.TLS, config uintptr, d float64) (r uintptr) {
  43631. var e uintptr
  43632. _ = e
  43633. e = XFcConfigAllocExpr(tls, config)
  43634. if e != 0 {
  43635. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpDouble)
  43636. *(*float64)(unsafe.Pointer(e + 4)) = d
  43637. }
  43638. return e
  43639. }
  43640. func _FcExprCreateString(tls *libc.TLS, config uintptr, s uintptr) (r uintptr) {
  43641. var e uintptr
  43642. _ = e
  43643. e = XFcConfigAllocExpr(tls, config)
  43644. if e != 0 {
  43645. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpString)
  43646. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, s)
  43647. }
  43648. return e
  43649. }
  43650. func _FcExprMatrixCopyShallow(tls *libc.TLS, matrix uintptr) (r uintptr) {
  43651. var m uintptr
  43652. _ = m
  43653. m = libc.Xmalloc(tls, uint32(16))
  43654. if m != 0 {
  43655. *(*TFcExprMatrix)(unsafe.Pointer(m)) = *(*TFcExprMatrix)(unsafe.Pointer(matrix))
  43656. }
  43657. return m
  43658. }
  43659. func _FcExprMatrixFreeShallow(tls *libc.TLS, m uintptr) {
  43660. if !(m != 0) {
  43661. return
  43662. }
  43663. libc.Xfree(tls, m)
  43664. }
  43665. func _FcExprMatrixFree(tls *libc.TLS, m uintptr) {
  43666. if !(m != 0) {
  43667. return
  43668. }
  43669. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxx)
  43670. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxy)
  43671. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyx)
  43672. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyy)
  43673. libc.Xfree(tls, m)
  43674. }
  43675. func _FcExprCreateMatrix(tls *libc.TLS, config uintptr, matrix uintptr) (r uintptr) {
  43676. var e uintptr
  43677. _ = e
  43678. e = XFcConfigAllocExpr(tls, config)
  43679. if e != 0 {
  43680. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpMatrix)
  43681. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  43682. }
  43683. return e
  43684. }
  43685. func _FcExprCreateRange(tls *libc.TLS, config uintptr, range1 uintptr) (r uintptr) {
  43686. var e uintptr
  43687. _ = e
  43688. e = XFcConfigAllocExpr(tls, config)
  43689. if e != 0 {
  43690. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpRange)
  43691. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcRangeCopy(tls, range1)
  43692. }
  43693. return e
  43694. }
  43695. func _FcExprCreateBool(tls *libc.TLS, config uintptr, b TFcBool) (r uintptr) {
  43696. var e uintptr
  43697. _ = e
  43698. e = XFcConfigAllocExpr(tls, config)
  43699. if e != 0 {
  43700. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpBool)
  43701. *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = b
  43702. }
  43703. return e
  43704. }
  43705. func _FcExprCreateCharSet(tls *libc.TLS, config uintptr, charset uintptr) (r uintptr) {
  43706. var e uintptr
  43707. _ = e
  43708. e = XFcConfigAllocExpr(tls, config)
  43709. if e != 0 {
  43710. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpCharSet)
  43711. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcCharSetCopy(tls, charset)
  43712. }
  43713. return e
  43714. }
  43715. func _FcExprCreateLangSet(tls *libc.TLS, config uintptr, langset uintptr) (r uintptr) {
  43716. var e uintptr
  43717. _ = e
  43718. e = XFcConfigAllocExpr(tls, config)
  43719. if e != 0 {
  43720. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpLangSet)
  43721. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcLangSetCopy(tls, langset)
  43722. }
  43723. return e
  43724. }
  43725. func _FcExprCreateName(tls *libc.TLS, config uintptr, name TFcExprName) (r uintptr) {
  43726. var e uintptr
  43727. _ = e
  43728. e = XFcConfigAllocExpr(tls, config)
  43729. if e != 0 {
  43730. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpField)
  43731. *(*TFcExprName)(unsafe.Pointer(e + 4)) = name
  43732. }
  43733. return e
  43734. }
  43735. func _FcExprCreateConst(tls *libc.TLS, config uintptr, constant uintptr) (r uintptr) {
  43736. var e uintptr
  43737. _ = e
  43738. e = XFcConfigAllocExpr(tls, config)
  43739. if e != 0 {
  43740. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpConst)
  43741. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, constant)
  43742. }
  43743. return e
  43744. }
  43745. func _FcExprCreateOp(tls *libc.TLS, config uintptr, left uintptr, op TFcOp, right uintptr) (r uintptr) {
  43746. var e uintptr
  43747. _ = e
  43748. e = XFcConfigAllocExpr(tls, config)
  43749. if e != 0 {
  43750. (*TFcExpr)(unsafe.Pointer(e)).Fop = op
  43751. (*(*struct {
  43752. Fleft uintptr
  43753. Fright uintptr
  43754. })(unsafe.Pointer(e + 4))).Fleft = left
  43755. (*(*struct {
  43756. Fleft uintptr
  43757. Fright uintptr
  43758. })(unsafe.Pointer(e + 4))).Fright = right
  43759. }
  43760. return e
  43761. }
  43762. func _FcExprDestroy(tls *libc.TLS, e uintptr) {
  43763. if !(e != 0) {
  43764. return
  43765. }
  43766. switch (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff) {
  43767. case int32(_FcOpInteger):
  43768. case int32(_FcOpDouble):
  43769. case int32(_FcOpString):
  43770. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43771. case int32(_FcOpMatrix):
  43772. _FcExprMatrixFree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43773. case int32(_FcOpRange):
  43774. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43775. case int32(_FcOpCharSet):
  43776. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43777. case int32(_FcOpLangSet):
  43778. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43779. case int32(_FcOpBool):
  43780. case int32(_FcOpField):
  43781. case int32(_FcOpConst):
  43782. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43783. case int32(_FcOpAssign):
  43784. fallthrough
  43785. case int32(_FcOpAssignReplace):
  43786. fallthrough
  43787. case int32(_FcOpPrepend):
  43788. fallthrough
  43789. case int32(_FcOpPrependFirst):
  43790. fallthrough
  43791. case int32(_FcOpAppend):
  43792. fallthrough
  43793. case int32(_FcOpAppendLast):
  43794. fallthrough
  43795. case int32(_FcOpDelete):
  43796. fallthrough
  43797. case int32(_FcOpDeleteAll):
  43798. case int32(_FcOpOr):
  43799. fallthrough
  43800. case int32(_FcOpAnd):
  43801. fallthrough
  43802. case int32(_FcOpEqual):
  43803. fallthrough
  43804. case int32(_FcOpNotEqual):
  43805. fallthrough
  43806. case int32(_FcOpLess):
  43807. fallthrough
  43808. case int32(_FcOpLessEqual):
  43809. fallthrough
  43810. case int32(_FcOpMore):
  43811. fallthrough
  43812. case int32(_FcOpMoreEqual):
  43813. fallthrough
  43814. case int32(_FcOpContains):
  43815. fallthrough
  43816. case int32(_FcOpListing):
  43817. fallthrough
  43818. case int32(_FcOpNotContains):
  43819. fallthrough
  43820. case int32(_FcOpPlus):
  43821. fallthrough
  43822. case int32(_FcOpMinus):
  43823. fallthrough
  43824. case int32(_FcOpTimes):
  43825. fallthrough
  43826. case int32(_FcOpDivide):
  43827. fallthrough
  43828. case int32(_FcOpQuest):
  43829. fallthrough
  43830. case int32(_FcOpComma):
  43831. _FcExprDestroy(tls, (*(*struct {
  43832. Fleft uintptr
  43833. Fright uintptr
  43834. })(unsafe.Pointer(e + 4))).Fright)
  43835. /* fall through */
  43836. fallthrough
  43837. case int32(_FcOpNot):
  43838. fallthrough
  43839. case int32(_FcOpFloor):
  43840. fallthrough
  43841. case int32(_FcOpCeil):
  43842. fallthrough
  43843. case int32(_FcOpRound):
  43844. fallthrough
  43845. case int32(_FcOpTrunc):
  43846. _FcExprDestroy(tls, (*(*struct {
  43847. Fleft uintptr
  43848. Fright uintptr
  43849. })(unsafe.Pointer(e + 4))).Fleft)
  43850. case int32(_FcOpNil):
  43851. fallthrough
  43852. case int32(_FcOpInvalid):
  43853. break
  43854. }
  43855. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpNil)
  43856. }
  43857. func XFcEditDestroy(tls *libc.TLS, e uintptr) {
  43858. if (*TFcEdit)(unsafe.Pointer(e)).Fexpr != 0 {
  43859. _FcExprDestroy(tls, (*TFcEdit)(unsafe.Pointer(e)).Fexpr)
  43860. }
  43861. libc.Xfree(tls, e)
  43862. }
  43863. type TFcElement = int32
  43864. type __FcElement = int32
  43865. const _FcElementNone = 0
  43866. const _FcElementFontconfig = 1
  43867. const _FcElementDir = 2
  43868. const _FcElementCacheDir = 3
  43869. const _FcElementCache = 4
  43870. const _FcElementInclude = 5
  43871. const _FcElementConfig = 6
  43872. const _FcElementMatch = 7
  43873. const _FcElementAlias = 8
  43874. const _FcElementDescription = 9
  43875. const _FcElementRemapDir = 10
  43876. const _FcElementResetDirs = 11
  43877. const _FcElementRescan = 12
  43878. const _FcElementPrefer = 13
  43879. const _FcElementAccept = 14
  43880. const _FcElementDefault = 15
  43881. const _FcElementFamily = 16
  43882. const _FcElementSelectfont = 17
  43883. const _FcElementAcceptfont = 18
  43884. const _FcElementRejectfont = 19
  43885. const _FcElementGlob = 20
  43886. const _FcElementPattern = 21
  43887. const _FcElementPatelt = 22
  43888. const _FcElementTest = 23
  43889. const _FcElementEdit = 24
  43890. const _FcElementInt = 25
  43891. const _FcElementDouble = 26
  43892. const _FcElementString = 27
  43893. const _FcElementMatrix = 28
  43894. const _FcElementRange = 29
  43895. const _FcElementBool = 30
  43896. const _FcElementCharSet = 31
  43897. const _FcElementLangSet = 32
  43898. const _FcElementName = 33
  43899. const _FcElementConst = 34
  43900. const _FcElementOr = 35
  43901. const _FcElementAnd = 36
  43902. const _FcElementEq = 37
  43903. const _FcElementNotEq = 38
  43904. const _FcElementLess = 39
  43905. const _FcElementLessEq = 40
  43906. const _FcElementMore = 41
  43907. const _FcElementMoreEq = 42
  43908. const _FcElementContains = 43
  43909. const _FcElementNotContains = 44
  43910. const _FcElementPlus = 45
  43911. const _FcElementMinus = 46
  43912. const _FcElementTimes = 47
  43913. const _FcElementDivide = 48
  43914. const _FcElementNot = 49
  43915. const _FcElementIf = 50
  43916. const _FcElementFloor = 51
  43917. const _FcElementCeil = 52
  43918. const _FcElementRound = 53
  43919. const _FcElementTrunc = 54
  43920. const _FcElementUnknown = 55
  43921. var _fcElementMap = [54]struct {
  43922. Fname [16]int8
  43923. Felement TFcElement
  43924. }{
  43925. 0: {
  43926. Fname: [16]int8{'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g'},
  43927. Felement: int32(_FcElementFontconfig),
  43928. },
  43929. 1: {
  43930. Fname: [16]int8{'d', 'i', 'r'},
  43931. Felement: int32(_FcElementDir),
  43932. },
  43933. 2: {
  43934. Fname: [16]int8{'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r'},
  43935. Felement: int32(_FcElementCacheDir),
  43936. },
  43937. 3: {
  43938. Fname: [16]int8{'c', 'a', 'c', 'h', 'e'},
  43939. Felement: int32(_FcElementCache),
  43940. },
  43941. 4: {
  43942. Fname: [16]int8{'i', 'n', 'c', 'l', 'u', 'd', 'e'},
  43943. Felement: int32(_FcElementInclude),
  43944. },
  43945. 5: {
  43946. Fname: [16]int8{'c', 'o', 'n', 'f', 'i', 'g'},
  43947. Felement: int32(_FcElementConfig),
  43948. },
  43949. 6: {
  43950. Fname: [16]int8{'m', 'a', 't', 'c', 'h'},
  43951. Felement: int32(_FcElementMatch),
  43952. },
  43953. 7: {
  43954. Fname: [16]int8{'a', 'l', 'i', 'a', 's'},
  43955. Felement: int32(_FcElementAlias),
  43956. },
  43957. 8: {
  43958. Fname: [16]int8{'d', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n'},
  43959. Felement: int32(_FcElementDescription),
  43960. },
  43961. 9: {
  43962. Fname: [16]int8{'r', 'e', 'm', 'a', 'p', '-', 'd', 'i', 'r'},
  43963. Felement: int32(_FcElementRemapDir),
  43964. },
  43965. 10: {
  43966. Fname: [16]int8{'r', 'e', 's', 'e', 't', '-', 'd', 'i', 'r', 's'},
  43967. Felement: int32(_FcElementResetDirs),
  43968. },
  43969. 11: {
  43970. Fname: [16]int8{'r', 'e', 's', 'c', 'a', 'n'},
  43971. Felement: int32(_FcElementRescan),
  43972. },
  43973. 12: {
  43974. Fname: [16]int8{'p', 'r', 'e', 'f', 'e', 'r'},
  43975. Felement: int32(_FcElementPrefer),
  43976. },
  43977. 13: {
  43978. Fname: [16]int8{'a', 'c', 'c', 'e', 'p', 't'},
  43979. Felement: int32(_FcElementAccept),
  43980. },
  43981. 14: {
  43982. Fname: [16]int8{'d', 'e', 'f', 'a', 'u', 'l', 't'},
  43983. Felement: int32(_FcElementDefault),
  43984. },
  43985. 15: {
  43986. Fname: [16]int8{'f', 'a', 'm', 'i', 'l', 'y'},
  43987. Felement: int32(_FcElementFamily),
  43988. },
  43989. 16: {
  43990. Fname: [16]int8{'s', 'e', 'l', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  43991. Felement: int32(_FcElementSelectfont),
  43992. },
  43993. 17: {
  43994. Fname: [16]int8{'a', 'c', 'c', 'e', 'p', 't', 'f', 'o', 'n', 't'},
  43995. Felement: int32(_FcElementAcceptfont),
  43996. },
  43997. 18: {
  43998. Fname: [16]int8{'r', 'e', 'j', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  43999. Felement: int32(_FcElementRejectfont),
  44000. },
  44001. 19: {
  44002. Fname: [16]int8{'g', 'l', 'o', 'b'},
  44003. Felement: int32(_FcElementGlob),
  44004. },
  44005. 20: {
  44006. Fname: [16]int8{'p', 'a', 't', 't', 'e', 'r', 'n'},
  44007. Felement: int32(_FcElementPattern),
  44008. },
  44009. 21: {
  44010. Fname: [16]int8{'p', 'a', 't', 'e', 'l', 't'},
  44011. Felement: int32(_FcElementPatelt),
  44012. },
  44013. 22: {
  44014. Fname: [16]int8{'t', 'e', 's', 't'},
  44015. Felement: int32(_FcElementTest),
  44016. },
  44017. 23: {
  44018. Fname: [16]int8{'e', 'd', 'i', 't'},
  44019. Felement: int32(_FcElementEdit),
  44020. },
  44021. 24: {
  44022. Fname: [16]int8{'i', 'n', 't'},
  44023. Felement: int32(_FcElementInt),
  44024. },
  44025. 25: {
  44026. Fname: [16]int8{'d', 'o', 'u', 'b', 'l', 'e'},
  44027. Felement: int32(_FcElementDouble),
  44028. },
  44029. 26: {
  44030. Fname: [16]int8{'s', 't', 'r', 'i', 'n', 'g'},
  44031. Felement: int32(_FcElementString),
  44032. },
  44033. 27: {
  44034. Fname: [16]int8{'m', 'a', 't', 'r', 'i', 'x'},
  44035. Felement: int32(_FcElementMatrix),
  44036. },
  44037. 28: {
  44038. Fname: [16]int8{'r', 'a', 'n', 'g', 'e'},
  44039. Felement: int32(_FcElementRange),
  44040. },
  44041. 29: {
  44042. Fname: [16]int8{'b', 'o', 'o', 'l'},
  44043. Felement: int32(_FcElementBool),
  44044. },
  44045. 30: {
  44046. Fname: [16]int8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  44047. Felement: int32(_FcElementCharSet),
  44048. },
  44049. 31: {
  44050. Fname: [16]int8{'l', 'a', 'n', 'g', 's', 'e', 't'},
  44051. Felement: int32(_FcElementLangSet),
  44052. },
  44053. 32: {
  44054. Fname: [16]int8{'n', 'a', 'm', 'e'},
  44055. Felement: int32(_FcElementName),
  44056. },
  44057. 33: {
  44058. Fname: [16]int8{'c', 'o', 'n', 's', 't'},
  44059. Felement: int32(_FcElementConst),
  44060. },
  44061. 34: {
  44062. Fname: [16]int8{'o', 'r'},
  44063. Felement: int32(_FcElementOr),
  44064. },
  44065. 35: {
  44066. Fname: [16]int8{'a', 'n', 'd'},
  44067. Felement: int32(_FcElementAnd),
  44068. },
  44069. 36: {
  44070. Fname: [16]int8{'e', 'q'},
  44071. Felement: int32(_FcElementEq),
  44072. },
  44073. 37: {
  44074. Fname: [16]int8{'n', 'o', 't', '_', 'e', 'q'},
  44075. Felement: int32(_FcElementNotEq),
  44076. },
  44077. 38: {
  44078. Fname: [16]int8{'l', 'e', 's', 's'},
  44079. Felement: int32(_FcElementLess),
  44080. },
  44081. 39: {
  44082. Fname: [16]int8{'l', 'e', 's', 's', '_', 'e', 'q'},
  44083. Felement: int32(_FcElementLessEq),
  44084. },
  44085. 40: {
  44086. Fname: [16]int8{'m', 'o', 'r', 'e'},
  44087. Felement: int32(_FcElementMore),
  44088. },
  44089. 41: {
  44090. Fname: [16]int8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  44091. Felement: int32(_FcElementMoreEq),
  44092. },
  44093. 42: {
  44094. Fname: [16]int8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44095. Felement: int32(_FcElementContains),
  44096. },
  44097. 43: {
  44098. Fname: [16]int8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44099. Felement: int32(_FcElementNotContains),
  44100. },
  44101. 44: {
  44102. Fname: [16]int8{'p', 'l', 'u', 's'},
  44103. Felement: int32(_FcElementPlus),
  44104. },
  44105. 45: {
  44106. Fname: [16]int8{'m', 'i', 'n', 'u', 's'},
  44107. Felement: int32(_FcElementMinus),
  44108. },
  44109. 46: {
  44110. Fname: [16]int8{'t', 'i', 'm', 'e', 's'},
  44111. Felement: int32(_FcElementTimes),
  44112. },
  44113. 47: {
  44114. Fname: [16]int8{'d', 'i', 'v', 'i', 'd', 'e'},
  44115. Felement: int32(_FcElementDivide),
  44116. },
  44117. 48: {
  44118. Fname: [16]int8{'n', 'o', 't'},
  44119. Felement: int32(_FcElementNot),
  44120. },
  44121. 49: {
  44122. Fname: [16]int8{'i', 'f'},
  44123. Felement: int32(_FcElementIf),
  44124. },
  44125. 50: {
  44126. Fname: [16]int8{'f', 'l', 'o', 'o', 'r'},
  44127. Felement: int32(_FcElementFloor),
  44128. },
  44129. 51: {
  44130. Fname: [16]int8{'c', 'e', 'i', 'l'},
  44131. Felement: int32(_FcElementCeil),
  44132. },
  44133. 52: {
  44134. Fname: [16]int8{'r', 'o', 'u', 'n', 'd'},
  44135. Felement: int32(_FcElementRound),
  44136. },
  44137. 53: {
  44138. Fname: [16]int8{'t', 'r', 'u', 'n', 'c'},
  44139. Felement: int32(_FcElementTrunc),
  44140. },
  44141. }
  44142. var _fcElementIgnoreName = [16]uintptr{
  44143. 0: __ccgo_ts + 6986,
  44144. 1: libc.UintptrFromInt32(0),
  44145. }
  44146. func _FcElementMap(tls *libc.TLS, name uintptr) (r TFcElement) {
  44147. var i int32
  44148. _ = i
  44149. i = 0
  44150. for {
  44151. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(1080)/libc.Uint32FromInt64(20))) {
  44152. break
  44153. }
  44154. if !(libc.Xstrcmp(tls, name, uintptr(unsafe.Pointer(&_fcElementMap))+uintptr(i)*20) != 0) {
  44155. return _fcElementMap[i].Felement
  44156. }
  44157. goto _1
  44158. _1:
  44159. ;
  44160. i++
  44161. }
  44162. i = 0
  44163. for {
  44164. if !(_fcElementIgnoreName[i] != libc.UintptrFromInt32(0)) {
  44165. break
  44166. }
  44167. if !(libc.Xstrncmp(tls, name, _fcElementIgnoreName[i], libc.Xstrlen(tls, _fcElementIgnoreName[i])) != 0) {
  44168. return int32(_FcElementNone)
  44169. }
  44170. goto _2
  44171. _2:
  44172. ;
  44173. i++
  44174. }
  44175. return int32(_FcElementUnknown)
  44176. }
  44177. func _FcElementReverseMap(tls *libc.TLS, e TFcElement) (r uintptr) {
  44178. var i int32
  44179. _ = i
  44180. i = 0
  44181. for {
  44182. if !(i < libc.Int32FromUint32(libc.Uint32FromInt64(1080)/libc.Uint32FromInt64(20))) {
  44183. break
  44184. }
  44185. if _fcElementMap[i].Felement == e {
  44186. return uintptr(unsafe.Pointer(&_fcElementMap)) + uintptr(i)*20
  44187. }
  44188. goto _1
  44189. _1:
  44190. ;
  44191. i++
  44192. }
  44193. return libc.UintptrFromInt32(0)
  44194. }
  44195. type TFcPStack = struct {
  44196. Fprev uintptr
  44197. Felement TFcElement
  44198. Fattr uintptr
  44199. Fstr TFcStrBuf
  44200. Fattr_buf_static [16]uintptr
  44201. }
  44202. type T_FcPStack = TFcPStack
  44203. type TFcVStackTag = int32
  44204. type __FcVStackTag = int32
  44205. const _FcVStackNone = 0
  44206. const _FcVStackString = 1
  44207. const _FcVStackFamily = 2
  44208. const _FcVStackConstant = 3
  44209. const _FcVStackGlob = 4
  44210. const _FcVStackName = 5
  44211. const _FcVStackPattern = 6
  44212. const _FcVStackPrefer = 7
  44213. const _FcVStackAccept = 8
  44214. const _FcVStackDefault = 9
  44215. const _FcVStackInteger = 10
  44216. const _FcVStackDouble = 11
  44217. const _FcVStackMatrix = 12
  44218. const _FcVStackRange = 13
  44219. const _FcVStackBool = 14
  44220. const _FcVStackCharSet = 15
  44221. const _FcVStackLangSet = 16
  44222. const _FcVStackTest = 17
  44223. const _FcVStackExpr = 18
  44224. const _FcVStackEdit = 19
  44225. type TFcVStack = struct {
  44226. Fprev uintptr
  44227. Fpstack uintptr
  44228. Ftag TFcVStackTag
  44229. Fu struct {
  44230. Finteger [0]int32
  44231. F_double [0]float64
  44232. Fmatrix [0]uintptr
  44233. Frange1 [0]uintptr
  44234. Fbool_ [0]TFcBool
  44235. Fcharset [0]uintptr
  44236. Flangset [0]uintptr
  44237. Fname [0]TFcExprName
  44238. Ftest [0]uintptr
  44239. Fqual [0]TFcQual
  44240. Fop [0]TFcOp
  44241. Fexpr [0]uintptr
  44242. Fedit [0]uintptr
  44243. Fpattern [0]uintptr
  44244. Fstring1 uintptr
  44245. F__ccgo_pad15 [4]byte
  44246. }
  44247. }
  44248. type T_FcVStack = TFcVStack
  44249. type TFcConfigParse = struct {
  44250. Fpstack uintptr
  44251. Fvstack uintptr
  44252. Ferror1 TFcBool
  44253. Fname uintptr
  44254. Fconfig uintptr
  44255. Fruleset uintptr
  44256. Fparser TXML_Parser
  44257. Fpstack_static_used uint32
  44258. Fpstack_static [8]TFcPStack
  44259. Fvstack_static_used uint32
  44260. Fvstack_static [64]TFcVStack
  44261. FscanOnly TFcBool
  44262. }
  44263. type T_FcConfigParse = TFcConfigParse
  44264. type TFcConfigSeverity = int32
  44265. type __FcConfigSeverity = int32
  44266. const _FcSevereInfo = 0
  44267. const _FcSevereWarning = 1
  44268. const _FcSevereError = 2
  44269. func _FcConfigMessage(tls *libc.TLS, parse uintptr, severe TFcConfigSeverity, fmt uintptr, va uintptr) {
  44270. bp := tls.Alloc(32)
  44271. defer tls.Free(32)
  44272. var args Tva_list
  44273. var s uintptr
  44274. _, _ = args, s
  44275. s = __ccgo_ts + 4864
  44276. args = va
  44277. switch severe {
  44278. case int32(_FcSevereInfo):
  44279. s = __ccgo_ts + 6991
  44280. case int32(_FcSevereWarning):
  44281. s = __ccgo_ts + 6996
  44282. case int32(_FcSevereError):
  44283. s = __ccgo_ts + 7004
  44284. break
  44285. }
  44286. if parse != 0 {
  44287. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fname != 0 {
  44288. 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))))
  44289. } else {
  44290. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+7041, libc.VaList(bp+8, s, libc.Int32FromUint32(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  44291. }
  44292. if severe >= int32(_FcSevereError) {
  44293. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  44294. }
  44295. } else {
  44296. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+7066, libc.VaList(bp+8, s))
  44297. }
  44298. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  44299. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1276, 0)
  44300. _ = args
  44301. }
  44302. func _FcTypeName(tls *libc.TLS, type1 TFcType) (r uintptr) {
  44303. switch type1 {
  44304. case int32(_FcTypeVoid):
  44305. return __ccgo_ts + 7082
  44306. case int32(_FcTypeInteger):
  44307. fallthrough
  44308. case int32(_FcTypeDouble):
  44309. return __ccgo_ts + 7087
  44310. case int32(_FcTypeString):
  44311. return __ccgo_ts + 7094
  44312. case int32(_FcTypeBool):
  44313. return __ccgo_ts + 7101
  44314. case int32(_FcTypeMatrix):
  44315. return __ccgo_ts + 6393
  44316. case int32(_FcTypeCharSet):
  44317. return __ccgo_ts + 6118
  44318. case int32(_FcTypeFTFace):
  44319. return __ccgo_ts + 7106
  44320. case int32(_FcTypeLangSet):
  44321. return __ccgo_ts + 7114
  44322. case int32(_FcTypeRange):
  44323. return __ccgo_ts + 7122
  44324. case int32(_FcTypeUnknown):
  44325. fallthrough
  44326. default:
  44327. return __ccgo_ts + 4864
  44328. }
  44329. return r
  44330. }
  44331. func _FcTypecheckValue(tls *libc.TLS, parse uintptr, value TFcType, type1 TFcType) {
  44332. bp := tls.Alloc(32)
  44333. defer tls.Free(32)
  44334. if value == int32(_FcTypeInteger) {
  44335. value = int32(_FcTypeDouble)
  44336. }
  44337. if type1 == int32(_FcTypeInteger) {
  44338. type1 = int32(_FcTypeDouble)
  44339. }
  44340. if value != type1 {
  44341. if value == int32(_FcTypeLangSet) && type1 == int32(_FcTypeString) || value == int32(_FcTypeString) && type1 == int32(_FcTypeLangSet) || value == int32(_FcTypeDouble) && type1 == int32(_FcTypeRange) {
  44342. return
  44343. }
  44344. if type1 == int32(_FcTypeUnknown) {
  44345. return
  44346. }
  44347. /* It's perfectly fine to use user-define elements in expressions,
  44348. * so don't warn in that case. */
  44349. if value == int32(_FcTypeUnknown) {
  44350. return
  44351. }
  44352. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7128, libc.VaList(bp+8, _FcTypeName(tls, value), _FcTypeName(tls, type1)))
  44353. }
  44354. }
  44355. func _FcTypecheckExpr(tls *libc.TLS, parse uintptr, expr uintptr, type1 TFcType) {
  44356. bp := tls.Alloc(16)
  44357. defer tls.Free(16)
  44358. var c, o uintptr
  44359. _, _ = c, o
  44360. /* If parsing the expression failed, some nodes may be NULL */
  44361. if !(expr != 0) {
  44362. return
  44363. }
  44364. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  44365. case int32(_FcOpInteger):
  44366. fallthrough
  44367. case int32(_FcOpDouble):
  44368. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  44369. case int32(_FcOpString):
  44370. _FcTypecheckValue(tls, parse, int32(_FcTypeString), type1)
  44371. case int32(_FcOpMatrix):
  44372. _FcTypecheckValue(tls, parse, int32(_FcTypeMatrix), type1)
  44373. case int32(_FcOpBool):
  44374. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44375. case int32(_FcOpCharSet):
  44376. _FcTypecheckValue(tls, parse, int32(_FcTypeCharSet), type1)
  44377. case int32(_FcOpLangSet):
  44378. _FcTypecheckValue(tls, parse, int32(_FcTypeLangSet), type1)
  44379. case int32(_FcOpRange):
  44380. _FcTypecheckValue(tls, parse, int32(_FcTypeRange), type1)
  44381. case int32(_FcOpNil):
  44382. case int32(_FcOpField):
  44383. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(expr + 4))).Fobject))
  44384. if o != 0 {
  44385. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  44386. }
  44387. case int32(_FcOpConst):
  44388. c = XIA__FcNameGetConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  44389. if c != 0 {
  44390. o = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  44391. if o != 0 {
  44392. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  44393. }
  44394. } else {
  44395. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7148, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  44396. }
  44397. case int32(_FcOpQuest):
  44398. _FcTypecheckExpr(tls, parse, (*(*struct {
  44399. Fleft uintptr
  44400. Fright uintptr
  44401. })(unsafe.Pointer(expr + 4))).Fleft, int32(_FcTypeBool))
  44402. _FcTypecheckExpr(tls, parse, (*(*struct {
  44403. Fleft uintptr
  44404. Fright uintptr
  44405. })(unsafe.Pointer((*(*struct {
  44406. Fleft uintptr
  44407. Fright uintptr
  44408. })(unsafe.Pointer(expr + 4))).Fright + 4))).Fleft, type1)
  44409. _FcTypecheckExpr(tls, parse, (*(*struct {
  44410. Fleft uintptr
  44411. Fright uintptr
  44412. })(unsafe.Pointer((*(*struct {
  44413. Fleft uintptr
  44414. Fright uintptr
  44415. })(unsafe.Pointer(expr + 4))).Fright + 4))).Fright, type1)
  44416. case int32(_FcOpAssign):
  44417. fallthrough
  44418. case int32(_FcOpAssignReplace):
  44419. case int32(_FcOpEqual):
  44420. fallthrough
  44421. case int32(_FcOpNotEqual):
  44422. fallthrough
  44423. case int32(_FcOpLess):
  44424. fallthrough
  44425. case int32(_FcOpLessEqual):
  44426. fallthrough
  44427. case int32(_FcOpMore):
  44428. fallthrough
  44429. case int32(_FcOpMoreEqual):
  44430. fallthrough
  44431. case int32(_FcOpContains):
  44432. fallthrough
  44433. case int32(_FcOpNotContains):
  44434. fallthrough
  44435. case int32(_FcOpListing):
  44436. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44437. case int32(_FcOpComma):
  44438. fallthrough
  44439. case int32(_FcOpOr):
  44440. fallthrough
  44441. case int32(_FcOpAnd):
  44442. fallthrough
  44443. case int32(_FcOpPlus):
  44444. fallthrough
  44445. case int32(_FcOpMinus):
  44446. fallthrough
  44447. case int32(_FcOpTimes):
  44448. fallthrough
  44449. case int32(_FcOpDivide):
  44450. _FcTypecheckExpr(tls, parse, (*(*struct {
  44451. Fleft uintptr
  44452. Fright uintptr
  44453. })(unsafe.Pointer(expr + 4))).Fleft, type1)
  44454. _FcTypecheckExpr(tls, parse, (*(*struct {
  44455. Fleft uintptr
  44456. Fright uintptr
  44457. })(unsafe.Pointer(expr + 4))).Fright, type1)
  44458. case int32(_FcOpNot):
  44459. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44460. _FcTypecheckExpr(tls, parse, (*(*struct {
  44461. Fleft uintptr
  44462. Fright uintptr
  44463. })(unsafe.Pointer(expr + 4))).Fleft, int32(_FcTypeBool))
  44464. case int32(_FcOpFloor):
  44465. fallthrough
  44466. case int32(_FcOpCeil):
  44467. fallthrough
  44468. case int32(_FcOpRound):
  44469. fallthrough
  44470. case int32(_FcOpTrunc):
  44471. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  44472. _FcTypecheckExpr(tls, parse, (*(*struct {
  44473. Fleft uintptr
  44474. Fright uintptr
  44475. })(unsafe.Pointer(expr + 4))).Fleft, int32(_FcTypeDouble))
  44476. default:
  44477. break
  44478. }
  44479. }
  44480. func _FcTestCreate(tls *libc.TLS, parse uintptr, kind TFcMatchKind, qual TFcQual, field uintptr, compare uint32, expr uintptr) (r uintptr) {
  44481. var o, test uintptr
  44482. _, _ = o, test
  44483. test = libc.Xmalloc(tls, uint32(20))
  44484. if test != 0 {
  44485. (*TFcTest)(unsafe.Pointer(test)).Fkind = kind
  44486. (*TFcTest)(unsafe.Pointer(test)).Fqual = qual
  44487. (*TFcTest)(unsafe.Pointer(test)).Fobject = XFcObjectFromName(tls, field)
  44488. (*TFcTest)(unsafe.Pointer(test)).Fop = libc.Int32FromUint32(compare)
  44489. (*TFcTest)(unsafe.Pointer(test)).Fexpr = expr
  44490. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject))
  44491. if o != 0 {
  44492. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  44493. }
  44494. }
  44495. return test
  44496. }
  44497. func _FcEditCreate(tls *libc.TLS, parse uintptr, object TFcObject, op TFcOp, expr uintptr, binding TFcValueBinding) (r uintptr) {
  44498. var e, o uintptr
  44499. _, _ = e, o
  44500. e = libc.Xmalloc(tls, uint32(16))
  44501. if e != 0 {
  44502. (*TFcEdit)(unsafe.Pointer(e)).Fobject = object
  44503. (*TFcEdit)(unsafe.Pointer(e)).Fop = op
  44504. (*TFcEdit)(unsafe.Pointer(e)).Fexpr = expr
  44505. (*TFcEdit)(unsafe.Pointer(e)).Fbinding = binding
  44506. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(e)).Fobject))
  44507. if o != 0 {
  44508. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  44509. }
  44510. }
  44511. return e
  44512. }
  44513. func _FcRuleCreate(tls *libc.TLS, type1 TFcRuleType, p uintptr) (r1 uintptr) {
  44514. var r uintptr
  44515. _ = r
  44516. r = libc.Xmalloc(tls, uint32(12))
  44517. if !(r != 0) {
  44518. return libc.UintptrFromInt32(0)
  44519. }
  44520. (*TFcRule)(unsafe.Pointer(r)).Fnext = libc.UintptrFromInt32(0)
  44521. (*TFcRule)(unsafe.Pointer(r)).Ftype1 = type1
  44522. switch type1 {
  44523. case int32(_FcRuleTest):
  44524. *(*uintptr)(unsafe.Pointer(r + 8)) = p
  44525. case int32(_FcRuleEdit):
  44526. *(*uintptr)(unsafe.Pointer(r + 8)) = p
  44527. case int32(_FcRuleUnknown):
  44528. fallthrough
  44529. default:
  44530. libc.Xfree(tls, r)
  44531. r = libc.UintptrFromInt32(0)
  44532. break
  44533. }
  44534. return r
  44535. }
  44536. func _FcVStackCreateAndPush(tls *libc.TLS, parse uintptr) (r uintptr) {
  44537. var new1, v2, v3 uintptr
  44538. var v1 uint32
  44539. _, _, _, _ = new1, v1, v2, v3
  44540. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used < libc.Uint32FromInt64(1280)/libc.Uint32FromInt64(20) {
  44541. v2 = parse + 1312
  44542. v1 = *(*uint32)(unsafe.Pointer(v2))
  44543. *(*uint32)(unsafe.Pointer(v2))++
  44544. new1 = parse + 1316 + uintptr(v1)*20
  44545. } else {
  44546. new1 = libc.Xmalloc(tls, uint32(20))
  44547. if !(new1 != 0) {
  44548. return uintptr(0)
  44549. }
  44550. }
  44551. (*TFcVStack)(unsafe.Pointer(new1)).Ftag = int32(_FcVStackNone)
  44552. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = uintptr(0)
  44553. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44554. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  44555. v3 = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fprev
  44556. } else {
  44557. v3 = uintptr(0)
  44558. }
  44559. (*TFcVStack)(unsafe.Pointer(new1)).Fpstack = v3
  44560. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = new1
  44561. return new1
  44562. }
  44563. func _FcVStackPushString(tls *libc.TLS, parse uintptr, tag TFcVStackTag, string1 uintptr) (r TFcBool) {
  44564. var vstack uintptr
  44565. _ = vstack
  44566. vstack = _FcVStackCreateAndPush(tls, parse)
  44567. if !(vstack != 0) {
  44568. return m_FcFalse
  44569. }
  44570. (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1 = string1
  44571. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  44572. return int32(m_FcTrue)
  44573. }
  44574. func _FcVStackPushInteger(tls *libc.TLS, parse uintptr, integer int32) (r TFcBool) {
  44575. var vstack uintptr
  44576. _ = vstack
  44577. vstack = _FcVStackCreateAndPush(tls, parse)
  44578. if !(vstack != 0) {
  44579. return m_FcFalse
  44580. }
  44581. *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = integer
  44582. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackInteger)
  44583. return int32(m_FcTrue)
  44584. }
  44585. func _FcVStackPushDouble(tls *libc.TLS, parse uintptr, _double float64) (r TFcBool) {
  44586. var vstack uintptr
  44587. _ = vstack
  44588. vstack = _FcVStackCreateAndPush(tls, parse)
  44589. if !(vstack != 0) {
  44590. return m_FcFalse
  44591. }
  44592. *(*float64)(unsafe.Pointer(vstack + 12)) = _double
  44593. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackDouble)
  44594. return int32(m_FcTrue)
  44595. }
  44596. func _FcVStackPushMatrix(tls *libc.TLS, parse uintptr, matrix uintptr) (r TFcBool) {
  44597. var vstack uintptr
  44598. _ = vstack
  44599. vstack = _FcVStackCreateAndPush(tls, parse)
  44600. if !(vstack != 0) {
  44601. return m_FcFalse
  44602. }
  44603. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  44604. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackMatrix)
  44605. return int32(m_FcTrue)
  44606. }
  44607. func _FcVStackPushRange(tls *libc.TLS, parse uintptr, range1 uintptr) (r TFcBool) {
  44608. var vstack uintptr
  44609. _ = vstack
  44610. vstack = _FcVStackCreateAndPush(tls, parse)
  44611. if !(vstack != 0) {
  44612. return m_FcFalse
  44613. }
  44614. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = range1
  44615. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackRange)
  44616. return int32(m_FcTrue)
  44617. }
  44618. func _FcVStackPushBool(tls *libc.TLS, parse uintptr, bool_ TFcBool) (r TFcBool) {
  44619. var vstack uintptr
  44620. _ = vstack
  44621. vstack = _FcVStackCreateAndPush(tls, parse)
  44622. if !(vstack != 0) {
  44623. return m_FcFalse
  44624. }
  44625. *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = bool_
  44626. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackBool)
  44627. return int32(m_FcTrue)
  44628. }
  44629. func _FcVStackPushCharSet(tls *libc.TLS, parse uintptr, charset uintptr) (r TFcBool) {
  44630. var vstack uintptr
  44631. _ = vstack
  44632. if !(charset != 0) {
  44633. return m_FcFalse
  44634. }
  44635. vstack = _FcVStackCreateAndPush(tls, parse)
  44636. if !(vstack != 0) {
  44637. return m_FcFalse
  44638. }
  44639. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = charset
  44640. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackCharSet)
  44641. return int32(m_FcTrue)
  44642. }
  44643. func _FcVStackPushLangSet(tls *libc.TLS, parse uintptr, langset uintptr) (r TFcBool) {
  44644. var vstack uintptr
  44645. _ = vstack
  44646. if !(langset != 0) {
  44647. return m_FcFalse
  44648. }
  44649. vstack = _FcVStackCreateAndPush(tls, parse)
  44650. if !(vstack != 0) {
  44651. return m_FcFalse
  44652. }
  44653. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = langset
  44654. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackLangSet)
  44655. return int32(m_FcTrue)
  44656. }
  44657. func _FcVStackPushName(tls *libc.TLS, parse uintptr, kind TFcMatchKind, object TFcObject) (r TFcBool) {
  44658. var vstack uintptr
  44659. _ = vstack
  44660. vstack = _FcVStackCreateAndPush(tls, parse)
  44661. if !(vstack != 0) {
  44662. return m_FcFalse
  44663. }
  44664. (*(*TFcExprName)(unsafe.Pointer(vstack + 12))).Fobject = object
  44665. (*(*TFcExprName)(unsafe.Pointer(vstack + 12))).Fkind = kind
  44666. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackName)
  44667. return int32(m_FcTrue)
  44668. }
  44669. func _FcVStackPushTest(tls *libc.TLS, parse uintptr, test uintptr) (r TFcBool) {
  44670. var vstack uintptr
  44671. _ = vstack
  44672. vstack = _FcVStackCreateAndPush(tls, parse)
  44673. if !(vstack != 0) {
  44674. return m_FcFalse
  44675. }
  44676. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = test
  44677. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackTest)
  44678. return int32(m_FcTrue)
  44679. }
  44680. func _FcVStackPushExpr(tls *libc.TLS, parse uintptr, tag TFcVStackTag, expr uintptr) (r TFcBool) {
  44681. var vstack uintptr
  44682. _ = vstack
  44683. vstack = _FcVStackCreateAndPush(tls, parse)
  44684. if !(vstack != 0) {
  44685. return m_FcFalse
  44686. }
  44687. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = expr
  44688. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  44689. return int32(m_FcTrue)
  44690. }
  44691. func _FcVStackPushEdit(tls *libc.TLS, parse uintptr, edit uintptr) (r TFcBool) {
  44692. var vstack uintptr
  44693. _ = vstack
  44694. vstack = _FcVStackCreateAndPush(tls, parse)
  44695. if !(vstack != 0) {
  44696. return m_FcFalse
  44697. }
  44698. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = edit
  44699. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackEdit)
  44700. return int32(m_FcTrue)
  44701. }
  44702. func _FcVStackPushPattern(tls *libc.TLS, parse uintptr, pattern uintptr) (r TFcBool) {
  44703. var vstack uintptr
  44704. _ = vstack
  44705. vstack = _FcVStackCreateAndPush(tls, parse)
  44706. if !(vstack != 0) {
  44707. return m_FcFalse
  44708. }
  44709. *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = pattern
  44710. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackPattern)
  44711. return int32(m_FcTrue)
  44712. }
  44713. func _FcVStackFetch(tls *libc.TLS, parse uintptr, off int32) (r uintptr) {
  44714. var vstack uintptr
  44715. var v2 int32
  44716. var v3 bool
  44717. _, _, _ = vstack, v2, v3
  44718. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44719. for {
  44720. if v3 = vstack != 0; v3 {
  44721. v2 = off
  44722. off--
  44723. }
  44724. if !(v3 && v2 > 0) {
  44725. break
  44726. }
  44727. goto _1
  44728. _1:
  44729. ;
  44730. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44731. }
  44732. return vstack
  44733. }
  44734. func _FcVStackPeek(tls *libc.TLS, parse uintptr) (r uintptr) {
  44735. var vstack, v1 uintptr
  44736. _, _ = vstack, v1
  44737. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44738. if vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44739. v1 = vstack
  44740. } else {
  44741. v1 = uintptr(0)
  44742. }
  44743. return v1
  44744. }
  44745. func _FcVStackPopAndDestroy(tls *libc.TLS, parse uintptr) {
  44746. var vstack uintptr
  44747. _ = vstack
  44748. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44749. if !(vstack != 0) || (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack != (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44750. return
  44751. }
  44752. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44753. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44754. case int32(_FcVStackNone):
  44755. case int32(_FcVStackName):
  44756. case int32(_FcVStackFamily):
  44757. case int32(_FcVStackString):
  44758. fallthrough
  44759. case int32(_FcVStackConstant):
  44760. fallthrough
  44761. case int32(_FcVStackGlob):
  44762. XIA__FcStrFree(tls, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  44763. case int32(_FcVStackPattern):
  44764. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44765. case int32(_FcVStackInteger):
  44766. fallthrough
  44767. case int32(_FcVStackDouble):
  44768. case int32(_FcVStackMatrix):
  44769. _FcExprMatrixFreeShallow(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44770. case int32(_FcVStackBool):
  44771. case int32(_FcVStackRange):
  44772. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44773. case int32(_FcVStackCharSet):
  44774. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44775. case int32(_FcVStackLangSet):
  44776. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44777. case int32(_FcVStackTest):
  44778. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44779. case int32(_FcVStackExpr):
  44780. fallthrough
  44781. case int32(_FcVStackPrefer):
  44782. fallthrough
  44783. case int32(_FcVStackAccept):
  44784. fallthrough
  44785. case int32(_FcVStackDefault):
  44786. _FcExprDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44787. case int32(_FcVStackEdit):
  44788. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  44789. break
  44790. }
  44791. if vstack == parse+1316+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used-uint32(1))*20 {
  44792. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used--
  44793. } else {
  44794. libc.Xfree(tls, vstack)
  44795. }
  44796. }
  44797. func _FcVStackClear(tls *libc.TLS, parse uintptr) {
  44798. for _FcVStackPeek(tls, parse) != 0 {
  44799. _FcVStackPopAndDestroy(tls, parse)
  44800. }
  44801. }
  44802. func _FcVStackElements(tls *libc.TLS, parse uintptr) (r int32) {
  44803. var h int32
  44804. var vstack uintptr
  44805. _, _ = h, vstack
  44806. h = 0
  44807. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44808. for vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44809. h++
  44810. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44811. }
  44812. return h
  44813. }
  44814. func _FcConfigSaveAttr(tls *libc.TLS, attr uintptr, buf uintptr, size_bytes int32) (r uintptr) {
  44815. var i, slen int32
  44816. var new1, s uintptr
  44817. _, _, _, _ = i, new1, s, slen
  44818. if !(attr != 0) {
  44819. return uintptr(0)
  44820. }
  44821. slen = 0
  44822. i = 0
  44823. for {
  44824. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*4)) != 0) {
  44825. break
  44826. }
  44827. slen = int32(uint32(slen) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*4))) + libc.Uint32FromInt32(1)))
  44828. goto _1
  44829. _1:
  44830. ;
  44831. i++
  44832. }
  44833. if i == 0 {
  44834. return uintptr(0)
  44835. }
  44836. slen = int32(uint32(slen) + libc.Uint32FromInt32(i+libc.Int32FromInt32(1))*libc.Uint32FromInt64(4))
  44837. if slen <= size_bytes {
  44838. new1 = buf
  44839. } else {
  44840. new1 = libc.Xmalloc(tls, libc.Uint32FromInt32(slen))
  44841. if !(new1 != 0) {
  44842. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+7175, 0)
  44843. return uintptr(0)
  44844. }
  44845. }
  44846. s = new1 + uintptr(i+libc.Int32FromInt32(1))*4
  44847. i = 0
  44848. for {
  44849. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*4)) != 0) {
  44850. break
  44851. }
  44852. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*4)) = s
  44853. libc.Xstrcpy(tls, s, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*4)))
  44854. s += uintptr(libc.Xstrlen(tls, s) + uint32(1))
  44855. goto _2
  44856. _2:
  44857. ;
  44858. i++
  44859. }
  44860. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*4)) = uintptr(0)
  44861. return new1
  44862. }
  44863. func _FcPStackPush(tls *libc.TLS, parse uintptr, element TFcElement, attr uintptr) (r TFcBool) {
  44864. var new1, v2 uintptr
  44865. var v1 uint32
  44866. _, _, _ = new1, v1, v2
  44867. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used < libc.Uint32FromInt64(1280)/libc.Uint32FromInt64(160) {
  44868. v2 = parse + 28
  44869. v1 = *(*uint32)(unsafe.Pointer(v2))
  44870. *(*uint32)(unsafe.Pointer(v2))++
  44871. new1 = parse + 32 + uintptr(v1)*160
  44872. } else {
  44873. new1 = libc.Xmalloc(tls, uint32(160))
  44874. if !(new1 != 0) {
  44875. return m_FcFalse
  44876. }
  44877. }
  44878. (*TFcPStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  44879. (*TFcPStack)(unsafe.Pointer(new1)).Felement = element
  44880. (*TFcPStack)(unsafe.Pointer(new1)).Fattr = _FcConfigSaveAttr(tls, attr, new1+96, int32(64))
  44881. XFcStrBufInit(tls, new1+12, uintptr(0), 0)
  44882. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = new1
  44883. return int32(m_FcTrue)
  44884. }
  44885. func _FcPStackPop(tls *libc.TLS, parse uintptr) (r TFcBool) {
  44886. bp := tls.Alloc(16)
  44887. defer tls.Free(16)
  44888. var attrs, old uintptr
  44889. _, _ = attrs, old
  44890. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44891. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7189, 0)
  44892. return m_FcFalse
  44893. }
  44894. /* Don't check the attributes for FcElementNone */
  44895. if (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement != int32(_FcElementNone) && (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr != 0 {
  44896. /* Warn about unused attrs. */
  44897. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  44898. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  44899. if *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) != 0 {
  44900. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7209, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(attrs))))
  44901. }
  44902. attrs += uintptr(2) * 4
  44903. }
  44904. }
  44905. _FcVStackClear(tls, parse)
  44906. old = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  44907. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = (*TFcPStack)(unsafe.Pointer(old)).Fprev
  44908. XFcStrBufDestroy(tls, old+12)
  44909. if (*TFcPStack)(unsafe.Pointer(old)).Fattr != 0 && (*TFcPStack)(unsafe.Pointer(old)).Fattr != old+96 {
  44910. libc.Xfree(tls, (*TFcPStack)(unsafe.Pointer(old)).Fattr)
  44911. }
  44912. if old == parse+32+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used-uint32(1))*160 {
  44913. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used--
  44914. } else {
  44915. libc.Xfree(tls, old)
  44916. }
  44917. return int32(m_FcTrue)
  44918. }
  44919. func _FcConfigParseInit(tls *libc.TLS, parse uintptr, name uintptr, config uintptr, parser TXML_Parser, enabled TFcBool) (r TFcBool) {
  44920. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = uintptr(0)
  44921. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used = uint32(0)
  44922. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = uintptr(0)
  44923. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used = uint32(0)
  44924. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = m_FcFalse
  44925. (*TFcConfigParse)(unsafe.Pointer(parse)).Fname = name
  44926. (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig = config
  44927. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, name)
  44928. (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser = parser
  44929. (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly = libc.BoolInt32(!(enabled != 0))
  44930. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, enabled)
  44931. return int32(m_FcTrue)
  44932. }
  44933. func _FcConfigCleanup(tls *libc.TLS, parse uintptr) {
  44934. for (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  44935. _FcPStackPop(tls, parse)
  44936. }
  44937. XFcRuleSetDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset)
  44938. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = libc.UintptrFromInt32(0)
  44939. }
  44940. func _FcConfigGetAttribute(tls *libc.TLS, parse uintptr, attr uintptr) (r uintptr) {
  44941. var attrs uintptr
  44942. _ = attrs
  44943. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44944. return uintptr(0)
  44945. }
  44946. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  44947. if !(attrs != 0) {
  44948. return uintptr(0)
  44949. }
  44950. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  44951. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(attrs)), attr) != 0) {
  44952. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) = uint8('\000') /* Mark as used. */
  44953. return *(*uintptr)(unsafe.Pointer(attrs + 1*4))
  44954. }
  44955. attrs += uintptr(2) * 4
  44956. }
  44957. return uintptr(0)
  44958. }
  44959. func __get_real_paths_from_prefix(tls *libc.TLS, parse uintptr, path uintptr, prefix uintptr) (r uintptr) {
  44960. bp := tls.Alloc(32)
  44961. defer tls.Free(32)
  44962. var e, p, parent, retval, s uintptr
  44963. var i int32
  44964. _, _, _, _, _, _ = e, i, p, parent, retval, s
  44965. parent = libc.UintptrFromInt32(0)
  44966. retval = libc.UintptrFromInt32(0)
  44967. e = libc.UintptrFromInt32(0)
  44968. if prefix != 0 {
  44969. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7232) == 0 {
  44970. parent = XFcConfigXdgDataHome(tls)
  44971. if !(parent != 0) {
  44972. /* Home directory might be disabled */
  44973. return libc.UintptrFromInt32(0)
  44974. }
  44975. e = XFcConfigXdgDataDirs(tls)
  44976. if !(e != 0) {
  44977. XIA__FcStrFree(tls, parent)
  44978. return libc.UintptrFromInt32(0)
  44979. }
  44980. } else {
  44981. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7236) == 0 || XIA__FcStrCmp(tls, prefix, __ccgo_ts+7244) == 0 {
  44982. /* Nothing to do */
  44983. } else {
  44984. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7248) == 0 {
  44985. p = XFcStrRealPath(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname)
  44986. if !(p != 0) {
  44987. return libc.UintptrFromInt32(0)
  44988. }
  44989. parent = XIA__FcStrDirname(tls, p)
  44990. if !(parent != 0) {
  44991. libc.Xfree(tls, p)
  44992. return libc.UintptrFromInt32(0)
  44993. }
  44994. }
  44995. }
  44996. }
  44997. } else {
  44998. if !(XFcStrIsAbsoluteFilename(tls, path) != 0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path))) != int32('~') {
  44999. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7257, libc.VaList(bp+8, _FcElementReverseMap(tls, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)))
  45000. }
  45001. }
  45002. if parent != 0 {
  45003. retval = XIA__FcStrBuildFilename(tls, parent, libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  45004. XIA__FcStrFree(tls, parent)
  45005. } else {
  45006. retval = libc.Xstrdup(tls, path)
  45007. }
  45008. if !(e != 0) {
  45009. e = XIA__FcStrSetCreate(tls)
  45010. } else {
  45011. i = 0
  45012. for {
  45013. if !(i < (*TFcStrSet)(unsafe.Pointer(e)).Fnum) {
  45014. break
  45015. }
  45016. s = XIA__FcStrBuildFilename(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*4)), libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  45017. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*4)))
  45018. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*4)) = s
  45019. goto _1
  45020. _1:
  45021. ;
  45022. i++
  45023. }
  45024. }
  45025. if !(XFcStrSetInsert(tls, e, retval, 0) != 0) {
  45026. XIA__FcStrSetDestroy(tls, e)
  45027. e = libc.UintptrFromInt32(0)
  45028. }
  45029. XIA__FcStrFree(tls, retval)
  45030. return e
  45031. }
  45032. func _FcStartElement(tls *libc.TLS, userData uintptr, name uintptr, attr uintptr) {
  45033. bp := tls.Alloc(16)
  45034. defer tls.Free(16)
  45035. var element TFcElement
  45036. var parse uintptr
  45037. _, _ = element, parse
  45038. parse = userData
  45039. element = _FcElementMap(tls, name)
  45040. if element == int32(_FcElementUnknown) {
  45041. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7352, libc.VaList(bp+8, name))
  45042. }
  45043. if !(_FcPStackPush(tls, parse, element, attr) != 0) {
  45044. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45045. return
  45046. }
  45047. return
  45048. }
  45049. func _FcParseRescan(tls *libc.TLS, parse uintptr) {
  45050. var n, v1 int32
  45051. var v uintptr
  45052. _, _, _ = n, v, v1
  45053. n = _FcVStackElements(tls, parse)
  45054. for {
  45055. v1 = n
  45056. n--
  45057. if !(v1 > 0) {
  45058. break
  45059. }
  45060. v = _FcVStackFetch(tls, parse, n)
  45061. if (*TFcVStack)(unsafe.Pointer(v)).Ftag != int32(_FcVStackInteger) {
  45062. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7373, 0)
  45063. } else {
  45064. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FrescanInterval = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(v)).Fu))
  45065. }
  45066. }
  45067. }
  45068. func _FcParseInt(tls *libc.TLS, parse uintptr) {
  45069. bp := tls.Alloc(32)
  45070. defer tls.Free(32)
  45071. var l int32
  45072. var s uintptr
  45073. var _ /* end at bp+0 */ uintptr
  45074. _, _ = l, s
  45075. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45076. return
  45077. }
  45078. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45079. if !(s != 0) {
  45080. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45081. return
  45082. }
  45083. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  45084. l = libc.Xstrtol(tls, s, bp, 0)
  45085. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  45086. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7392, libc.VaList(bp+16, s))
  45087. } else {
  45088. _FcVStackPushInteger(tls, parse, l)
  45089. }
  45090. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45091. }
  45092. type Tlconv = struct {
  45093. Fdecimal_point uintptr
  45094. Fthousands_sep uintptr
  45095. Fgrouping uintptr
  45096. Fint_curr_symbol uintptr
  45097. Fcurrency_symbol uintptr
  45098. Fmon_decimal_point uintptr
  45099. Fmon_thousands_sep uintptr
  45100. Fmon_grouping uintptr
  45101. Fpositive_sign uintptr
  45102. Fnegative_sign uintptr
  45103. Fint_frac_digits int8
  45104. Ffrac_digits int8
  45105. Fp_cs_precedes int8
  45106. Fp_sep_by_space int8
  45107. Fn_cs_precedes int8
  45108. Fn_sep_by_space int8
  45109. Fp_sign_posn int8
  45110. Fn_sign_posn int8
  45111. Fint_p_cs_precedes int8
  45112. Fint_p_sep_by_space int8
  45113. Fint_n_cs_precedes int8
  45114. Fint_n_sep_by_space int8
  45115. Fint_p_sign_posn int8
  45116. Fint_n_sign_posn int8
  45117. }
  45118. func _FcStrtod(tls *libc.TLS, s uintptr, end uintptr) (r float64) {
  45119. bp := tls.Alloc(144)
  45120. defer tls.Free(144)
  45121. var decimal_point, dot, locale_data, v1 uintptr
  45122. var dlen, slen int32
  45123. var v float64
  45124. var _ /* buf at bp+0 */ [128]int8
  45125. var _ /* buf_end at bp+128 */ uintptr
  45126. _, _, _, _, _, _, _ = decimal_point, dlen, dot, locale_data, slen, v, v1
  45127. /*
  45128. * Have to swap the decimal point to match the current locale
  45129. * if that locale doesn't use 0x2e
  45130. */
  45131. locale_data = libc.Xlocaleconv(tls)
  45132. decimal_point = (*Tlconv)(unsafe.Pointer(locale_data)).Fdecimal_point
  45133. dlen = libc.Int32FromUint32(libc.Xstrlen(tls, decimal_point))
  45134. v1 = libc.Xstrchr(tls, s, int32(0x2e))
  45135. dot = v1
  45136. if v1 != 0 && (int32(*(*int8)(unsafe.Pointer(decimal_point))) != int32(0x2e) || int32(*(*int8)(unsafe.Pointer(decimal_point + 1))) != 0) {
  45137. slen = libc.Int32FromUint32(libc.Xstrlen(tls, s))
  45138. if slen+dlen > libc.Int32FromInt64(128) {
  45139. if end != 0 {
  45140. *(*uintptr)(unsafe.Pointer(end)) = s
  45141. }
  45142. v = libc.Float64FromInt32(0)
  45143. } else {
  45144. /* mantissa */
  45145. libc.Xstrncpy(tls, bp, s, libc.Uint32FromInt32(int32(dot)-int32(s)))
  45146. /* decimal point */
  45147. libc.Xstrcpy(tls, bp+uintptr(int32(dot)-int32(s)), decimal_point)
  45148. /* rest of number */
  45149. libc.Xstrcpy(tls, bp+uintptr(int32(dot)-int32(s))+uintptr(dlen), dot+uintptr(1))
  45150. *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
  45151. v = libc.Xstrtod(tls, bp, bp+128)
  45152. if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 {
  45153. *(*uintptr)(unsafe.Pointer(bp + 128)) = s + uintptr(int32(*(*uintptr)(unsafe.Pointer(bp + 128)))-t__predefined_ptrdiff_t(bp))
  45154. if *(*uintptr)(unsafe.Pointer(bp + 128)) > dot {
  45155. *(*uintptr)(unsafe.Pointer(bp + 128)) -= uintptr(dlen - int32(1))
  45156. }
  45157. }
  45158. if end != 0 {
  45159. *(*uintptr)(unsafe.Pointer(end)) = *(*uintptr)(unsafe.Pointer(bp + 128))
  45160. }
  45161. }
  45162. } else {
  45163. v = libc.Xstrtod(tls, s, end)
  45164. }
  45165. return v
  45166. }
  45167. func _FcParseDouble(tls *libc.TLS, parse uintptr) {
  45168. bp := tls.Alloc(32)
  45169. defer tls.Free(32)
  45170. var d float64
  45171. var s uintptr
  45172. var _ /* end at bp+0 */ uintptr
  45173. _, _ = d, s
  45174. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45175. return
  45176. }
  45177. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45178. if !(s != 0) {
  45179. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45180. return
  45181. }
  45182. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  45183. d = _FcStrtod(tls, s, bp)
  45184. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  45185. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7418, libc.VaList(bp+16, s))
  45186. } else {
  45187. _FcVStackPushDouble(tls, parse, d)
  45188. }
  45189. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45190. }
  45191. func _FcParseString(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  45192. var s uintptr
  45193. _ = s
  45194. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45195. return
  45196. }
  45197. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45198. if !(s != 0) {
  45199. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45200. return
  45201. }
  45202. if !(_FcVStackPushString(tls, parse, tag, s) != 0) {
  45203. XIA__FcStrFree(tls, s)
  45204. }
  45205. }
  45206. func _FcParseName(tls *libc.TLS, parse uintptr) {
  45207. bp := tls.Alloc(16)
  45208. defer tls.Free(16)
  45209. var kind TFcMatchKind
  45210. var kind_string, s uintptr
  45211. var object TFcObject
  45212. _, _, _, _ = kind, kind_string, object, s
  45213. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7443)
  45214. if !(kind_string != 0) {
  45215. kind = -libc.Int32FromInt32(1)
  45216. } else {
  45217. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7450) != 0) {
  45218. kind = int32(_FcMatchPattern)
  45219. } else {
  45220. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7458) != 0) {
  45221. kind = int32(_FcMatchFont)
  45222. } else {
  45223. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7236) != 0) {
  45224. kind = -libc.Int32FromInt32(1)
  45225. } else {
  45226. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7463, libc.VaList(bp+8, kind_string))
  45227. return
  45228. }
  45229. }
  45230. }
  45231. }
  45232. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45233. return
  45234. }
  45235. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45236. if !(s != 0) {
  45237. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45238. return
  45239. }
  45240. object = XFcObjectFromName(tls, s)
  45241. _FcVStackPushName(tls, parse, kind, object)
  45242. XIA__FcStrFree(tls, s)
  45243. }
  45244. func _FcParseMatrix(tls *libc.TLS, parse uintptr) {
  45245. bp := tls.Alloc(16)
  45246. defer tls.Free(16)
  45247. var _ /* m at bp+0 */ TFcExprMatrix
  45248. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy = _FcPopExpr(tls, parse)
  45249. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx = _FcPopExpr(tls, parse)
  45250. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy = _FcPopExpr(tls, parse)
  45251. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx = _FcPopExpr(tls, parse)
  45252. 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) {
  45253. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7488, 0)
  45254. return
  45255. }
  45256. if _FcPopExpr(tls, parse) != 0 {
  45257. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7521, 0)
  45258. } else {
  45259. _FcVStackPushMatrix(tls, parse, bp)
  45260. }
  45261. }
  45262. func _FcParseRange(tls *libc.TLS, parse uintptr) {
  45263. var count int32
  45264. var d [2]float64
  45265. var dflag TFcBool
  45266. var n [2]TFcChar32
  45267. var r, vstack, v1 uintptr
  45268. _, _, _, _, _, _, _ = count, d, dflag, n, r, vstack, v1
  45269. n = [2]TFcChar32{}
  45270. count = int32(1)
  45271. d = [2]float64{}
  45272. dflag = m_FcFalse
  45273. for {
  45274. v1 = _FcVStackPeek(tls, parse)
  45275. vstack = v1
  45276. if !(v1 != 0) {
  45277. break
  45278. }
  45279. if count < 0 {
  45280. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7553, 0)
  45281. return
  45282. }
  45283. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45284. case int32(_FcVStackInteger):
  45285. if dflag != 0 {
  45286. d[count] = float64(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45287. } else {
  45288. n[count] = libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45289. }
  45290. case int32(_FcVStackDouble):
  45291. if count == 0 && !(dflag != 0) {
  45292. d[int32(1)] = float64(n[int32(1)])
  45293. }
  45294. d[count] = *(*float64)(unsafe.Pointer(vstack + 12))
  45295. dflag = int32(m_FcTrue)
  45296. default:
  45297. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7580, 0)
  45298. if dflag != 0 {
  45299. d[count] = libc.Float64FromFloat64(0)
  45300. } else {
  45301. n[count] = uint32(0)
  45302. }
  45303. break
  45304. }
  45305. count--
  45306. _FcVStackPopAndDestroy(tls, parse)
  45307. }
  45308. if count >= 0 {
  45309. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7605, 0)
  45310. return
  45311. }
  45312. if dflag != 0 {
  45313. if d[0] > d[int32(1)] {
  45314. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7605, 0)
  45315. return
  45316. }
  45317. r = XIA__FcRangeCreateDouble(tls, d[0], d[int32(1)])
  45318. } else {
  45319. if n[0] > n[int32(1)] {
  45320. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7605, 0)
  45321. return
  45322. }
  45323. r = XIA__FcRangeCreateInteger(tls, n[0], n[int32(1)])
  45324. }
  45325. _FcVStackPushRange(tls, parse, r)
  45326. }
  45327. func _FcConfigLexBool(tls *libc.TLS, parse uintptr, bool_ uintptr) (r TFcBool) {
  45328. bp := tls.Alloc(32)
  45329. defer tls.Free(32)
  45330. var _ /* result at bp+0 */ TFcBool
  45331. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  45332. if !(XFcNameBool(tls, bool_, bp) != 0) {
  45333. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7619, libc.VaList(bp+16, bool_))
  45334. }
  45335. return *(*TFcBool)(unsafe.Pointer(bp))
  45336. }
  45337. func _FcParseBool(tls *libc.TLS, parse uintptr) {
  45338. var s uintptr
  45339. _ = s
  45340. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45341. return
  45342. }
  45343. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45344. if !(s != 0) {
  45345. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45346. return
  45347. }
  45348. _FcVStackPushBool(tls, parse, _FcConfigLexBool(tls, parse, s))
  45349. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45350. }
  45351. func _FcParseCharSet(tls *libc.TLS, parse uintptr) {
  45352. bp := tls.Alloc(16)
  45353. defer tls.Free(16)
  45354. var begin, end, i TFcChar32
  45355. var charset, vstack, v1 uintptr
  45356. var n int32
  45357. _, _, _, _, _, _, _ = begin, charset, end, i, n, vstack, v1
  45358. charset = XIA__FcCharSetCreate(tls)
  45359. n = 0
  45360. for {
  45361. v1 = _FcVStackPeek(tls, parse)
  45362. vstack = v1
  45363. if !(v1 != 0) {
  45364. break
  45365. }
  45366. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45367. case int32(_FcVStackInteger):
  45368. if !(XIA__FcCharSetAddChar(tls, charset, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))) != 0) {
  45369. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7645, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))))
  45370. } else {
  45371. n++
  45372. }
  45373. case int32(_FcVStackRange):
  45374. begin = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))).Fbegin)
  45375. end = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))).Fend)
  45376. if begin <= end {
  45377. i = begin
  45378. for {
  45379. if !(i <= end) {
  45380. break
  45381. }
  45382. if !(XIA__FcCharSetAddChar(tls, charset, i) != 0) {
  45383. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7645, libc.VaList(bp+8, i))
  45384. } else {
  45385. n++
  45386. }
  45387. goto _2
  45388. _2:
  45389. ;
  45390. i++
  45391. }
  45392. }
  45393. default:
  45394. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7671, 0)
  45395. break
  45396. }
  45397. _FcVStackPopAndDestroy(tls, parse)
  45398. }
  45399. if n > 0 {
  45400. _FcVStackPushCharSet(tls, parse, charset)
  45401. } else {
  45402. XIA__FcCharSetDestroy(tls, charset)
  45403. }
  45404. }
  45405. func _FcParseLangSet(tls *libc.TLS, parse uintptr) {
  45406. bp := tls.Alloc(16)
  45407. defer tls.Free(16)
  45408. var langset, vstack, v1 uintptr
  45409. var n int32
  45410. _, _, _, _ = langset, n, vstack, v1
  45411. langset = XIA__FcLangSetCreate(tls)
  45412. n = 0
  45413. for {
  45414. v1 = _FcVStackPeek(tls, parse)
  45415. vstack = v1
  45416. if !(v1 != 0) {
  45417. break
  45418. }
  45419. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45420. case int32(_FcVStackString):
  45421. if !(XIA__FcLangSetAdd(tls, langset, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1) != 0) {
  45422. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7698, libc.VaList(bp+8, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1))
  45423. } else {
  45424. n++
  45425. }
  45426. default:
  45427. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7718, 0)
  45428. break
  45429. }
  45430. _FcVStackPopAndDestroy(tls, parse)
  45431. }
  45432. if n > 0 {
  45433. _FcVStackPushLangSet(tls, parse, langset)
  45434. } else {
  45435. XIA__FcLangSetDestroy(tls, langset)
  45436. }
  45437. }
  45438. func _FcConfigLexBinding(tls *libc.TLS, parse uintptr, binding_string uintptr, binding_ret uintptr) (r TFcBool) {
  45439. bp := tls.Alloc(16)
  45440. defer tls.Free(16)
  45441. var binding TFcValueBinding
  45442. _ = binding
  45443. if !(binding_string != 0) {
  45444. binding = int32(_FcValueBindingWeak)
  45445. } else {
  45446. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7745) != 0) {
  45447. binding = int32(_FcValueBindingWeak)
  45448. } else {
  45449. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7750) != 0) {
  45450. binding = int32(_FcValueBindingStrong)
  45451. } else {
  45452. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7757) != 0) {
  45453. binding = int32(_FcValueBindingSame)
  45454. } else {
  45455. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7762, libc.VaList(bp+8, binding_string))
  45456. return m_FcFalse
  45457. }
  45458. }
  45459. }
  45460. }
  45461. *(*TFcValueBinding)(unsafe.Pointer(binding_ret)) = binding
  45462. return int32(m_FcTrue)
  45463. }
  45464. func _FcParseFamilies(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  45465. var expr, left, new1, vstack, v1 uintptr
  45466. _, _, _, _, _ = expr, left, new1, vstack, v1
  45467. expr = uintptr(0)
  45468. for {
  45469. v1 = _FcVStackPeek(tls, parse)
  45470. vstack = v1
  45471. if !(v1 != 0) {
  45472. break
  45473. }
  45474. if (*TFcVStack)(unsafe.Pointer(vstack)).Ftag != int32(_FcVStackFamily) {
  45475. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7783, 0)
  45476. _FcVStackPopAndDestroy(tls, parse)
  45477. continue
  45478. }
  45479. left = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45480. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45481. _FcVStackPopAndDestroy(tls, parse)
  45482. if expr != 0 {
  45483. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, int32(_FcOpComma), expr)
  45484. if !(new1 != 0) {
  45485. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45486. _FcExprDestroy(tls, left)
  45487. _FcExprDestroy(tls, expr)
  45488. break
  45489. }
  45490. expr = new1
  45491. } else {
  45492. expr = left
  45493. }
  45494. }
  45495. if expr != 0 {
  45496. if !(_FcVStackPushExpr(tls, parse, tag, expr) != 0) {
  45497. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45498. _FcExprDestroy(tls, expr)
  45499. }
  45500. }
  45501. }
  45502. func _FcParseFamily(tls *libc.TLS, parse uintptr) {
  45503. var expr, s uintptr
  45504. _, _ = expr, s
  45505. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45506. return
  45507. }
  45508. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45509. if !(s != 0) {
  45510. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45511. return
  45512. }
  45513. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  45514. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45515. if expr != 0 {
  45516. _FcVStackPushExpr(tls, parse, int32(_FcVStackFamily), expr)
  45517. }
  45518. }
  45519. func _FcParseAlias(tls *libc.TLS, parse uintptr) {
  45520. bp := tls.Alloc(16)
  45521. defer tls.Free(16)
  45522. var accept, def, edit, family, new1, prefer, r, rule, t, vstack, v1, v3 uintptr
  45523. var n, v4 int32
  45524. var _ /* binding at bp+0 */ TFcValueBinding
  45525. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = accept, def, edit, family, n, new1, prefer, r, rule, t, vstack, v1, v3, v4
  45526. family = uintptr(0)
  45527. accept = uintptr(0)
  45528. prefer = uintptr(0)
  45529. def = uintptr(0)
  45530. new1 = uintptr(0)
  45531. edit = uintptr(0)
  45532. rule = libc.UintptrFromInt32(0)
  45533. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7794), bp) != 0) {
  45534. return
  45535. }
  45536. for {
  45537. v1 = _FcVStackPeek(tls, parse)
  45538. vstack = v1
  45539. if !(v1 != 0) {
  45540. break
  45541. }
  45542. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45543. case int32(_FcVStackFamily):
  45544. if family != 0 {
  45545. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7802, 0)
  45546. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)), int32(_FcOpComma), family)
  45547. if !(new1 != 0) {
  45548. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45549. } else {
  45550. family = new1
  45551. }
  45552. } else {
  45553. new1 = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45554. }
  45555. if new1 != 0 {
  45556. family = new1
  45557. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45558. }
  45559. case int32(_FcVStackPrefer):
  45560. if prefer != 0 {
  45561. _FcExprDestroy(tls, prefer)
  45562. }
  45563. prefer = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45564. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45565. case int32(_FcVStackAccept):
  45566. if accept != 0 {
  45567. _FcExprDestroy(tls, accept)
  45568. }
  45569. accept = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45570. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45571. case int32(_FcVStackDefault):
  45572. if def != 0 {
  45573. _FcExprDestroy(tls, def)
  45574. }
  45575. def = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45576. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45577. case int32(_FcVStackTest):
  45578. if rule != 0 {
  45579. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45580. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  45581. rule = r
  45582. } else {
  45583. rule = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45584. }
  45585. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45586. default:
  45587. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7883, 0)
  45588. break
  45589. }
  45590. _FcVStackPopAndDestroy(tls, parse)
  45591. }
  45592. if !(family != 0) {
  45593. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7893, 0)
  45594. if prefer != 0 {
  45595. _FcExprDestroy(tls, prefer)
  45596. }
  45597. if accept != 0 {
  45598. _FcExprDestroy(tls, accept)
  45599. }
  45600. if def != 0 {
  45601. _FcExprDestroy(tls, def)
  45602. }
  45603. if rule != 0 {
  45604. XFcRuleDestroy(tls, rule)
  45605. }
  45606. return
  45607. }
  45608. if !(prefer != 0) && !(accept != 0) && !(def != 0) {
  45609. _FcExprDestroy(tls, family)
  45610. if rule != 0 {
  45611. XFcRuleDestroy(tls, rule)
  45612. }
  45613. return
  45614. } else {
  45615. t = _FcTestCreate(tls, parse, int32(_FcMatchPattern), int32(_FcQualAny), __ccgo_ts+5970, libc.Uint32FromInt32(int32(_FcOpEqual)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), family)
  45616. if rule != 0 {
  45617. r = rule
  45618. for {
  45619. if !((*TFcRule)(unsafe.Pointer(r)).Fnext != 0) {
  45620. break
  45621. }
  45622. goto _2
  45623. _2:
  45624. ;
  45625. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45626. }
  45627. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  45628. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45629. } else {
  45630. v3 = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  45631. rule = v3
  45632. r = v3
  45633. }
  45634. }
  45635. if prefer != 0 {
  45636. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpPrepend), prefer, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45637. if !(edit != 0) {
  45638. _FcExprDestroy(tls, prefer)
  45639. } else {
  45640. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45641. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45642. }
  45643. }
  45644. if accept != 0 {
  45645. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppend), accept, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45646. if !(edit != 0) {
  45647. _FcExprDestroy(tls, accept)
  45648. } else {
  45649. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45650. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45651. }
  45652. }
  45653. if def != 0 {
  45654. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppendLast), def, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45655. if !(edit != 0) {
  45656. _FcExprDestroy(tls, def)
  45657. } else {
  45658. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45659. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45660. }
  45661. }
  45662. v4 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, int32(_FcMatchPattern))
  45663. n = v4
  45664. if v4 == -int32(1) {
  45665. XFcRuleDestroy(tls, rule)
  45666. } else {
  45667. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  45668. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  45669. }
  45670. }
  45671. }
  45672. func _FcParseDescription(tls *libc.TLS, parse uintptr) {
  45673. var desc, domain uintptr
  45674. _, _ = desc, domain
  45675. domain = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7917)
  45676. desc = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45677. if !(desc != 0) {
  45678. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45679. return
  45680. }
  45681. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, domain, desc)
  45682. XIA__FcStrFree(tls, desc)
  45683. }
  45684. func _FcParseRemapDir(tls *libc.TLS, parse uintptr) {
  45685. bp := tls.Alloc(32)
  45686. defer tls.Free(32)
  45687. var attr, data, l, path, prefix, prefix_dirs, salt, v1 uintptr
  45688. _, _, _, _, _, _, _, _ = attr, data, l, path, prefix, prefix_dirs, salt, v1
  45689. prefix_dirs = libc.UintptrFromInt32(0)
  45690. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45691. if !(data != 0) {
  45692. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45693. return
  45694. }
  45695. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  45696. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7924, 0)
  45697. return
  45698. }
  45699. path = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7968)
  45700. if !(path != 0) {
  45701. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7976, 0)
  45702. return
  45703. }
  45704. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8005)
  45705. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  45706. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  45707. if prefix_dirs != 0 {
  45708. l = XIA__FcStrListCreate(tls, prefix_dirs)
  45709. XIA__FcStrSetDestroy(tls, prefix_dirs)
  45710. for {
  45711. v1 = XIA__FcStrListNext(tls, l)
  45712. prefix = v1
  45713. if !(v1 != 0) {
  45714. break
  45715. }
  45716. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  45717. /* nop */
  45718. } else {
  45719. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XIA__FcConfigHome(tls) != 0) {
  45720. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, path, salt) != 0) {
  45721. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8017, libc.VaList(bp+8, prefix, path))
  45722. }
  45723. }
  45724. }
  45725. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45726. }
  45727. XIA__FcStrListDone(tls, l)
  45728. }
  45729. }
  45730. func _FcParseResetDirs(tls *libc.TLS, parse uintptr) {
  45731. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) {
  45732. if !(XFcConfigResetFontDirs(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig) != 0) {
  45733. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8070, 0)
  45734. }
  45735. }
  45736. }
  45737. func _FcPopExpr(tls *libc.TLS, parse uintptr) (r uintptr) {
  45738. var expr, vstack uintptr
  45739. _, _ = expr, vstack
  45740. vstack = _FcVStackPeek(tls, parse)
  45741. expr = uintptr(0)
  45742. if !(vstack != 0) {
  45743. return uintptr(0)
  45744. }
  45745. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45746. case int32(_FcVStackNone):
  45747. case int32(_FcVStackString):
  45748. fallthrough
  45749. case int32(_FcVStackFamily):
  45750. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  45751. case int32(_FcVStackName):
  45752. expr = _FcExprCreateName(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcExprName)(unsafe.Pointer(vstack + 12)))
  45753. case int32(_FcVStackConstant):
  45754. expr = _FcExprCreateConst(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  45755. case int32(_FcVStackGlob):
  45756. /* XXX: What's the correct action here? (CDW) */
  45757. case int32(_FcVStackPrefer):
  45758. fallthrough
  45759. case int32(_FcVStackAccept):
  45760. fallthrough
  45761. case int32(_FcVStackDefault):
  45762. expr = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45763. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45764. case int32(_FcVStackInteger):
  45765. expr = _FcExprCreateInteger(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45766. case int32(_FcVStackDouble):
  45767. expr = _FcExprCreateDouble(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*float64)(unsafe.Pointer(vstack + 12)))
  45768. case int32(_FcVStackMatrix):
  45769. expr = _FcExprCreateMatrix(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45770. case int32(_FcVStackRange):
  45771. expr = _FcExprCreateRange(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45772. case int32(_FcVStackBool):
  45773. expr = _FcExprCreateBool(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45774. case int32(_FcVStackCharSet):
  45775. expr = _FcExprCreateCharSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45776. case int32(_FcVStackLangSet):
  45777. expr = _FcExprCreateLangSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45778. case int32(_FcVStackTest):
  45779. case int32(_FcVStackExpr):
  45780. expr = *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  45781. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45782. case int32(_FcVStackEdit):
  45783. default:
  45784. break
  45785. }
  45786. _FcVStackPopAndDestroy(tls, parse)
  45787. return expr
  45788. }
  45789. // C documentation
  45790. //
  45791. // /*
  45792. // * This builds a tree of binary operations. Note
  45793. // * that every operator is defined so that if only
  45794. // * a single operand is contained, the value of the
  45795. // * whole expression is the value of the operand.
  45796. // *
  45797. // * This code reduces in that case to returning that
  45798. // * operand.
  45799. // */
  45800. func _FcPopBinary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  45801. var expr, left, new1, v1 uintptr
  45802. _, _, _, _ = expr, left, new1, v1
  45803. expr = uintptr(0)
  45804. for {
  45805. v1 = _FcPopExpr(tls, parse)
  45806. left = v1
  45807. if !(v1 != 0) {
  45808. break
  45809. }
  45810. if expr != 0 {
  45811. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, op, expr)
  45812. if !(new1 != 0) {
  45813. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45814. _FcExprDestroy(tls, left)
  45815. _FcExprDestroy(tls, expr)
  45816. return uintptr(0)
  45817. }
  45818. expr = new1
  45819. } else {
  45820. expr = left
  45821. }
  45822. }
  45823. return expr
  45824. }
  45825. func _FcParseBinary(tls *libc.TLS, parse uintptr, op TFcOp) {
  45826. var expr uintptr
  45827. _ = expr
  45828. expr = _FcPopBinary(tls, parse, op)
  45829. if expr != 0 {
  45830. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  45831. }
  45832. }
  45833. /*
  45834. * This builds a a unary operator, it consumes only
  45835. * a single operand
  45836. */
  45837. func _FcPopUnary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  45838. var new1, operand, v1 uintptr
  45839. _, _, _ = new1, operand, v1
  45840. new1 = uintptr(0)
  45841. v1 = _FcPopExpr(tls, parse)
  45842. operand = v1
  45843. if v1 != 0 {
  45844. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, operand, op, uintptr(0))
  45845. if !(new1 != 0) {
  45846. _FcExprDestroy(tls, operand)
  45847. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45848. }
  45849. }
  45850. return new1
  45851. }
  45852. func _FcParseUnary(tls *libc.TLS, parse uintptr, op TFcOp) {
  45853. var expr uintptr
  45854. _ = expr
  45855. expr = _FcPopUnary(tls, parse, op)
  45856. if expr != 0 {
  45857. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  45858. }
  45859. }
  45860. func _FcParseDir(tls *libc.TLS, parse uintptr) {
  45861. bp := tls.Alloc(16)
  45862. defer tls.Free(16)
  45863. var attr, data, l, prefix, prefix_dirs, salt, v1 uintptr
  45864. _, _, _, _, _, _, _ = attr, data, l, prefix, prefix_dirs, salt, v1
  45865. prefix_dirs = libc.UintptrFromInt32(0)
  45866. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45867. if !(data != 0) {
  45868. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45869. return
  45870. }
  45871. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  45872. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8097, 0)
  45873. return
  45874. }
  45875. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8005)
  45876. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  45877. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  45878. if prefix_dirs != 0 {
  45879. l = XIA__FcStrListCreate(tls, prefix_dirs)
  45880. XIA__FcStrSetDestroy(tls, prefix_dirs)
  45881. for {
  45882. v1 = XIA__FcStrListNext(tls, l)
  45883. prefix = v1
  45884. if !(v1 != 0) {
  45885. break
  45886. }
  45887. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  45888. /* nop */
  45889. } else {
  45890. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XIA__FcConfigHome(tls) != 0) {
  45891. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, libc.UintptrFromInt32(0), salt) != 0) {
  45892. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8131, libc.VaList(bp+8, prefix))
  45893. }
  45894. }
  45895. }
  45896. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45897. }
  45898. XIA__FcStrListDone(tls, l)
  45899. }
  45900. }
  45901. func _FcParseCacheDir(tls *libc.TLS, parse uintptr) {
  45902. bp := tls.Alloc(16)
  45903. defer tls.Free(16)
  45904. var attr, data, p, prefix uintptr
  45905. var dlen, plen Tsize_t
  45906. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  45907. prefix = libc.UintptrFromInt32(0)
  45908. data = libc.UintptrFromInt32(0)
  45909. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8005)
  45910. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7232) == 0 {
  45911. prefix = XFcConfigXdgCacheHome(tls)
  45912. /* home directory might be disabled.
  45913. * simply ignore this element.
  45914. */
  45915. if !(prefix != 0) {
  45916. goto bail
  45917. }
  45918. }
  45919. data = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45920. if !(data != 0) {
  45921. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45922. data = prefix
  45923. goto bail
  45924. }
  45925. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  45926. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8170, 0)
  45927. XIA__FcStrFree(tls, data)
  45928. data = prefix
  45929. goto bail
  45930. }
  45931. if prefix != 0 {
  45932. plen = libc.Xstrlen(tls, prefix)
  45933. dlen = libc.Xstrlen(tls, data)
  45934. p = libc.Xrealloc(tls, prefix, plen+uint32(1)+dlen+uint32(1))
  45935. if !(p != 0) {
  45936. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  45937. XIA__FcStrFree(tls, prefix)
  45938. goto bail
  45939. }
  45940. prefix = p
  45941. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  45942. libc.Xmemcpy(tls, prefix+uintptr(plen+uint32(1)), data, dlen)
  45943. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint32(1)+dlen))) = uint8(0)
  45944. XIA__FcStrFree(tls, data)
  45945. data = prefix
  45946. }
  45947. if libc.Xstrlen(tls, data) == uint32(0) {
  45948. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8170, 0)
  45949. } else {
  45950. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XIA__FcConfigHome(tls) != 0) {
  45951. if !(XFcConfigAddCacheDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  45952. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8205, libc.VaList(bp+8, data))
  45953. }
  45954. }
  45955. }
  45956. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  45957. goto bail
  45958. bail:
  45959. ;
  45960. if data != 0 {
  45961. XIA__FcStrFree(tls, data)
  45962. }
  45963. }
  45964. func XFcConfigPathFini(tls *libc.TLS) {
  45965. var s uintptr
  45966. var v1, v2 int32
  45967. _, _, _ = s, v1, v2
  45968. goto retry_dir
  45969. retry_dir:
  45970. ;
  45971. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  45972. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == s {
  45973. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = libc.UintptrFromInt32(0)
  45974. v1 = libc.Int32FromInt32(m_FcTrue)
  45975. } else {
  45976. v1 = m_FcFalse
  45977. }
  45978. if !(v1 != 0) {
  45979. goto retry_dir
  45980. }
  45981. libc.Xfree(tls, s)
  45982. goto retry_conf
  45983. retry_conf:
  45984. ;
  45985. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  45986. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == s {
  45987. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = libc.UintptrFromInt32(0)
  45988. v2 = libc.Int32FromInt32(m_FcTrue)
  45989. } else {
  45990. v2 = m_FcFalse
  45991. }
  45992. if !(v2 != 0) {
  45993. goto retry_conf
  45994. }
  45995. libc.Xfree(tls, s)
  45996. }
  45997. func _FcParseInclude(tls *libc.TLS, parse uintptr) {
  45998. bp := tls.Alloc(48)
  45999. defer tls.Free(48)
  46000. var attr, filename, p, parent, parent1, prefix, ruleset, s, u, userconf, userdir uintptr
  46001. var deprecated, ignore_missing TFcBool
  46002. var dlen, plen Tsize_t
  46003. var k TFcMatchKind
  46004. var v3, v6 int32
  46005. var _ /* iter at bp+0 */ TFcPtrListIter
  46006. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = attr, deprecated, dlen, filename, ignore_missing, k, p, parent, parent1, plen, prefix, ruleset, s, u, userconf, userdir, v3, v6
  46007. ignore_missing = m_FcFalse
  46008. deprecated = m_FcFalse
  46009. prefix = libc.UintptrFromInt32(0)
  46010. userdir = libc.UintptrFromInt32(0)
  46011. userconf = libc.UintptrFromInt32(0)
  46012. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46013. if !(s != 0) {
  46014. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46015. goto bail
  46016. }
  46017. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8250)
  46018. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  46019. ignore_missing = int32(m_FcTrue)
  46020. }
  46021. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8265)
  46022. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  46023. deprecated = int32(m_FcTrue)
  46024. }
  46025. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8005)
  46026. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7232) == 0 {
  46027. prefix = XFcConfigXdgConfigHome(tls)
  46028. /* home directory might be disabled.
  46029. * simply ignore this element.
  46030. */
  46031. if !(prefix != 0) {
  46032. goto bail
  46033. }
  46034. }
  46035. if prefix != 0 {
  46036. plen = libc.Xstrlen(tls, prefix)
  46037. dlen = libc.Xstrlen(tls, s)
  46038. p = libc.Xrealloc(tls, prefix, plen+uint32(1)+dlen+uint32(1))
  46039. if !(p != 0) {
  46040. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46041. goto bail
  46042. }
  46043. prefix = p
  46044. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  46045. libc.Xmemcpy(tls, prefix+uintptr(plen+uint32(1)), s, dlen)
  46046. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint32(1)+dlen))) = uint8(0)
  46047. s = prefix
  46048. if !(XIA__FcFileIsDir(tls, s) != 0) {
  46049. goto _1
  46050. }
  46051. goto userdir
  46052. userdir:
  46053. ;
  46054. userdir = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  46055. if !(userdir != 0) {
  46056. u = libc.Xstrdup(tls, s)
  46057. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == userdir {
  46058. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = u
  46059. v3 = libc.Int32FromInt32(m_FcTrue)
  46060. } else {
  46061. v3 = m_FcFalse
  46062. }
  46063. if !(v3 != 0) {
  46064. libc.Xfree(tls, u)
  46065. goto userdir
  46066. }
  46067. userdir = u
  46068. }
  46069. goto _2
  46070. _1:
  46071. ;
  46072. if !(XFcFileIsFile(tls, s) != 0) {
  46073. goto _4
  46074. }
  46075. goto userconf
  46076. userconf:
  46077. ;
  46078. userconf = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  46079. if !(userconf != 0) {
  46080. u = libc.Xstrdup(tls, s)
  46081. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == userconf {
  46082. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = u
  46083. v6 = libc.Int32FromInt32(m_FcTrue)
  46084. } else {
  46085. v6 = m_FcFalse
  46086. }
  46087. if !(v6 != 0) {
  46088. libc.Xfree(tls, u)
  46089. goto userconf
  46090. }
  46091. userconf = u
  46092. }
  46093. goto _5
  46094. _4:
  46095. ;
  46096. /* No config dir nor file on the XDG directory spec compliant place
  46097. * so need to guess what it is supposed to be.
  46098. */
  46099. if XIA__FcStrStr(tls, s, __ccgo_ts+8276) != libc.UintptrFromInt32(0) {
  46100. goto userdir
  46101. } else {
  46102. goto userconf
  46103. }
  46104. _5:
  46105. ;
  46106. _2:
  46107. }
  46108. /* flush the ruleset into the queue */
  46109. ruleset = (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset
  46110. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fname)
  46111. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fenabled)
  46112. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdomain, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdescription)
  46113. k = int32(_FcMatchKindBegin)
  46114. for {
  46115. if !(k < int32(_FcMatchKindEnd)) {
  46116. break
  46117. }
  46118. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(ruleset + 20 + uintptr(k)*4)), bp)
  46119. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(ruleset + 20 + uintptr(k)*4)), bp) != 0 {
  46120. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 20 + uintptr(k)*4)), bp)
  46121. XFcRuleSetReference(tls, ruleset)
  46122. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 20 + uintptr(k)*4)), bp, ruleset)
  46123. }
  46124. goto _7
  46125. _7:
  46126. ;
  46127. k++
  46128. }
  46129. XFcRuleSetDestroy(tls, ruleset)
  46130. if !(__FcConfigParse(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s, libc.BoolInt32(!(ignore_missing != 0)), libc.BoolInt32(!((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0))) != 0) {
  46131. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  46132. } else {
  46133. filename = XIA__FcConfigGetFilename(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  46134. if deprecated == int32(m_FcTrue) && filename != libc.UintptrFromInt32(0) && userdir != libc.UintptrFromInt32(0) && !(XFcFileIsLink(tls, filename) != 0) {
  46135. if XIA__FcFileIsDir(tls, filename) != 0 {
  46136. parent = XIA__FcStrDirname(tls, userdir)
  46137. if !(XIA__FcFileIsDir(tls, parent) != 0) {
  46138. XFcMakeDirectory(tls, parent)
  46139. }
  46140. XIA__FcStrFree(tls, parent)
  46141. if XIA__FcFileIsDir(tls, userdir) != 0 || libc.Xrename(tls, filename, userdir) != 0 || libc.Xsymlink(tls, userdir, filename) != 0 {
  46142. if !(_warn_confd != 0) {
  46143. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8283, libc.VaList(bp+24, s, userdir))
  46144. _warn_confd = int32(m_FcTrue)
  46145. }
  46146. }
  46147. } else {
  46148. parent1 = XIA__FcStrDirname(tls, userconf)
  46149. if !(XIA__FcFileIsDir(tls, parent1) != 0) {
  46150. XFcMakeDirectory(tls, parent1)
  46151. }
  46152. XIA__FcStrFree(tls, parent1)
  46153. if XFcFileIsFile(tls, userconf) != 0 || libc.Xrename(tls, filename, userconf) != 0 || libc.Xsymlink(tls, userconf, filename) != 0 {
  46154. if !(_warn_conf != 0) {
  46155. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8283, libc.VaList(bp+24, s, userconf))
  46156. _warn_conf = int32(m_FcTrue)
  46157. }
  46158. }
  46159. }
  46160. }
  46161. if filename != 0 {
  46162. XIA__FcStrFree(tls, filename)
  46163. }
  46164. }
  46165. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46166. goto bail
  46167. bail:
  46168. ;
  46169. if prefix != 0 {
  46170. XIA__FcStrFree(tls, prefix)
  46171. }
  46172. }
  46173. var _warn_conf TFcBool
  46174. var _warn_confd TFcBool
  46175. type TFcOpMap = struct {
  46176. Fname [16]int8
  46177. Fop TFcOp
  46178. }
  46179. type T_FcOpMap = TFcOpMap
  46180. func _FcConfigLexOp(tls *libc.TLS, op uintptr, map1 uintptr, nmap int32) (r TFcOp) {
  46181. var i int32
  46182. _ = i
  46183. i = 0
  46184. for {
  46185. if !(i < nmap) {
  46186. break
  46187. }
  46188. if !(libc.Xstrcmp(tls, op, map1+uintptr(i)*20) != 0) {
  46189. return (*(*TFcOpMap)(unsafe.Pointer(map1 + uintptr(i)*20))).Fop
  46190. }
  46191. goto _1
  46192. _1:
  46193. ;
  46194. i++
  46195. }
  46196. return int32(_FcOpInvalid)
  46197. }
  46198. var _fcCompareOps = [8]TFcOpMap{
  46199. 0: {
  46200. Fname: [16]int8{'e', 'q'},
  46201. Fop: int32(_FcOpEqual),
  46202. },
  46203. 1: {
  46204. Fname: [16]int8{'n', 'o', 't', '_', 'e', 'q'},
  46205. Fop: int32(_FcOpNotEqual),
  46206. },
  46207. 2: {
  46208. Fname: [16]int8{'l', 'e', 's', 's'},
  46209. Fop: int32(_FcOpLess),
  46210. },
  46211. 3: {
  46212. Fname: [16]int8{'l', 'e', 's', 's', '_', 'e', 'q'},
  46213. Fop: int32(_FcOpLessEqual),
  46214. },
  46215. 4: {
  46216. Fname: [16]int8{'m', 'o', 'r', 'e'},
  46217. Fop: int32(_FcOpMore),
  46218. },
  46219. 5: {
  46220. Fname: [16]int8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  46221. Fop: int32(_FcOpMoreEqual),
  46222. },
  46223. 6: {
  46224. Fname: [16]int8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  46225. Fop: int32(_FcOpContains),
  46226. },
  46227. 7: {
  46228. Fname: [16]int8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  46229. Fop: int32(_FcOpNotContains),
  46230. },
  46231. }
  46232. func _FcConfigLexCompare(tls *libc.TLS, compare uintptr) (r TFcOp) {
  46233. return _FcConfigLexOp(tls, compare, uintptr(unsafe.Pointer(&_fcCompareOps)), libc.Int32FromUint32(libc.Uint32FromInt64(160)/libc.Uint32FromInt64(20)))
  46234. }
  46235. func _FcParseTest(tls *libc.TLS, parse uintptr) {
  46236. bp := tls.Alloc(32)
  46237. defer tls.Free(32)
  46238. var compare TFcOp
  46239. var compare_string, expr, iblanks_string, kind_string, name, qual_string, test uintptr
  46240. var flags int32
  46241. var kind TFcMatchKind
  46242. var qual TFcQual
  46243. var _ /* f at bp+0 */ TFcBool
  46244. _, _, _, _, _, _, _, _, _, _, _ = compare, compare_string, expr, flags, iblanks_string, kind, kind_string, name, qual, qual_string, test
  46245. flags = 0
  46246. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7443)
  46247. if !(kind_string != 0) {
  46248. kind = -libc.Int32FromInt32(1)
  46249. } else {
  46250. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7450) != 0) {
  46251. kind = int32(_FcMatchPattern)
  46252. } else {
  46253. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7458) != 0) {
  46254. kind = int32(_FcMatchFont)
  46255. } else {
  46256. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+8359) != 0) {
  46257. kind = int32(_FcMatchScan)
  46258. } else {
  46259. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7236) != 0) {
  46260. kind = -libc.Int32FromInt32(1)
  46261. } else {
  46262. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8364, libc.VaList(bp+16, kind_string))
  46263. return
  46264. }
  46265. }
  46266. }
  46267. }
  46268. }
  46269. qual_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8389)
  46270. if !(qual_string != 0) {
  46271. qual = int32(_FcQualAny)
  46272. } else {
  46273. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8394) != 0) {
  46274. qual = int32(_FcQualAny)
  46275. } else {
  46276. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8398) != 0) {
  46277. qual = int32(_FcQualAll)
  46278. } else {
  46279. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8402) != 0) {
  46280. qual = int32(_FcQualFirst)
  46281. } else {
  46282. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8408) != 0) {
  46283. qual = int32(_FcQualNotFirst)
  46284. } else {
  46285. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8418, libc.VaList(bp+16, qual_string))
  46286. return
  46287. }
  46288. }
  46289. }
  46290. }
  46291. }
  46292. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8441)
  46293. if !(name != 0) {
  46294. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8446, 0)
  46295. return
  46296. }
  46297. compare_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8464)
  46298. if !(compare_string != 0) {
  46299. compare = int32(_FcOpEqual)
  46300. } else {
  46301. compare = _FcConfigLexCompare(tls, compare_string)
  46302. if compare == int32(_FcOpInvalid) {
  46303. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8472, libc.VaList(bp+16, compare_string))
  46304. return
  46305. }
  46306. }
  46307. iblanks_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8498)
  46308. if iblanks_string != 0 {
  46309. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  46310. if !(XFcNameBool(tls, iblanks_string, bp) != 0) {
  46311. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8512, libc.VaList(bp+16, iblanks_string))
  46312. }
  46313. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  46314. flags |= int32(_FcOpFlagIgnoreBlanks)
  46315. }
  46316. }
  46317. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  46318. if !(expr != 0) {
  46319. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8544, 0)
  46320. return
  46321. }
  46322. if (*TFcExpr)(unsafe.Pointer(expr)).Fop == int32(_FcOpComma) {
  46323. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8568, 0)
  46324. }
  46325. test = _FcTestCreate(tls, parse, kind, qual, name, libc.Uint32FromInt32(compare&libc.Int32FromInt32(0xffff)|flags<<libc.Int32FromInt32(16)), expr)
  46326. if !(test != 0) {
  46327. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46328. return
  46329. }
  46330. _FcVStackPushTest(tls, parse, test)
  46331. }
  46332. var _fcModeOps = [8]TFcOpMap{
  46333. 0: {
  46334. Fname: [16]int8{'a', 's', 's', 'i', 'g', 'n'},
  46335. Fop: int32(_FcOpAssign),
  46336. },
  46337. 1: {
  46338. Fname: [16]int8{'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'p', 'l', 'a', 'c', 'e'},
  46339. Fop: int32(_FcOpAssignReplace),
  46340. },
  46341. 2: {
  46342. Fname: [16]int8{'p', 'r', 'e', 'p', 'e', 'n', 'd'},
  46343. Fop: int32(_FcOpPrepend),
  46344. },
  46345. 3: {
  46346. Fname: [16]int8{'p', 'r', 'e', 'p', 'e', 'n', 'd', '_', 'f', 'i', 'r', 's', 't'},
  46347. Fop: int32(_FcOpPrependFirst),
  46348. },
  46349. 4: {
  46350. Fname: [16]int8{'a', 'p', 'p', 'e', 'n', 'd'},
  46351. Fop: int32(_FcOpAppend),
  46352. },
  46353. 5: {
  46354. Fname: [16]int8{'a', 'p', 'p', 'e', 'n', 'd', '_', 'l', 'a', 's', 't'},
  46355. Fop: int32(_FcOpAppendLast),
  46356. },
  46357. 6: {
  46358. Fname: [16]int8{'d', 'e', 'l', 'e', 't', 'e'},
  46359. Fop: int32(_FcOpDelete),
  46360. },
  46361. 7: {
  46362. Fname: [16]int8{'d', 'e', 'l', 'e', 't', 'e', '_', 'a', 'l', 'l'},
  46363. Fop: int32(_FcOpDeleteAll),
  46364. },
  46365. }
  46366. func _FcConfigLexMode(tls *libc.TLS, mode uintptr) (r TFcOp) {
  46367. return _FcConfigLexOp(tls, mode, uintptr(unsafe.Pointer(&_fcModeOps)), libc.Int32FromUint32(libc.Uint32FromInt64(160)/libc.Uint32FromInt64(20)))
  46368. }
  46369. func _FcParseEdit(tls *libc.TLS, parse uintptr) {
  46370. bp := tls.Alloc(32)
  46371. defer tls.Free(32)
  46372. var edit, expr, mode_string, name uintptr
  46373. var mode TFcOp
  46374. var _ /* binding at bp+0 */ TFcValueBinding
  46375. _, _, _, _, _ = edit, expr, mode, mode_string, name
  46376. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8441)
  46377. if !(name != 0) {
  46378. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8646, 0)
  46379. return
  46380. }
  46381. mode_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8664)
  46382. if !(mode_string != 0) {
  46383. mode = int32(_FcOpAssign)
  46384. } else {
  46385. mode = _FcConfigLexMode(tls, mode_string)
  46386. if mode == int32(_FcOpInvalid) {
  46387. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8669, libc.VaList(bp+16, mode_string))
  46388. return
  46389. }
  46390. }
  46391. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7794), bp) != 0) {
  46392. return
  46393. }
  46394. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  46395. if (mode == int32(_FcOpDelete) || mode == int32(_FcOpDeleteAll)) && expr != libc.UintptrFromInt32(0) {
  46396. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8692, 0)
  46397. _FcExprDestroy(tls, expr)
  46398. expr = libc.UintptrFromInt32(0)
  46399. }
  46400. edit = _FcEditCreate(tls, parse, XFcObjectFromName(tls, name), mode, expr, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  46401. if !(edit != 0) {
  46402. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46403. _FcExprDestroy(tls, expr)
  46404. return
  46405. }
  46406. if !(_FcVStackPushEdit(tls, parse, edit) != 0) {
  46407. XFcEditDestroy(tls, edit)
  46408. }
  46409. }
  46410. func _FcParseMatch(tls *libc.TLS, parse uintptr) {
  46411. bp := tls.Alloc(16)
  46412. defer tls.Free(16)
  46413. var kind TFcMatchKind
  46414. var kind_name, r, rule, vstack, v1 uintptr
  46415. var n, v2 int32
  46416. _, _, _, _, _, _, _, _ = kind, kind_name, n, r, rule, vstack, v1, v2
  46417. rule = libc.UintptrFromInt32(0)
  46418. kind_name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7443)
  46419. if !(kind_name != 0) {
  46420. kind = int32(_FcMatchPattern)
  46421. } else {
  46422. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7450) != 0) {
  46423. kind = int32(_FcMatchPattern)
  46424. } else {
  46425. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7458) != 0) {
  46426. kind = int32(_FcMatchFont)
  46427. } else {
  46428. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+8359) != 0) {
  46429. kind = int32(_FcMatchScan)
  46430. } else {
  46431. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8754, libc.VaList(bp+8, kind_name))
  46432. return
  46433. }
  46434. }
  46435. }
  46436. }
  46437. for {
  46438. v1 = _FcVStackPeek(tls, parse)
  46439. vstack = v1
  46440. if !(v1 != 0) {
  46441. break
  46442. }
  46443. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46444. case int32(_FcVStackTest):
  46445. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46446. if rule != 0 {
  46447. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  46448. }
  46449. rule = r
  46450. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46451. case int32(_FcVStackEdit):
  46452. 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) {
  46453. _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)))
  46454. if rule != 0 {
  46455. XFcRuleDestroy(tls, rule)
  46456. }
  46457. return
  46458. }
  46459. r = _FcRuleCreate(tls, int32(_FcRuleEdit), *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46460. if rule != 0 {
  46461. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  46462. }
  46463. rule = r
  46464. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46465. default:
  46466. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8839, 0)
  46467. break
  46468. }
  46469. _FcVStackPopAndDestroy(tls, parse)
  46470. }
  46471. if !(rule != 0) {
  46472. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8861, 0)
  46473. return
  46474. }
  46475. v2 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, kind)
  46476. n = v2
  46477. if v2 == -int32(1) {
  46478. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46479. XFcRuleDestroy(tls, rule)
  46480. } else {
  46481. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  46482. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  46483. }
  46484. }
  46485. }
  46486. func _FcParseAcceptRejectFont(tls *libc.TLS, parse uintptr, element TFcElement) {
  46487. var vstack, v1 uintptr
  46488. _, _ = vstack, v1
  46489. for {
  46490. v1 = _FcVStackPeek(tls, parse)
  46491. vstack = v1
  46492. if !(v1 != 0) {
  46493. break
  46494. }
  46495. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46496. case int32(_FcVStackGlob):
  46497. 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) {
  46498. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46499. } else {
  46500. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1 != 0 {
  46501. XIA__FcStrFree(tls, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  46502. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46503. }
  46504. }
  46505. case int32(_FcVStackPattern):
  46506. 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) {
  46507. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46508. } else {
  46509. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) != 0 {
  46510. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46511. }
  46512. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46513. }
  46514. default:
  46515. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8902, 0)
  46516. break
  46517. }
  46518. _FcVStackPopAndDestroy(tls, parse)
  46519. }
  46520. }
  46521. func _FcPopValue(tls *libc.TLS, parse uintptr) (r TFcValue) {
  46522. bp := tls.Alloc(32)
  46523. defer tls.Free(32)
  46524. var vstack uintptr
  46525. var _ /* value at bp+0 */ TFcValue
  46526. _ = vstack
  46527. vstack = _FcVStackPeek(tls, parse)
  46528. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  46529. if !(vstack != 0) {
  46530. return *(*TFcValue)(unsafe.Pointer(bp))
  46531. }
  46532. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46533. case int32(_FcVStackString):
  46534. *(*uintptr)(unsafe.Pointer(bp + 4)) = libc.Xstrdup(tls, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1)
  46535. if *(*uintptr)(unsafe.Pointer(bp + 4)) != 0 {
  46536. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  46537. }
  46538. case int32(_FcVStackConstant):
  46539. if XIA__FcNameConstant(tls, (*TFcVStack)(unsafe.Pointer(vstack)).Fu.Fstring1, bp+4) != 0 {
  46540. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  46541. }
  46542. case int32(_FcVStackInteger):
  46543. *(*int32)(unsafe.Pointer(bp + 4)) = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  46544. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  46545. case int32(_FcVStackDouble):
  46546. *(*float64)(unsafe.Pointer(bp + 4)) = *(*float64)(unsafe.Pointer(vstack + 12))
  46547. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  46548. case int32(_FcVStackBool):
  46549. *(*TFcBool)(unsafe.Pointer(bp + 4)) = *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  46550. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  46551. case int32(_FcVStackCharSet):
  46552. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46553. if *(*uintptr)(unsafe.Pointer(bp + 4)) != 0 {
  46554. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  46555. }
  46556. case int32(_FcVStackLangSet):
  46557. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46558. if *(*uintptr)(unsafe.Pointer(bp + 4)) != 0 {
  46559. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  46560. }
  46561. case int32(_FcVStackRange):
  46562. *(*uintptr)(unsafe.Pointer(bp + 4)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  46563. if *(*uintptr)(unsafe.Pointer(bp + 4)) != 0 {
  46564. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  46565. }
  46566. default:
  46567. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8920, libc.VaList(bp+24, (*TFcVStack)(unsafe.Pointer(vstack)).Ftag))
  46568. break
  46569. }
  46570. _FcVStackPopAndDestroy(tls, parse)
  46571. return *(*TFcValue)(unsafe.Pointer(bp))
  46572. }
  46573. func _FcParsePatelt(tls *libc.TLS, parse uintptr) {
  46574. var name, pattern uintptr
  46575. var value TFcValue
  46576. _, _, _ = name, pattern, value
  46577. pattern = XIA__FcPatternCreate(tls)
  46578. if !(pattern != 0) {
  46579. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46580. return
  46581. }
  46582. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8441)
  46583. if !(name != 0) {
  46584. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8947, 0)
  46585. XIA__FcPatternDestroy(tls, pattern)
  46586. return
  46587. }
  46588. for {
  46589. value = _FcPopValue(tls, parse)
  46590. if value.Ftype1 == int32(_FcTypeVoid) {
  46591. break
  46592. }
  46593. if !(XIA__FcPatternAdd(tls, pattern, name, value, int32(m_FcTrue)) != 0) {
  46594. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46595. XIA__FcValueDestroy(tls, value)
  46596. break
  46597. }
  46598. XIA__FcValueDestroy(tls, value)
  46599. goto _1
  46600. _1:
  46601. }
  46602. _FcVStackPushPattern(tls, parse, pattern)
  46603. }
  46604. func _FcParsePattern(tls *libc.TLS, parse uintptr) {
  46605. var pattern, vstack, v1 uintptr
  46606. _, _, _ = pattern, vstack, v1
  46607. pattern = XIA__FcPatternCreate(tls)
  46608. if !(pattern != 0) {
  46609. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46610. return
  46611. }
  46612. for {
  46613. v1 = _FcVStackPeek(tls, parse)
  46614. vstack = v1
  46615. if !(v1 != 0) {
  46616. break
  46617. }
  46618. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46619. case int32(_FcVStackPattern):
  46620. if !(XFcPatternAppend(tls, pattern, *(*uintptr)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))) != 0) {
  46621. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46622. XIA__FcPatternDestroy(tls, pattern)
  46623. return
  46624. }
  46625. default:
  46626. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8976, 0)
  46627. break
  46628. }
  46629. _FcVStackPopAndDestroy(tls, parse)
  46630. }
  46631. _FcVStackPushPattern(tls, parse, pattern)
  46632. }
  46633. func _FcEndElement(tls *libc.TLS, userData uintptr, name uintptr) {
  46634. var data, parse uintptr
  46635. _, _ = data, parse
  46636. parse = userData
  46637. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  46638. return
  46639. }
  46640. switch (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement {
  46641. case int32(_FcElementNone):
  46642. case int32(_FcElementFontconfig):
  46643. case int32(_FcElementDir):
  46644. _FcParseDir(tls, parse)
  46645. case int32(_FcElementCacheDir):
  46646. _FcParseCacheDir(tls, parse)
  46647. case int32(_FcElementCache):
  46648. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46649. if !(data != 0) {
  46650. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46651. break
  46652. }
  46653. /* discard this data; no longer used */
  46654. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12)
  46655. case int32(_FcElementInclude):
  46656. _FcParseInclude(tls, parse)
  46657. case int32(_FcElementConfig):
  46658. case int32(_FcElementMatch):
  46659. _FcParseMatch(tls, parse)
  46660. case int32(_FcElementAlias):
  46661. _FcParseAlias(tls, parse)
  46662. case int32(_FcElementDescription):
  46663. _FcParseDescription(tls, parse)
  46664. case int32(_FcElementRemapDir):
  46665. _FcParseRemapDir(tls, parse)
  46666. case int32(_FcElementResetDirs):
  46667. _FcParseResetDirs(tls, parse)
  46668. case int32(_FcElementRescan):
  46669. _FcParseRescan(tls, parse)
  46670. case int32(_FcElementPrefer):
  46671. _FcParseFamilies(tls, parse, int32(_FcVStackPrefer))
  46672. case int32(_FcElementAccept):
  46673. _FcParseFamilies(tls, parse, int32(_FcVStackAccept))
  46674. case int32(_FcElementDefault):
  46675. _FcParseFamilies(tls, parse, int32(_FcVStackDefault))
  46676. case int32(_FcElementFamily):
  46677. _FcParseFamily(tls, parse)
  46678. case int32(_FcElementTest):
  46679. _FcParseTest(tls, parse)
  46680. case int32(_FcElementEdit):
  46681. _FcParseEdit(tls, parse)
  46682. case int32(_FcElementInt):
  46683. _FcParseInt(tls, parse)
  46684. case int32(_FcElementDouble):
  46685. _FcParseDouble(tls, parse)
  46686. case int32(_FcElementString):
  46687. _FcParseString(tls, parse, int32(_FcVStackString))
  46688. case int32(_FcElementMatrix):
  46689. _FcParseMatrix(tls, parse)
  46690. case int32(_FcElementRange):
  46691. _FcParseRange(tls, parse)
  46692. case int32(_FcElementBool):
  46693. _FcParseBool(tls, parse)
  46694. case int32(_FcElementCharSet):
  46695. _FcParseCharSet(tls, parse)
  46696. case int32(_FcElementLangSet):
  46697. _FcParseLangSet(tls, parse)
  46698. case int32(_FcElementSelectfont):
  46699. case int32(_FcElementAcceptfont):
  46700. fallthrough
  46701. case int32(_FcElementRejectfont):
  46702. _FcParseAcceptRejectFont(tls, parse, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)
  46703. case int32(_FcElementGlob):
  46704. _FcParseString(tls, parse, int32(_FcVStackGlob))
  46705. case int32(_FcElementPattern):
  46706. _FcParsePattern(tls, parse)
  46707. case int32(_FcElementPatelt):
  46708. _FcParsePatelt(tls, parse)
  46709. case int32(_FcElementName):
  46710. _FcParseName(tls, parse)
  46711. case int32(_FcElementConst):
  46712. _FcParseString(tls, parse, int32(_FcVStackConstant))
  46713. case int32(_FcElementOr):
  46714. _FcParseBinary(tls, parse, int32(_FcOpOr))
  46715. case int32(_FcElementAnd):
  46716. _FcParseBinary(tls, parse, int32(_FcOpAnd))
  46717. case int32(_FcElementEq):
  46718. _FcParseBinary(tls, parse, int32(_FcOpEqual))
  46719. case int32(_FcElementNotEq):
  46720. _FcParseBinary(tls, parse, int32(_FcOpNotEqual))
  46721. case int32(_FcElementLess):
  46722. _FcParseBinary(tls, parse, int32(_FcOpLess))
  46723. case int32(_FcElementLessEq):
  46724. _FcParseBinary(tls, parse, int32(_FcOpLessEqual))
  46725. case int32(_FcElementMore):
  46726. _FcParseBinary(tls, parse, int32(_FcOpMore))
  46727. case int32(_FcElementMoreEq):
  46728. _FcParseBinary(tls, parse, int32(_FcOpMoreEqual))
  46729. case int32(_FcElementContains):
  46730. _FcParseBinary(tls, parse, int32(_FcOpContains))
  46731. case int32(_FcElementNotContains):
  46732. _FcParseBinary(tls, parse, int32(_FcOpNotContains))
  46733. case int32(_FcElementPlus):
  46734. _FcParseBinary(tls, parse, int32(_FcOpPlus))
  46735. case int32(_FcElementMinus):
  46736. _FcParseBinary(tls, parse, int32(_FcOpMinus))
  46737. case int32(_FcElementTimes):
  46738. _FcParseBinary(tls, parse, int32(_FcOpTimes))
  46739. case int32(_FcElementDivide):
  46740. _FcParseBinary(tls, parse, int32(_FcOpDivide))
  46741. case int32(_FcElementNot):
  46742. _FcParseUnary(tls, parse, int32(_FcOpNot))
  46743. case int32(_FcElementIf):
  46744. _FcParseBinary(tls, parse, int32(_FcOpQuest))
  46745. case int32(_FcElementFloor):
  46746. _FcParseUnary(tls, parse, int32(_FcOpFloor))
  46747. case int32(_FcElementCeil):
  46748. _FcParseUnary(tls, parse, int32(_FcOpCeil))
  46749. case int32(_FcElementRound):
  46750. _FcParseUnary(tls, parse, int32(_FcOpRound))
  46751. case int32(_FcElementTrunc):
  46752. _FcParseUnary(tls, parse, int32(_FcOpTrunc))
  46753. case int32(_FcElementUnknown):
  46754. break
  46755. }
  46756. _FcPStackPop(tls, parse)
  46757. }
  46758. func _FcCharacterData(tls *libc.TLS, userData uintptr, s uintptr, len1 int32) {
  46759. var parse uintptr
  46760. _ = parse
  46761. parse = userData
  46762. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  46763. return
  46764. }
  46765. if !(XFcStrBufData(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+12, s, len1) != 0) {
  46766. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7175, 0)
  46767. }
  46768. }
  46769. func _FcStartDoctypeDecl(tls *libc.TLS, userData uintptr, doctypeName uintptr, sysid uintptr, pubid uintptr, has_internal_subset int32) {
  46770. bp := tls.Alloc(16)
  46771. defer tls.Free(16)
  46772. var parse uintptr
  46773. _ = parse
  46774. parse = userData
  46775. if libc.Xstrcmp(tls, doctypeName, __ccgo_ts+1826) != 0 {
  46776. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+9000, libc.VaList(bp+8, doctypeName))
  46777. }
  46778. }
  46779. func _FcEndDoctypeDecl(tls *libc.TLS, userData uintptr) {
  46780. }
  46781. func _FcSortCmpStr(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  46782. var as, bs uintptr
  46783. _, _ = as, bs
  46784. as = *(*uintptr)(unsafe.Pointer(a))
  46785. bs = *(*uintptr)(unsafe.Pointer(b))
  46786. return XIA__FcStrCmp(tls, as, bs)
  46787. }
  46788. func _FcConfigParseAndLoadDir(tls *libc.TLS, config uintptr, name uintptr, dir uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  46789. bp := tls.Alloc(16)
  46790. defer tls.Free(16)
  46791. var base, d, e, file, files, v1 uintptr
  46792. var d_len, i int32
  46793. var ret TFcBool
  46794. var v2 bool
  46795. _, _, _, _, _, _, _, _, _, _ = base, d, d_len, e, file, files, i, ret, v1, v2
  46796. ret = int32(m_FcTrue)
  46797. d = libc.Xopendir(tls, dir)
  46798. if !(d != 0) {
  46799. if complain != 0 {
  46800. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9021, libc.VaList(bp+8, name))
  46801. }
  46802. ret = m_FcFalse
  46803. goto bail0
  46804. }
  46805. /* freed below */
  46806. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint32(1)+uint32(m_FC_MAX_FILE_LEN)+uint32(1))
  46807. if !(file != 0) {
  46808. ret = m_FcFalse
  46809. goto bail1
  46810. }
  46811. libc.Xstrcpy(tls, file, dir)
  46812. libc.Xstrcat(tls, file, __ccgo_ts+1495)
  46813. base = file + uintptr(libc.Xstrlen(tls, file))
  46814. files = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  46815. if !(files != 0) {
  46816. ret = m_FcFalse
  46817. goto bail2
  46818. }
  46819. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  46820. libc.Xprintf(tls, __ccgo_ts+9049, libc.VaList(bp+8, dir))
  46821. }
  46822. if load != 0 {
  46823. XFcConfigAddConfigDir(tls, config, dir)
  46824. }
  46825. for {
  46826. if v2 = ret != 0; v2 {
  46827. v1 = libc.Xreaddir(tls, d)
  46828. e = v1
  46829. }
  46830. if !(v2 && v1 != 0) {
  46831. break
  46832. }
  46833. /*
  46834. * Add all files of the form [0-9]*.conf
  46835. */
  46836. d_len = libc.Int32FromUint32(libc.Xstrlen(tls, e+19))
  46837. if int32('0') <= int32(*(*int8)(unsafe.Pointer(e + 19))) && int32(*(*int8)(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 {
  46838. libc.Xstrcpy(tls, base, e+19)
  46839. if !(XIA__FcStrSetAdd(tls, files, file) != 0) {
  46840. ret = m_FcFalse
  46841. goto bail3
  46842. }
  46843. }
  46844. }
  46845. if ret != 0 {
  46846. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint32(4), __ccgo_fp(_FcSortCmpStr))
  46847. i = 0
  46848. for {
  46849. if !(ret != 0 && i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  46850. break
  46851. }
  46852. ret = __FcConfigParse(tls, config, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*4)), complain, load)
  46853. goto _3
  46854. _3:
  46855. ;
  46856. i++
  46857. }
  46858. }
  46859. goto bail3
  46860. bail3:
  46861. ;
  46862. XIA__FcStrSetDestroy(tls, files)
  46863. goto bail2
  46864. bail2:
  46865. ;
  46866. libc.Xfree(tls, file)
  46867. goto bail1
  46868. bail1:
  46869. ;
  46870. libc.Xclosedir(tls, d)
  46871. goto bail0
  46872. bail0:
  46873. ;
  46874. return libc.BoolInt32(ret != 0 || !(complain != 0))
  46875. return r
  46876. }
  46877. func _FcConfigParseAndLoadFromMemoryInternal(tls *libc.TLS, config uintptr, filename uintptr, buffer uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  46878. bp := tls.Alloc(2656)
  46879. defer tls.Free(2656)
  46880. var buf, s, v1, v3, v4 uintptr
  46881. var buflen, len1 Tsize_t
  46882. var error1 TFcBool
  46883. var k TFcMatchKind
  46884. var p TXML_Parser
  46885. var _ /* iter at bp+2612 */ TFcPtrListIter
  46886. var _ /* liter at bp+2600 */ TFcPtrListIter
  46887. var _ /* parse at bp+0 */ TFcConfigParse
  46888. _, _, _, _, _, _, _, _, _, _ = buf, buflen, error1, k, len1, p, s, v1, v3, v4
  46889. error1 = int32(m_FcTrue)
  46890. if !(buffer != 0) {
  46891. return m_FcFalse
  46892. }
  46893. len1 = libc.Xstrlen(tls, buffer)
  46894. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  46895. if load != 0 {
  46896. v1 = __ccgo_ts + 9080
  46897. } else {
  46898. v1 = __ccgo_ts + 9088
  46899. }
  46900. libc.Xprintf(tls, __ccgo_ts+9097, libc.VaList(bp+2632, v1, filename))
  46901. }
  46902. p = libexpat.XXML_ParserCreate(tls, __ccgo_ts+9122)
  46903. if !(p != 0) {
  46904. goto bail1
  46905. }
  46906. if !(_FcConfigParseInit(tls, bp, filename, config, p, load) != 0) {
  46907. goto bail2
  46908. }
  46909. libexpat.XXML_SetUserData(tls, p, bp)
  46910. libexpat.XXML_SetDoctypeDeclHandler(tls, p, __ccgo_fp(_FcStartDoctypeDecl), __ccgo_fp(_FcEndDoctypeDecl))
  46911. libexpat.XXML_SetElementHandler(tls, p, __ccgo_fp(_FcStartElement), __ccgo_fp(_FcEndElement))
  46912. libexpat.XXML_SetCharacterDataHandler(tls, p, __ccgo_fp(_FcCharacterData))
  46913. s = buffer
  46914. for cond := true; cond; cond = buflen != uint32(0) {
  46915. buf = libexpat.XXML_GetBuffer(tls, p, int32(m_BUFSIZ))
  46916. if !(buf != 0) {
  46917. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+9128, 0)
  46918. goto bail3
  46919. }
  46920. if len1 > uint32(m_BUFSIZ) {
  46921. buflen = uint32(m_BUFSIZ)
  46922. len1 -= uint32(m_BUFSIZ)
  46923. } else {
  46924. buflen = len1
  46925. len1 = uint32(0)
  46926. }
  46927. libc.Xmemcpy(tls, buf, s, buflen)
  46928. s = s + uintptr(buflen)
  46929. if !(libexpat.XXML_ParseBuffer(tls, p, libc.Int32FromUint32(buflen), libc.BoolInt32(buflen == uint32(0))) != 0) {
  46930. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+2028, libc.VaList(bp+2632, libexpat.XXML_ErrorString(tls, libexpat.XXML_GetErrorCode(tls, p))))
  46931. goto bail3
  46932. }
  46933. }
  46934. error1 = (*(*TFcConfigParse)(unsafe.Pointer(bp))).Ferror1
  46935. if load != 0 {
  46936. k = int32(_FcMatchKindBegin)
  46937. for {
  46938. if !(k < int32(_FcMatchKindEnd)) {
  46939. break
  46940. }
  46941. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 20 + uintptr(k)*4)), bp+2612)
  46942. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 20 + uintptr(k)*4)), bp+2612) != 0 {
  46943. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 20 + uintptr(k)*4)), bp+2612)
  46944. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  46945. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 20 + uintptr(k)*4)), bp+2612, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  46946. }
  46947. goto _2
  46948. _2:
  46949. ;
  46950. k++
  46951. }
  46952. }
  46953. XFcPtrListIterInitAtLast(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+2600)
  46954. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  46955. XFcPtrListIterAdd(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+2600, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  46956. goto bail3
  46957. bail3:
  46958. ;
  46959. _FcConfigCleanup(tls, bp)
  46960. goto bail2
  46961. bail2:
  46962. ;
  46963. libexpat.XXML_ParserFree(tls, p)
  46964. goto bail1
  46965. bail1:
  46966. ;
  46967. if error1 != 0 && complain != 0 {
  46968. if load != 0 {
  46969. v3 = __ccgo_ts + 9152
  46970. } else {
  46971. v3 = __ccgo_ts + 8359
  46972. }
  46973. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9157, libc.VaList(bp+2632, v3, filename))
  46974. return m_FcFalse
  46975. }
  46976. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  46977. if load != 0 {
  46978. v4 = __ccgo_ts + 9080
  46979. } else {
  46980. v4 = __ccgo_ts + 9088
  46981. }
  46982. libc.Xprintf(tls, __ccgo_ts+9187, libc.VaList(bp+2632, v4, filename))
  46983. }
  46984. return int32(m_FcTrue)
  46985. }
  46986. func __FcConfigParse(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  46987. bp := tls.Alloc(2256)
  46988. defer tls.Free(2256)
  46989. var complain_again, ret TFcBool
  46990. var errno_, fd, len1 int32
  46991. var filename, realfilename, v1, v2, v3, v4 uintptr
  46992. var _ /* buf at bp+84 */ [1024]int8
  46993. var _ /* ebuf at bp+1192 */ [1025]int8
  46994. var _ /* reason at bp+1108 */ TFcStrBuf
  46995. var _ /* sbuf at bp+0 */ TFcStrBuf
  46996. _, _, _, _, _, _, _, _, _, _, _ = complain_again, errno_, fd, filename, len1, realfilename, ret, v1, v2, v3, v4
  46997. filename = libc.UintptrFromInt32(0)
  46998. realfilename = libc.UintptrFromInt32(0)
  46999. ret = m_FcFalse
  47000. complain_again = complain
  47001. XFcStrBufInit(tls, bp+1108, libc.UintptrFromInt32(0), 0)
  47002. filename = XIA__FcConfigGetFilename(tls, config, name)
  47003. if !(filename != 0) {
  47004. XFcStrBufString(tls, bp+1108, __ccgo_ts+9217)
  47005. if name != 0 {
  47006. v1 = name
  47007. } else {
  47008. v1 = __ccgo_ts + 4404
  47009. }
  47010. XFcStrBufString(tls, bp+1108, v1)
  47011. goto bail0
  47012. }
  47013. realfilename = XFcConfigRealFilename(tls, config, name)
  47014. if !(realfilename != 0) {
  47015. XFcStrBufString(tls, bp+1108, __ccgo_ts+9232)
  47016. if name != 0 {
  47017. v2 = name
  47018. } else {
  47019. v2 = __ccgo_ts + 4404
  47020. }
  47021. XFcStrBufString(tls, bp+1108, v2)
  47022. goto bail0
  47023. }
  47024. if XIA__FcStrSetMember(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0 {
  47025. XIA__FcStrFree(tls, filename)
  47026. XIA__FcStrFree(tls, realfilename)
  47027. return int32(m_FcTrue)
  47028. }
  47029. if load != 0 {
  47030. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, filename) != 0) {
  47031. goto bail0
  47032. }
  47033. }
  47034. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0) {
  47035. goto bail0
  47036. }
  47037. if XIA__FcFileIsDir(tls, realfilename) != 0 {
  47038. ret = _FcConfigParseAndLoadDir(tls, config, name, realfilename, complain, load)
  47039. XIA__FcStrFree(tls, filename)
  47040. XIA__FcStrFree(tls, realfilename)
  47041. return ret
  47042. }
  47043. XFcStrBufInit(tls, bp, libc.UintptrFromInt32(0), 0)
  47044. fd = XFcOpen(tls, realfilename, m_O_RDONLY2, 0)
  47045. if fd == -int32(1) {
  47046. XFcStrBufString(tls, bp+1108, __ccgo_ts+9251)
  47047. XFcStrBufString(tls, bp+1108, realfilename)
  47048. goto bail1
  47049. }
  47050. for cond := true; cond; cond = len1 != 0 {
  47051. len1 = libc.Xread(tls, fd, bp+84, uint32(m_BUFSIZ))
  47052. if len1 < 0 {
  47053. errno_ = *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))
  47054. libc.Xstrerror_r(tls, errno_, bp+1192, uint32(m_BUFSIZ))
  47055. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9267, libc.VaList(bp+2232, realfilename, bp+1192, errno_))
  47056. libc.Xclose(tls, fd)
  47057. goto bail1
  47058. }
  47059. XFcStrBufData(tls, bp, bp+84, len1)
  47060. }
  47061. libc.Xclose(tls, fd)
  47062. ret = _FcConfigParseAndLoadFromMemoryInternal(tls, config, filename, XFcStrBufDoneStatic(tls, bp), complain, load)
  47063. complain_again = m_FcFalse /* no need to reclaim here */
  47064. goto bail1
  47065. bail1:
  47066. ;
  47067. XFcStrBufDestroy(tls, bp)
  47068. goto bail0
  47069. bail0:
  47070. ;
  47071. if filename != 0 {
  47072. XIA__FcStrFree(tls, filename)
  47073. }
  47074. if realfilename != 0 {
  47075. XIA__FcStrFree(tls, realfilename)
  47076. }
  47077. if !(complain != 0) {
  47078. return int32(m_FcTrue)
  47079. }
  47080. if !(ret != 0) && complain_again != 0 {
  47081. if name != 0 {
  47082. if load != 0 {
  47083. v3 = __ccgo_ts + 9152
  47084. } else {
  47085. v3 = __ccgo_ts + 8359
  47086. }
  47087. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9313, libc.VaList(bp+2232, v3, name, XFcStrBufDoneStatic(tls, bp+1108)))
  47088. } else {
  47089. if load != 0 {
  47090. v4 = __ccgo_ts + 9152
  47091. } else {
  47092. v4 = __ccgo_ts + 8359
  47093. }
  47094. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9344, libc.VaList(bp+2232, v4, XFcStrBufDoneStatic(tls, bp+1108)))
  47095. }
  47096. XFcStrBufDestroy(tls, bp+1108)
  47097. return m_FcFalse
  47098. }
  47099. XFcStrBufDestroy(tls, bp+1108)
  47100. return ret
  47101. }
  47102. func XFcConfigParseOnly(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  47103. return __FcConfigParse(tls, config, name, complain, m_FcFalse)
  47104. }
  47105. func XIA__FcConfigParseAndLoad(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  47106. return __FcConfigParse(tls, config, name, complain, int32(m_FcTrue))
  47107. }
  47108. var XFcConfigParseAndLoad = XIA__FcConfigParseAndLoad
  47109. func XIA__FcConfigParseAndLoadFromMemory(tls *libc.TLS, config uintptr, buffer uintptr, complain TFcBool) (r TFcBool) {
  47110. return _FcConfigParseAndLoadFromMemoryInternal(tls, config, __ccgo_ts+9378, buffer, complain, int32(m_FcTrue))
  47111. }
  47112. var XFcConfigParseAndLoadFromMemory = XIA__FcConfigParseAndLoadFromMemory
  47113. const m_FC_DIR_SEPARATOR6 = '/'
  47114. // C documentation
  47115. //
  47116. // /* only used internally */
  47117. func _ftglue_qalloc(tls *libc.TLS, memory TFT_Memory, size TFT_ULong, perror uintptr) (r TFT_Pointer) {
  47118. var block TFT_Pointer
  47119. var error1 TFT_Error
  47120. _, _ = block, error1
  47121. error1 = 0
  47122. block = libc.UintptrFromInt32(0)
  47123. if size > uint32(0) {
  47124. block = (*(*func(*libc.TLS, TFT_Memory, int32) uintptr)(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Falloc})))(tls, memory, libc.Int32FromUint32(size))
  47125. if !(block != 0) {
  47126. error1 = int32(_FT_Err_Out_Of_Memory)
  47127. }
  47128. }
  47129. *(*TFT_Error)(unsafe.Pointer(perror)) = error1
  47130. return block
  47131. }
  47132. func _ftglue_free(tls *libc.TLS, memory TFT_Memory, block TFT_Pointer) {
  47133. if block != 0 {
  47134. (*(*func(*libc.TLS, TFT_Memory, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Ffree})))(tls, memory, block)
  47135. }
  47136. }
  47137. func Xftglue_stream_pos(tls *libc.TLS, stream TFT_Stream) (r TFT_Long) {
  47138. return libc.Int32FromUint32((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  47139. }
  47140. func Xftglue_stream_seek(tls *libc.TLS, stream TFT_Stream, pos TFT_Long) (r TFT_Error) {
  47141. var error1 TFT_Error
  47142. _ = error1
  47143. error1 = 0
  47144. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47145. 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 {
  47146. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  47147. }
  47148. } else {
  47149. if pos < 0 || libc.Uint32FromInt32(pos) > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  47150. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  47151. }
  47152. }
  47153. if !(error1 != 0) {
  47154. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos = libc.Uint32FromInt32(pos)
  47155. }
  47156. return error1
  47157. }
  47158. func Xftglue_stream_frame_enter(tls *libc.TLS, stream TFT_Stream, count TFT_ULong) (r TFT_Error) {
  47159. bp := tls.Alloc(16)
  47160. defer tls.Free(16)
  47161. var memory TFT_Memory
  47162. var read_bytes TFT_ULong
  47163. var _ /* error at bp+0 */ TFT_Error
  47164. _, _ = memory, read_bytes
  47165. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Ok)
  47166. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47167. /* allocate the frame in memory */
  47168. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  47169. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = _ftglue_qalloc(tls, memory, count, bp)
  47170. if *(*TFT_Error)(unsafe.Pointer(bp)) != libc.Int32FromInt32(0) {
  47171. goto Exit
  47172. }
  47173. /* read it */
  47174. 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)
  47175. if read_bytes < count {
  47176. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  47177. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  47178. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  47179. }
  47180. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  47181. }
  47182. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase
  47183. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  47184. *(*uint32)(unsafe.Pointer(stream + 8)) += read_bytes
  47185. } else {
  47186. /* check current and new position */
  47187. 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 {
  47188. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  47189. goto Exit
  47190. }
  47191. /* set cursor */
  47192. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase + uintptr((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  47193. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  47194. *(*uint32)(unsafe.Pointer(stream + 8)) += count
  47195. }
  47196. goto Exit
  47197. Exit:
  47198. ;
  47199. return *(*TFT_Error)(unsafe.Pointer(bp))
  47200. }
  47201. func Xftglue_stream_frame_exit(tls *libc.TLS, stream TFT_Stream) {
  47202. var memory TFT_Memory
  47203. _ = memory
  47204. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47205. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  47206. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  47207. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  47208. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  47209. }
  47210. }
  47211. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = uintptr(0)
  47212. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = uintptr(0)
  47213. }
  47214. func Xftglue_face_goto_table(tls *libc.TLS, face TFT_Face, the_tag TFT_ULong, stream TFT_Stream) (r TFT_Error) {
  47215. var checksum, offset, sig, size, start, tag TFT_ULong
  47216. var count, nn TFT_UInt
  47217. var error1, v1, v10, v11, v2, v4, v5, v7, v8 TFT_Error
  47218. var v12, v3, v6, v9 bool
  47219. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = checksum, count, error1, nn, offset, sig, size, start, tag, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9
  47220. if !!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int32FromInt32(1)<<libc.Int32FromInt32(3)) != 0) {
  47221. error1 = int32(_FT_Err_Invalid_Face_Handle)
  47222. } else {
  47223. /* parse the directory table directly, without using
  47224. * FreeType's built-in data structures
  47225. */
  47226. offset = uint32(0)
  47227. v1 = Xftglue_stream_seek(tls, stream, 0)
  47228. error1 = v1
  47229. if v3 = v1 != 0; !v3 {
  47230. v2 = Xftglue_stream_frame_enter(tls, stream, uint32(4))
  47231. error1 = v2
  47232. }
  47233. if v3 || v2 != 0 {
  47234. goto Exit
  47235. }
  47236. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47237. 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))))))
  47238. Xftglue_stream_frame_exit(tls, stream)
  47239. 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'))) {
  47240. /* deal with TrueType collections */
  47241. v4 = Xftglue_stream_seek(tls, stream, int32(12)+(*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_index*int32(4))
  47242. error1 = v4
  47243. if v6 = v4 != 0; !v6 {
  47244. v5 = Xftglue_stream_frame_enter(tls, stream, uint32(4))
  47245. error1 = v5
  47246. }
  47247. if v6 || v5 != 0 {
  47248. goto Exit
  47249. }
  47250. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47251. 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))))))
  47252. Xftglue_stream_frame_exit(tls, stream)
  47253. }
  47254. v7 = Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(offset+uint32(4)))
  47255. error1 = v7
  47256. if v9 = v7 != 0; !v9 {
  47257. v8 = Xftglue_stream_frame_enter(tls, stream, uint32(2))
  47258. error1 = v8
  47259. }
  47260. if v9 || v8 != 0 {
  47261. goto Exit
  47262. }
  47263. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(2)
  47264. 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)))))))
  47265. Xftglue_stream_frame_exit(tls, stream)
  47266. v10 = Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(offset+uint32(12)))
  47267. error1 = v10
  47268. if v12 = v10 != 0; !v12 {
  47269. v11 = Xftglue_stream_frame_enter(tls, stream, count*uint32(16))
  47270. error1 = v11
  47271. }
  47272. if v12 || v11 != 0 {
  47273. goto Exit
  47274. }
  47275. nn = uint32(0)
  47276. for {
  47277. if !(nn < count) {
  47278. break
  47279. }
  47280. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47281. 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))))))
  47282. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47283. 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))))))
  47284. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47285. 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))))))
  47286. *(*uintptr)(unsafe.Pointer(stream + 32)) += uintptr(4)
  47287. 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))))))
  47288. if tag == the_tag {
  47289. error1 = Xftglue_stream_seek(tls, stream, libc.Int32FromUint32(start))
  47290. goto FoundIt
  47291. }
  47292. goto _13
  47293. _13:
  47294. ;
  47295. nn++
  47296. }
  47297. error1 = int32(_FT_Err_Table_Missing)
  47298. goto FoundIt
  47299. FoundIt:
  47300. ;
  47301. Xftglue_stream_frame_exit(tls, stream)
  47302. }
  47303. goto Exit
  47304. Exit:
  47305. ;
  47306. return error1
  47307. }
  47308. func __ccgo_fp(f interface{}) uintptr {
  47309. type iface [2]uintptr
  47310. return (*iface)(unsafe.Pointer(&f))[1]
  47311. }
  47312. var XFcDebugVal int32
  47313. var XFcIdentityMatrix = TFcMatrix{
  47314. Fxx: libc.Float64FromInt32(1),
  47315. Fyy: libc.Float64FromInt32(1),
  47316. }
  47317. var Xdefault_langs uintptr
  47318. var Xother_types uintptr
  47319. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  47320. 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-le32d4.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"